diff --git a/AdvancedRoomFeatures.html b/AdvancedRoomFeatures.html deleted file mode 100644 index 8968304ab..000000000 --- a/AdvancedRoomFeatures.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - Advanced room features - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Advanced room features

-

This section describes slightly more advanced things you can do with the rooms.

-
-
-

Character scaling

-

AGS supports scaling of characters, where the character can appear to get smaller as he walks away from the screen. Character scaling is supported as part of the walkable areas in a room.

-

The reason why you have multiple colors available for the walkable areas is because you can set a zoom level for each color, which defines how large the character will be while he is in that area. The default for all walkable areas is 100%, i.e. full size. However, you can adjust it using the "Walkable Areas" mode to anywhere from 10% (one-tenth size) to 200% (double size).

-

The scaling settings can affect all characters and objects in the game. For characters, it is on by default, but you can disable the scaling for an individual character by setting the "UseRoomAreaScaling" option in that character's properties.

-

For objects, it is off by default, but you can make a specific object obey scaling levels by setting its "UseRoomAreaScaling" option.

-

If you set the "UseContinuousScaling" option, then rather than just specifying a zoom level for the whole walkable area, you specify a min and max zoom level. These specify the scaling at the top and bottom of the walkable area. When the game is run, AGS will interpolate these values to make the character smoothly scale down from one value to another as he walks towards the back or front of the screen.

-
-
-
-

Scrolling

-

It's easy to create scrolling rooms like the ones used in LucasArts games like Monkey Island (TM) and Day of the Tentacle.

-

To do this, just import a background scene that is larger than your game resolution. For example, in a 320x200 game, 500x200 is a good size for LucasArts-type rooms.

-

That's all you have to do. Draw on the walkable areas, hotspots and so on, as normal, and then save the room. The screen will scroll to follow the main character around.

-

With the script command Camera.SetAt, you can manually scroll the room around if you don't want it to follow the character. The default camera is accessible using Game.Camera.

-
-
-
-

Importing a file as the walkable area mask

-

AGS has the ability to import an external BMP or PNG file to use as the walkable-area, hotspot or walk-behind area mask. If you don't like the way you have to draw these in the editor itself, you can draw them in another program and then import them. This is also useful if you are converting a game you were making with another game-creation system into AGS.

-

To use the feature, click the "Import Mask" button (in the toolbar) in the relevant mode of the Areas editor. There are some restrictions to how this file must be drawn: it must be the exact same size as the background scene, and it must be in 16-color (4-bit) or 256-color (8-bit). Then, color 0 on the bitmap signifies transparency and colors 1-15 are used as the respective hotspot/walk-behind/walkable area numbers.

-

IMPORTANT: Do NOT use any color numbers above 15 on the mask bitmap. Use only palette indexes 0 to 15.

-
-
-
-

Animating background scenes

-

If you want to have a lot of animation on the screen, you will come across two problems if you try to do it using objects:

-
    -
  • There is a limit on the number of objects per screen, so you may not be able to animate everything that you want to that way.
  • -
  • Objects slow down the game - the more objects on the screen, the slower the game runs.
  • -
-

The solution to these problems is to use an animating background scene.

-

How it works is this: Each room can have from 1 to 5 backgrounds. Normally, each room just has one background. However, you can import up to four extra backgrounds in each room, and if you do so then the game will cycle through them, giving the effect of animation.

-

This gives two main advantages - you can animate the entire screen, and due to the way the engine works, it doesn't slow down the game at all.

-

To import a second background for a room, load the room into the editor, pull down the "Main background" list box, and choose the "Import new background" option. Choose the file that's storing the background and you're done.

-

To delete a background, select it then click the "Delete" button.

-

You define the speed at which the backgrounds will animate by setting the "BackgroundAnimationDelay" option in the property grid for the room. The default is 5, which cycles background every 5 frames.

-

NOTE: All the background scenes must be the same size.

-

NOTE: (256-color only) The backgrounds frames each have their own palette (unless you select "Share palette with main background" before importing). This means that when the current frame switches in-game, the palette will get reset - therefore you can't use special palette effects such as CyclePalette or SetPalRGB on screens with animating backgrounds.

-
-
-
-

Lighting effects

-

You can control the brightness of your characters, courtesy of the "LightLevel" setting for room Regions.

-

By default, this is 100%, but you can change it from 0% to 200%. This number is the light level in the current walkable area. Smaller numbers are darker, so that 0% is pitch black and 200% is very bright.

-

This feature could be useful if, for example, you have a street lamp on your scene so when the character walks under it they get brighter, or if a wall is shading the character from the light they can get darker.

-

You can alternatively use a color tint for the region. If you select this, then you can enter Red, Green and Blue values as numbers from 0-255, which reflect the color you want the area to be tinted to. The Amount setting determines to what extent characters will be tinted, and is from 0-100.

-

NOTE: Light levels only work when the character's graphic is at the same color depth as the background (i.e. a 256-color character in a hi-color game won't get lightened).

-

NOTE: In a 256-color game, only darkening areas (light level < 100%) will work. Also, depending on the room palette the quality of the darkening will vary in 256-color games.

-

NOTE: Light levels affect characters and objects, depending on the "UseRoomAreaLighting" setting for each one. They do not affect overlays or the background scene.

-

Now you are ready to read in-depth about setting up your game.

-

Next Reading: Setting Up Your Game

-

Return to Tutorials Index: Tutorials Index

-
-
-
- - - - - -
- - diff --git a/AnonymousUsageInfo.html b/AnonymousUsageInfo.html deleted file mode 100644 index 53a8c130d..000000000 --- a/AnonymousUsageInfo.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - Anonymous usage information - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Anonymous usage information

-

NOTE: this feature is temporarily disabled.

-

AGS contains an option to send anonymous usage information to the AGS website. But what is it all about and why would you want to do so?

-

What information does it send?

-

The following is the information that AGS currently sends to the server.

-
    -
  • AGS version
  • -
  • Windows version
  • -
  • .NET Framework version
  • -
  • Screen resolution
  • -
-

That's it. Nothing else is sent, no personal details or scripts from your games or anything like that.

-

Why should I enable this?

-

By having a clearer picture of what types of system people are running, it allows us to make better decisions about future versions of AGS. Here are some examples of where it will be useful:

-
    -
  • A serious bug is found that affects an older version of AGS. By knowing how many people are still using that version, we can decide whether to fix it or not.
  • -
  • We want to add a feature to the AGS Editor that would only work on newer versions of Windows. By knowing how many people are running these, it gives us a clear idea of how many people would stand to benefit and therefore whether it's worth doing.
  • -
  • The AGS Editor GUIs can be designed to work with the screen resolutions that most people are using. By knowing what the minimum resolution is that people still use, that guides how the editor is designed.
  • -
-

If you object to this very basic information being submitted to AGS, you can turn it off in the Preferences window. However, by doing so you may lose out in the long run if AGS features are developed that will not work on your system.

-

When does it send this information?

-

The editor contacts the AGS website once a month and sends it these details.

-

Will games that I make contact the AGS website?

-

No, only the editor does this.

-
-
- - - - - -
- - diff --git a/AudioChannel.html b/AudioChannel.html deleted file mode 100644 index 07c2298d5..000000000 --- a/AudioChannel.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - AudioChannel functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

AudioChannel functions and properties

-

The AudioChannel instance represents a currently playing audio file. You can use this instance to check the status of playing sounds, and adjust them.

-
-
-

AudioChannel.Pause

-
AudioChannel.Pause()
-

Pauses the playback on this channel

-

Example:

-
AudioChannel *channel = aMusic.Play();
-Display("After this message the audio will pause, but we may unpause soon")
-channel.Pause();
-Display("After this message the audio will keep playing")
-channel.Resume();
-

will start playing the aMusic audio clip, and then pause after the first message and resume after the second message.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: AudioChannel.Resume

-
-
-
-

AudioChannel.Resume

-
AudioChannel.Resume()
-

Resumes the paused audio channel.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(20);
-channel.Pause();
-Wait(20);
-channel.Resume();
-

will start playing the aExplosion audio clip, wait 20 ticks, pause, wait 20 ticks in silence, then continue playing.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: AudioChannel.Pause

-
-
-
-

AudioChannel.Seek

-

(Formerly known as SeekMIDIPosition, which is now obsolete)
(Formerly known as SeekMODPattern, which is now obsolete)
(Formerly known as SeekMP3PosMillis, which is now obsolete)

-
AudioChannel.Seek(int position)
-

Seeks the audio clip that is currently playing on this channel to position.

-

What position represents depends on the FileType of the audio clip:

-
    -
  • MIDI - the beat number
  • -
  • MOD/XM/S3M - the pattern number
  • -
  • WAV/VOC - the sample number (e.g. in a 22050 Hz sound, 22050 = 1 second)
  • -
  • OGG/MP3 - milliseconds offset
  • -
-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(40);
-channel.Seek(0);
-

will start playing the aExplosion audio clip, wait for a second, then seek it back to the start.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.SeekMs, AudioChannel.Position, AudioChannel.PositionMs

-
-
-
-

AudioChannel.SeekMs

-
AudioChannel.SeekMs(int position)
-

Seeks the audio clip that is currently playing on this channel to position in milliseconds.

-

Example:

-
AudioChannel *channel = aMusic.Play();
-Wait(40);
-channel.SeekMs(10000);
-

will start playing the aMusic audio clip, wait for a second, then jump to 10 seconds position and continue from there.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: AudioChannel.Seek, AudioChannel.Position, AudioChannel.PositionMs

-
-
-
-

AudioChannel.SetRoomLocation

-

(Formerly part of PlayAmbientSound, which is now obsolete)

-
AudioChannel.SetRoomLocation(int x, int y)
-

Sets the currently playing audio to be a directional sound, emanating from (x,y).

-

The volume of the channel will be dynamically adjusted depending on how close the player character is to the co-ordinates. Therefore, as the player walks closer the volume will increase, and as they walk away the volume will decrease.

-

The channel's Volume setting sets the maximum possible volume when the player is standing on the specified co-ordinates.

-

Pass the co-ordinates as (0,0) to remove the directional effect and return this channel to playing at its normal volume.

-

Example:

-
AudioChannel *channel = aMachine.Play();
-channel.SetRoomLocation(oMachine.X, oMachine.Y);
-

will start playing the aMachine audio clip, and set it at the location of the oMachine room object.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.Volume, Character.ScaleVolume

-
-
-
-

AudioChannel.Speed

-
int AudioChannel.Speed
-

Gets/sets the playing audio clip's playback speed. The value is defined in clip's milliseconds per second: 1000 is default, meaning 1000 of clip's ms in 1 real second (scale 1:1). Set < 1000 for slower play and > 1000 for faster play.

-

Example:

-
AudioChannel *channel = aFunnyTalk.Play();
-channel.Speed = 2000;
-

plays aFunnyTalk clip at the double speed.

-

Compatibility: Supported by AGS 3.4.0 and later versions. Prior to AGS 3.6.0 was working only for MP3 and OGG clips.

-
-
-
-

AudioChannel.Stop

-

(Formerly known as StopAmbientSound, which is now obsolete)
(Formerly known as StopChannel, which is now obsolete)

-
AudioChannel.Stop()
-

Stops the sound that is currently playing on this audio channel.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(40);
-channel.Stop();
-

will start playing the aExplosion audio clip, wait for a second, then stop it.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.StopAudio

-
-
-
-

AudioChannel.ID

-
readonly int AudioChannel.ID
-

Gets the Channel ID of this audio channel. You will not normally need to use this, but it can be used for inter-operating with legacy commands such as StopChannel.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Display("Explosion playing on channel %d", channel.ID);
-

will start playing the aExplosion audio clip, and display which channel it is playing on.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-
-
-
-

AudioChannel.IsPaused

-
readonly bool AudioChannel.IsPaused
-

Gets whether this audio channel is currently paused. Returns true if it is, or false if it is not.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: AudioChannel.Pause, AudioChannel.Resume

-
-
-
-

AudioChannel.IsPlaying

-

(Formerly known as IsChannelPlaying, which is now obsolete)

-
readonly bool AudioChannel.IsPlaying
-

Gets whether this audio channel is currently playing a sound. Returns true if it is, or false if it is not.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-while (channel.IsPlaying) Wait(1);
-Display("Finished playing the explosion");
-

will start playing the aExplosion audio clip, and wait until it finishes.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioChannel.LengthMs

-
readonly int AudioChannel.LengthMs
-

Gets the length of the audio playing on this channel, in milliseconds.

-

This is supported by all file types, but with MIDI music it is only accurate to the nearest second.

-

If this channel is not currently playing any audio, returns 0.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Display("The Explosion sound is %d ms long.", channel.LengthMs);
-

will start playing the aExplosion audio clip, then display its length.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.PositionMs

-
-
-
-

AudioChannel.Panning

-
int AudioChannel.Panning
-

Gets/sets the panning of this audio channel.

-

Panning allows you to adjust the stereo balance of the audio. The default is 0, which is centered and will play at the same volume on both speakers. However you can adjust this between -100 (fully left) to 100 (fully right) to adjust the balance between the speakers.

-

IMPORTANT: only mono clips support panning at the moment.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-channel.Panning = -100;
-

will start playing the aExplosion audio clip on the left speaker only.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioChannel.PlayingClip

-

(Formerly known as GetCurrentMusic, which is now obsolete)

-
readonly AudioClip* AudioChannel.PlayingClip
-

Gets the audio clip that is playing on this channel. This allows you to find out the type of the clip, and other information.

-

Returns null if there is no sound currently playing on this channel.

-

Example:

-
AudioChannel *channel = System.AudioChannels[2];
-if (channel.PlayingClip == null)
-{
-    Display("Nothing is playing on channel 2");
-}
-else
-{
-    Display("Channel 2 is playing a clip of type %d", channel.PlayingClip.Type);
-}
-

will display what is currently playing on audio channel 2.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play, System.AudioChannels

-
-
-
-

AudioChannel.Position

-

(Formerly known as GetMIDIPosition, which is now obsolete)
(Formerly known as GetMODPattern, which is now obsolete)
(Formerly known as GetMP3PosMillis, which is now obsolete)

-
readonly int AudioChannel.Position
-

Gets the current position of the audio playing on this channel.

-

What position represents depends on the FileType of the audio clip:

-
    -
  • MIDI - the beat number
  • -
  • MOD/XM/S3M - the pattern number
  • -
  • WAV/VOC - the sample number (e.g. in a 22050 Hz sound, 22050 = 1 second)
  • -
  • OGG/MP3 - milliseconds offset
  • -
-

This property is read-only. If you want to change the current playback position within the audio file, use the AudioChannel.Seek or AudioChannel.SeekMs function.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(40);
-channel.Seek(channel.Position + 1000);
-

will start playing the aExplosion audio clip, wait for a second, then seek it ahead one second (if it is OGG/MP3/WAV).

-

NOTE: For historical reasons this property works differently during skipped cutscene: in such case it will return a very large arbitrary number instead. This was originally done to avoid game script locking up in do/while loops that check for clip position reaching certain value, because it might never reach it when game is "fast-forwarding". If this is a problem for your script, make sure to test for Game.SkippingCutscene.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.PositionMs, AudioChannel.Seek, AudioChannel.SeekMs

-
-
-
-

AudioChannel.PositionMs

-
readonly int AudioChannel.PositionMs
-

Gets the current position of the audio playing on this channel, in milliseconds.

-

This is supported by all file types except MIDI, and returns the current offset into the sound in milliseconds. MIDI files will always return 0.

-

This property is read-only. If you want to change the current playback position within the audio file, use the AudioChannel.Seek or AudioChannel.SeekMs function.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(40);
-Display("After 1 second, offset is %d ms.", channel.PositionMs);
-

will start playing the aExplosion audio clip, wait for a second, then display its position.

-

NOTE: For historical reasons this property works differently during skipped cutscene: in such case it will return a very large arbitrary number instead. This was originally done to avoid game script locking up in do/while loops that check for clip position reaching certain value, because it might never reach it when game is "fast-forwarding". If this is a problem for your script, make sure to test for Game.SkippingCutscene.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.LengthMs, AudioChannel.Position, AudioChannel.Seek, AudioChannel.SeekMs

-
-
-
-

AudioChannel.Volume

-

(Formerly known as SetChannelVolume, which is now obsolete)
(Formerly known as SetMusicVolume, which is now obsolete)

-
int AudioChannel.Volume
-

Gets/sets the volume of this audio channel, from 0 to 100. This allows you to dynamically adjust the volume of a playing sound.

-

This command adjusts the volume of this channel relative to the other channels. It is still constrained within the overall volume, set by the System.Volume property.

-

NOTE: This command only affects the current sound being played on the channel. When a new audio clip starts playing on this channel, the volume will be set to the DefaultVolume of the new audio clip.

-

NOTE: The volume returned by this property is the channel's base volume, i.e. it does not include the effects of any directional audio set with SetRoomLocation, or any temporary volume drop while speech is playing.

-

Example:

-
AudioChannel *channel = aExplosion.Play();
-Wait(40);
-channel.Volume = 20;
-

will start playing the aExplosion audio clip, wait for a second, then reduce its volume.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.SetRoomLocation, Game.SetAudioTypeVolume, System.Volume, Character.ScaleVolume

-
-
-
- - - - - -
- - diff --git a/AudioClip.html b/AudioClip.html deleted file mode 100644 index 214143854..000000000 --- a/AudioClip.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - AudioClip functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

AudioClip functions and properties

-

AudioClips are created when you import files in the AGS Editor. The commands in this section allow to play them.

-
-
-

AudioClip.GetByName

-
static AudioClip* AudioClip.GetByName(string scriptName)
-

Returns a pointer to the AudioClip with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each AudioClip which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
function PlayDefaultSound(Object *obj) {
-    String soundName = obj.GetTextProperty("default-sound");
-    AudioClip *clip = AudioClip.GetByName(soundName);
-    if (clip != null) {
-        clip.Play();
-    }
-}
-

Retrieves the audio clip with the script name stored in an object's custom property, and plays it.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: AudioClip.ScriptName, AudioClip.Play

-
-
-
-

AudioClip.Play

-

(Formerly known as PlayAmbientSound, which is now obsolete)
(Formerly known as PlayMP3File, which is now obsolete)
(Formerly known as PlayMusic, which is now obsolete)
(Formerly known as PlaySound, which is now obsolete)
(Formerly known as PlaySoundEx, which is now obsolete)
(Formerly known as SetMusicRepeat, which is now obsolete)

-
AudioChannel* AudioClip.Play(optional AudioPriority, optional RepeatStyle)
-

Plays the audio clip.

-

Optionally you can supply a priority and Repeat setting; if you do not supply these, the defaults set for the audio clip in the editor will be used.

-

This command searches through all the available audio channels to find one that is available for this type of audio. If no spare channels are found, it will try to find one that is playing a clip with a lower or equal priority, and interrupt it to replace it with this new sound.

-

If all audio channels are busy playing higher priority sounds, then this new audio clip will not be played.

-

This command returns the AudioChannel instance that the new sound is playing on, or null if it did not play for any reason.

-

NOTE: AGS can only play one MIDI file at a time.

-

Example:

-
aExplosion.Play();
-

plays the aExplosion audio clip.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.PlayFrom, AudioClip.PlayQueued, AudioClip.Stop, ViewFrame.LinkedAudio

-
-
-
-

AudioClip.PlayFrom

-
AudioChannel* AudioClip.PlayFrom(int position, optional AudioPriority,
-                                 optional RepeatStyle)
-

Plays the audio clip, starting from position. For the meaning of the position, see the AudioChannel.Seek help page.

-

Otherwise, this command behaves identically to AudioClip.Play. Please see that help page for more information.

-

Example:

-
aExplosion.PlayFrom(1000);
-

plays the aExplosion audio clip, starting from a 1 second offset (if it is OGG/MP3).

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioClip.PlayQueued

-

(Formerly known as PlayMusicQueued, which is now obsolete)

-
AudioChannel* AudioClip.PlayQueued(optional AudioPriority, optional RepeatStyle)
-

Plays the audio clip, or queues it to be played later if it cannot be played now.

-

This command behaves identically to AudioClip.Play, except that if there are no available audio channels, it will queue this audio clip to be played when a channel becomes available.

-

Additionally, unlike the Play command, using PlayQueued will not interrupt an existing audio clip with an equal priority; it will only interrupt clips with a lower priority.

-

You can queue up to 10 tracks in the audio queue. Note that if you queue audio clips to be played after a repeating audio clip, they will never be played.

-

Example:

-
aExplosion.Play();
-aAftermath.PlayQueued();
-

plays the aExplosion audio clip, and queues the aAftermath sound to be played afterwards.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioClip.PlayOnChannel

-
AudioChannel* AudioClip.PlayOnChannel(int channel, optional AudioPriority, optional RepeatStyle)
-

Plays this audio clip, explicitly putting it on the particular channel, starting with 1 (as channel 0 is reserved for Speech). The maximal number of channels may be found on a System limits page, or using System.AudioChannelCount at runtime.

-

This function disregards any audio type rules, so you may script your own channel logic.

-

If the selected audio channel is busy playing higher priority sounds, then this new audio clip will not be played.

-

This command returns the AudioChannel instance that the new sound is playing on, or null if it did not play for any reason.

-

Example:

-
aBeep.PlayOnChannel(2, eAudioPriorityHigh, eOnce);
-

plays the aBeep audio clip on channel 2.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: AudioClip.Play, AudioClip.PlayFrom, AudioClip.PlayQueued, AudioClip.Stop

-
-
-
-

AudioClip.Stop

-
AudioClip.Stop()
-

Stops all currently playing instances of this audio clip.

-

Example:

-
aExplosion.Play();
-Wait(40);
-aExplosion.Stop();
-

plays the aExplosion audio clip, waits 1 second and then stops it again.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioClip.ID

-
readonly int AudioClip.ID
-

Gets the ID of this audio clip. This could be used for diagnostic purposes as well to find same clip in the Game.AudioClips[] array.

-

Example:

-
for (int i = 0; i < System.AudioChannelCount; i++) {
-    AudioClip *clip = System.AudioChannels[i].PlayingClip;
-    if (clip != null)
-        Display("Channel %d has clip %d playing", i, clip.ID);
-    else
-        Display("Channel %d has no clip on it at the moment", i);
-}
-

will display information about clips playing on each audio channel.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Game.AudioClips

-
-
-
-

AudioClip.FileType

-
readonly AudioFileType AudioClip.FileType;
-

Gets the file type of this audio clip. This is useful in conjunction with the PlayFrom and Seek commands to determine what the position offset represents.

-

Example:

-
if (aExplosion.FileType == eAudioFileMIDI)
-{
-    Display("Explosion is a MIDI file!");
-}
-

displays a message if aExplosion is a MIDI file

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.Seek, AudioChannel.Position, AudioClip.PlayFrom

-
-
-
-

AudioClip.IsAvailable

-

(Formerly known as IsMusicVoxAvailable, which is now obsolete)

-
readonly bool AudioClip.IsAvailable;
-

Gets whether this audio clip is available on the player's system.

-

This will normally be true, unless the clip was bundled in the external AUDIO.VOX file and the player does not have the file on their system.

-

You do not normally need to check this property, since the Play command will silently fail if it cannot find the audio clip to play.

-

Example:

-
if (aExplosion.IsAvailable)
-{
-    aExplosion.Play();
-}
-

checks if the aExplosion audio clip is available, and if so plays it.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play

-
-
-
-

AudioClip.ScriptName

-
readonly String AudioClip.ScriptName
-

Gets the script name of the audio clip, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some clip stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each clip in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use AudioClip.GetByName function to retrieve the clip by the previously saved script name.

-

Example:

-
function CustomPlay(this AudioClip*)
-{
-  this.Play();
-  System.Log(eLogInfo, "Playing audio clip: %s", this.ScriptName);
-}
-

Playing a clip using the CustomPlay() method, like aExampleClip.CustomPlay(), will log it's script name for debugging purposes.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: AudioClip.GetByName, Game.AudioClips

-
-
-
-

AudioClip.Type

-
readonly AudioType AudioClip.Type;
-

Gets the type of this audio clip, as initially set in the editor.

-

The AudioType allows you to group audio clips into areas such as Sound and Music.

-

Example:

-
if (aExplosion.Type == eAudioTypeMusic)
-{
-    Display("Explosion is music!");
-}
-

displays a message if the aExplosion clip is music.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioClip.Play, Game.IsAudioPlaying

-
-
-
- - - - - -
- - diff --git a/AudioInScript.html b/AudioInScript.html deleted file mode 100644 index 1eaa10e09..000000000 --- a/AudioInScript.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Audio in script - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Audio in script

-

Quite often there is misunderstanding of how the audio system works in AGS and how can you control it in script. Unfortunately it has certain design flaws and limitations to what you can do. Here we'll cover the most important bits.

-

Let's begin with audio channel. Audio channels are essentially slots in which the sound clip is put for playback. A channel may play one instance of one audio clip at a time.

-

Audio clips are playable resources. When you command them to play (for example, AudioClip.Play) their instance, essentially a copy is inserted into one of the audio channels and is played. You may then use a command to play the same audio clip again and another instance (copy) will be inserted into the second channel and will be played separately.

-

Now, it is very important to understand that audio channels are static permanent objects, they are created by the engine at startup and are kept throughout the game. There's a fixed number of 16 audio channels (8 before AGS 3.6.0). This cannot be changed. You cannot create new channels or remove existing ones neither in the editor nor in script. All of these channels are present and available for access at all times regardless of whether anything is played on them or not. This is done using the System.AudioChannels array. You can find out the size of this array with System.AudioChannelCount.

-

When AudioClip.Play() is called it searches for an available channel, among reserved channels for the given audio type or among all of the channels, and checks audio clip priorities if no channel is free. When it successfully inserted a clip instance into a channel it returns an AudioChannel* pointer. That pointer always points to one of the channels from the System.AudioChannels array, and does not create a new channel (this is an often erroneous assumption by users).

-

When audio ends playing whether on its own or by calling AudioChannel.Stop() or AudioClip.Stop(), the clip instance is removed from the channel but the channel itself remains and does not get deleted.

-

The consequence of all the above is that if you keep the AudioChannel* pointer returned by AudioClip.Play, for example store it in a global variable, that pointer will always be valid, but because the same channel can be used to play a new and different clip, you can use the same stored pointer to adjust the new clip's playback properties.

-

This effect can be demonstrated by the following example. Make sure that your sound type has "MaxChannels" set to "1", then add the following script to the first room's "after fade-in event":

-
function room_AfterFadeIn() {
-    AudioChannel* chan = aSound1.Play();
-    aSound2.Play();
-    chan.Volume = 50;
-}
-

Notice that chan is assigned to aSound1.Play(), and not to aSound2.Play(). But because we set "MaxChannels" of the sound type to "1" there is only 1 channel reserved for sounds, so aSound2 will replace aSound1. And because the chan pointer is already pointing to the only reserved channel, setting the volume will actually change aSound2's volume, as it is the audio clip playing on the channel now.

-

This effect may either be wanted or unwanted and can lead to bugs depending on how you script your game, so keep this in mind.

-

See also: Music and Sound, Audio Channel, Audio Clip

-
-
- - - - - -
- - diff --git a/AutonumberSpeechFiles.html b/AutonumberSpeechFiles.html deleted file mode 100644 index 4ce0ac70d..000000000 --- a/AutonumberSpeechFiles.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - Auto-number speech files - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Auto-number speech files

-

If you've already made your game, and then you decide you want a voice pack to go with it, the thought of manually adding speech numbers to every line of speech in the game is rather daunting. But never fear, this is where the Auto-number Speech Files feature comes in.

-

If you select this option, then it will go through all the speech lines in the game and add a&NUM to the start of them. A summary of the results is written to a file called SPEECHREF.TXT in the game folder, so that you can easily see what file is what when recording the speech.

-

The following types of message are auto-numbered. If one of the messages already has a speech number, it will be overwritten:

-
    -
  • room messages set to be displayed as speech
  • -
  • dialog script messages
  • -
  • dialog options (if "Say" is selected for the option)
  • -
  • Say commands in scripts
  • -
-
-
- - - - - -
- - diff --git a/BackingUpYourGame.html b/BackingUpYourGame.html deleted file mode 100644 index 9e171632a..000000000 --- a/BackingUpYourGame.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - Backing up your game - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Backing up your game

-

You will no doubt want to back up your game files, and should do so regularly during your game development. But which files should you back up?

-

When taking a backup, make sure you copy ALL the files listed below:

-
    -
  • GAME.AGF - this is the main data file for your game and contains almost all the game settings. Without it, your game is lost.
  • -
  • ACSPRSET.SPR - this is your game's sprite file, containing all the sprites from the sprite manager.
  • -
  • ROOM*.CRM - all the ROOM*.CRM files are your room files, and obviously without one of them you wouldn't be able to go into that room any longer.
  • -
  • *.ASC, *.ASH - these are your script files, and contain all of your scripting handywork.
  • -
  • *.TRS - translation source files. They contain any translations that you've had done.
  • -
  • AGSFNT*.TTF, AGSFNT*.WFN - these files contain any fonts you have imported.
  • -
-

Also remember to back up any sound, music and video files you are using.

-
-
- - - - - -
- - diff --git a/BlockingScripts.html b/BlockingScripts.html deleted file mode 100644 index e08c270f1..000000000 --- a/BlockingScripts.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - Understanding blocking scripts - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Understanding blocking scripts

-

You will see some commands listed as "blocking", where control does not return to the script until the command finishes. But what does this mean, exactly?

-

In order to better understand this, we need to explore a little about the way that the AGS script engine works. In an AGS game, there are three script threads that can be running at once. Think of a thread as a mini-CPU that executes your scripts.

-

At the start of the game, the threads are all idle (not running any scripts):

-

-

Now, as and when your scripts need to be run, AGS will try to run them on the appropriate thread (the Room thread for local scripts, and the Global thread for global scripts).

-

So, on the first game loop, your global scripts' repeatedly_execute will be run:

-

-

That's fine, and when it finishes running the thread becomes idle again.

-

But, suppose that within repeatedly_execute, you make a call to the Character.Say command. Say is a blocking command and does not return until the character finishes talking:

-

-

The global thread is now blocked, waiting for the character to finish talking. This means that none of your global script functions such as repeatedly_execute, on_event and on_key_press will be run while the character is talking, since the thread is busy.

-

Now, AGS does queue up to 5 script functions to be run on the thread as soon as it is free; but if you have a lot of things happening within your script, it's possible that you will lose some events such as on_events and keypresses if you script is blocked for a long time.

-

Let's explore the most common situation in which this causes confusion. Suppose you have a Player looks at inventory event on a Key inventory item, which runs a script to display a message.

-

Let's also suppose that you have some code at the end of your on_mouse_click function to make the character stand still after running mouse click events.

-

What you'll find is that the code at the end of on_mouse_click actually gets called before the inventory item's event. Let's look at why:

-

-

Remember that AGS does not run events automatically; rather, the on_mouse_click script function handles the mouse click and calls ProcessClick to run the appropriate event. When it does so, it finds that the key's Look At Item event has a script function associated with it.

-

But oh no! Inventory item scripts are in the global script, and the global thread is already blocked because of the mouse click. Therefore, the inventory event script gets added to the thread's queue, and on_mouse_click then finishes running. The inventory event script will follow on afterwards.

-

Now you might think that this means that object and hotspot events can run within on_mouse_click, since they use the room thread, like this:

-

-

However, this is not the case. It is still the global thread that is calling ProcessClick, so the room script will actually be run on the global thread once it is free.

-

Finally, we come onto the No-Block thread. This thread is only used to run the repeatedly_execute_always and late_repeatedly_execute_always functions. Because these two are not allowed to run any blocking functions, this ensures that the thread never gets blocked and so it will always run, even when the other threads are busy:

-

-

I hope that helps explain blocking in terms of AGS scripting. If there's anything that you don't think is clear, please suggest amendments on the Technical forum.

-
-
- - - - - -
- - diff --git a/BuildAndroid.html b/BuildAndroid.html deleted file mode 100644 index aaca4bb3c..000000000 --- a/BuildAndroid.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Building for Android - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Building for Android

-

It's now possible to compile for Android directly from the Editor, this section walks through what it entails.

-
-

Installation requirements for Android in AGS Editor

-

AGS Editor requires Android SDK, Java and additional tools to work. The supported way to set your development environment is to install Android Studio.

-
-

-
    -
  1. After installing Android Studio, load Android Studio and in the "more Actions" menu, select SDK Manager. If you already loaded a project, instead go into Tools, and then hit SDK Manager.
  2. -
-

-
    -
  1. In the Android SDK screen, at top, hit Edit to set a desired Android SDK Location if needed, this is usually something like C:\Users\USERNAME\AppData\Local\Android\Sdk.

    -

    AGS requires SDK 29, select it and click OK. If instead you have only the latest API automatically selected here, it's alright.

    -

    In newer versions of Android Studio, for the command-line sdkmanager used by AGS Editor, you need also to select SDK Tools, and select "Android SDK Command-line Tools" for installation.

  2. -
-

-
    -
  1. Hit next again.
  2. -
-

-
    -
  1. In this screen, note down that

    -
      -
    • the SDK Folder here is what is set as ANDROID_HOME in the Editor preferences,
    • -
    • the JDK Location is the JAVA_HOME on the Editor preferences.
    • -
    -

    You can just hit next now

  2. -
-

-
    -
  1. And then it comes one thing you have to do, if you want to use it, you need to accept the licenses! There are two licenses you need to accept in this screen, so scroll down and hit accept, switch to the next one, scroll down again, and hit accept again.

    -

    We are going to be using SDK 29 in here for now, so if something complains about it, make sure to comeback to the SDK managed and find and click in Android 10 (Q), API Level 29 and then proceed to installing it.

    -

    If you don't, AGS Editor may try to download and install it anyway if needed when building your app for the first time, after ANDROID_HOME and JAVA_HOME are correctly set!

  2. -
-
-
-

Configuring the AGS Editor for Android Build

-

You are going to need now to configure the AGS Editor, with it loaded, go into File, Preferences...

-

Once the Editor Preferences menu is open, go into the Android tab. Here you will be able to set your JDK Path and SDK Path, which you noted down in step 4 before, right after installing Android Studio. Once these are correctly set, a small message "Found On Config!" will appear for both.

-

Only after both are correctly set, you can now set your keystore information. If you don't set, you will get an error saying "validateSigningRelease FAILED" when attempting to build your app. If you don't have a Keystore, please generate one using the Generate Keystore button, and click OK after successfully generating one.

-

-
-
-

Android App icons

-

At your project root, create a directory named icons with a directory named android inside. Then you need to add the following files:

-
    -
  • icons/android/mipmap-mdpi/ic_launcher.png 48x48 pixels, RGBA png icon
  • -
  • icons/android/mipmap-hdpi/ic_launcher.png 72x72 pixels, RGBA png icon
  • -
  • icons/android/mipmap-xhdpi/ic_launcher.png 96x96 pixels, RGBA png icon
  • -
  • icons/android/mipmap-xxhdpi/ic_launcher.png 144x144 pixels, RGBA png icon
  • -
  • icons/android/mipmap-xxxhdpi/ic_launcher.png 192x192 pixels, RGBA png icon
  • -
-

If you want to support round icons, additionally create ic_launcher_round.png files in the same directories.

-
-
-

Building the App

-

In the Editor, go in General Settings, and in the Android category, adjust the settings for your game. Then, in the Compiler category, under Build target platforms, tick the Android platform.

-

Now, in the Build menu on top, select Build EXE, or hit f7. A prompt will open, and once it's completed, the app will be in your game project directory under Compiled/Android folder.

-
-
-
- - - - - -
- - diff --git a/Button.html b/Button.html deleted file mode 100644 index 10e8d248f..000000000 --- a/Button.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - Button functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Button functions and properties

-

Button is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-
-
-

Button.Animate

-

(Formerly known as AnimateButton, which is now obsolete)

-
Button.Animate(int view, int loop, int delay, optional RepeatStyle, 
-               optional BlockingStyle, optional Direction, 
-               optional int frame, optional int volume)
-

Animates a GUI button by playing the specified view loop on it. This could be useful for Sierra-style death animations and other effects.

-

LOOP from VIEW will be played on the button. The DELAY specifies the speed of the animation - larger numbers are slower. This has the same values you use with the Character.Animate and Object.Animate commands.

-

The RepeatStyle parameter sets whether the animation will continuously repeat the cycling through the frames. This can be eOnce, in which case the animation will start from the first frame of LOOP, and go through each frame in turn until the last frame, where it will stop. If RepeatStyle is eRepeat, then when the last frame is reached, it will go back to the first frame and start over again with the animation.

-

For blocking you can pass either eBlock (in which case the function will wait for the animation to finish before returning), or eNoBlock (in which case the animation will start to play, but your script will continue). The default is eBlock.

-

Direction specifies which way the animation plays. You can either pass eForwards (the default) or eBackwards.

-

Frame lets you specify the starting frame, which should be one of the chosen loop's frame. Note that for compatibility reasons if direction is eBackwards the animation actually begins with the previous frame. If you pass frame 0 (the default) then it will begin with the last frame in the loop.

-

Volume lets you specify the relative volume in percents (0-100) of the frame-linked sounds for the duration of this animation. It's 100 by default (which means - unchanged).

-

You can abort an animation at any time by setting the button's NormalGraphic property, or starting a new animation on the same button.

-

NOTE: This command destroys the button's normal, pushed and mouseover images. If you want to return the button to normal usage after playing an animation, you will have to set the Graphic properties to restore the images.

-

NOTE: This command does not support flipped view frames. Any frames marked as "Flipped" will in fact be drawn normally when on a button.

-

Example:

-
btnDeathAnim.Animate(6, 2, 4, eRepeat);
-

will animate the 'btnDeathAnim' button using loop 2 of view 6, with a delay of 4 cycles per frame, and repeat the animation continually.

-

Compatibility: Parameters BlockingStyle, Direction, frame and volume are supported only by AGS 3.6.0 and later versions.

-

See also: Button.Animating, Button.Frame, Button.Loop, Button.View, Button.NormalGraphic,
-Character.Animate, Object.Animate,

-
-
-
-

Button.Click

-
Button.Click()
-

Forces Button's OnClick event. If there is a script function bound to that event it will be run, otherwise nothing happens.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: GUI.Click, GUI.ProcessClick

-
-
-
-

Button.Animating

-
readonly bool Button.Animating
-

Returns true if the specified button is currently animating, or false otherwise.

-

This property is read-only. To change button's animation, use the Animate command.

-

Example:

-
btnDeathAnim.Animate(6, 2, 4, eRepeat);
-while (btnDeathAnim.Animating) Wait(1);
-

will animate button and wait until the animation finishes.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Button.Animate, Button.Frame, Button.Loop, Button.View, Button.Graphic

-
-
-
-

Button.Frame

-
readonly int Button.Frame
-

Gets the frame number that the animated button is currently set to. If the button is not currently animated, this will be 0 (in which case the Graphic property will hold its sprite number).

-

This property is read-only. To change button's animation, use the Animate command.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Button.Animating, Button.Loop, Button.View, Button.Graphic

-
-
-
-

Button.Loop

-
readonly int Button.Loop
-

Gets the loop that the animated button is currently set to. If the button is not currently animated, this will be 0 (in which case the Graphic property will hold its sprite number).

-

This property is read-only. To change button's animation, use the Animate command.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Button.Animate, Button.Frame, Button.View, Button.Graphic

-
-
-
-

Button.View

-
readonly int Button.View
-

Gets the view that the animated button is currently set to. If the button is not currently animated, this will be 0 (in which case the Graphic property will hold its sprite number).

-

This property is read-only. To change button's animation, use the Animate command.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Button.Animate, Button.Frame, Button.Loop, Button.Graphic

-
-
-
-

Button.ClipImage

-
bool Button.ClipImage;
-

Gets/sets whether the button clips its image to the button boundaries.

-

For example, if the button is sized 30x30, but its Graphic is a 50x50 image, then this property controls whether the image is allowed to spill over the edge of the button.

-

The default is false, i.e. the image is not clipped.

-

Setting this to true can be useful in that it ensures that the button's image is not larger than the button's clickable area, which can cause confusion when it happens.

-

Example:

-
btnOK.ClipImage = true;
-

sets the btnOK button so that its image will be restrained to the button's clickable area.

-

See also: Button.Graphic

-
-
-
-

Button.Font

-
FontType Button.Font
-

Gets/sets the font used by the button to display text.

-

The font number must correspond to one of the fonts from the Fonts pane in the AGS Editor.

-

Example:

-
btnOK.Font = eFontMain;
-

will change the btnOK button to use Font "Main".

-

See also: Label.Font, TextBox.Font

-
-
-
-

Button.Graphic

-

(Formerly part of GetButtonPic, which is now obsolete)

-
readonly int Button.Graphic;
-

Gets the current image on a GUI button. If a value less than 1 is returned, then no image is currently displayed on the button.

-

This property is read-only; in order to set the image, you must use one of the NormalGraphic, MouseOverGraphic or PushedGraphic properties.

-

Example:

-
Display("The button is currently using sprite %d.", btnPlay.Graphic);
-

will display btnPlay's current sprite number.

-

See also: Button.ClipImage, Button.MouseOverGraphic, Button.NormalGraphic, Button.PushedGraphic

-
-
-
-

Button.MouseOverGraphic

-

(Formerly part of GetButtonPic, which is now obsolete)
(Formerly part of SetButtonPic, which is now obsolete)

-
int Button.MouseOverGraphic;
-

Gets/sets the button's mouse-over sprite. This can be -1, which indicates that the button does not have a mouse-over graphic.

-

Example:

-
Display("The button's mouse-over image is sprite %d.", btnPlay.MouseOverGraphic);
-

will display btnPlay's mouse-over sprite number.

-

See also: Button.Graphic, Button.NormalGraphic, Button.PushedGraphic

-
-
-
-

Button.NormalGraphic

-

(Formerly part of GetButtonPic, which is now obsolete)
(Formerly part of SetButtonPic, which is now obsolete)

-
int Button.NormalGraphic;
-

Gets/sets the button's normal sprite (i.e. the graphic used when the button is not pushed and the mouse is not over it).

-

Note that setting this to a different sprite will change the button's size to match the size of the new sprite.

-

Example:

-
Display("The button's normal image is sprite %d.", btnPlay.NormalGraphic);
-

will display btnPlay's normal sprite number.

-

See also: Button.ClipImage Button.Graphic, Button.MouseOverGraphic, Button.PushedGraphic, Button.TextColor

-
-
-
-

Button.PushedGraphic

-

(Formerly part of GetButtonPic, which is now obsolete)
(Formerly part of SetButtonPic, which is now obsolete)

-
int Button.PushedGraphic;
-

Gets/sets the button's pushed sprite (i.e. the graphic used when the button is pushed in by the user). This can be -1, which indicates that the button does not have a pushed image.

-

Example:

-
Display("The button's pushed image is sprite %d.", btnPlay.PushedGraphic);
-

will display btnPlay's pushed sprite number.

-

See also: Button.Graphic, Button.MouseOverGraphic, Button.NormalGraphic

-
-
-
-

Button.Text

-

(Formerly known as SetButtonText, which is now obsolete)
(Formerly known as Button.GetText, which is now obsolete)
(Formerly known as Button.SetText, which is now obsolete)

-
String Button.Text;
-

Gets/sets the text displayed on the button.

-

Example:

-
btnController.Text = "Enable jibble";
-

Will change button btnController to read "Enable jibble".

-

Besides a regular text, there are few special text values, called "tokens". If you assign any of these to the Button, it will update its looks automatically during the game. Currently supported are 3 tokens, that make button display selected inventory item's graphic (that is - inventory item assigned as player.ActiveInventory). They differ in a way item's graphic is aligned:

- - - - - - - - - - - - - - - - - - - - - -
TokenDescription
(INV)Stretch to fit the button
(INVNS)Draw centered at actual size
(INVSHR)Stretch if too big, draw in actual size if not
-

Please note that any of these work only if you assign some normal graphic to the button, in which case the inventory item is drawn on top of it.

-

Example:

-
btnSelectedInv.Text = "(INVNS)";
-

Will make button btnSelectedInv display active inventory item's graphic, or just its normal graphic when no inventory item is selected.

-

See also: Button.NormalGraphic, Label.Text

-
-
-
-

Button.TextAlignment

-
Alignment Button.TextAlignment;
-

Gets/sets how the text is aligned relative to the button's rectangle.

-

If the button is displaying an image rather than text, then this property has no effect.

-

See also: Standard Enumerated Types, Button.NormalGraphic

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-
-
-
-

Button.TextColor

-
int Button.TextColor;
-

Gets/sets the text color used to display the button's text.

-

If the button is displaying an image rather than text, then this property has no effect.

-

Example:

-
btnRestart.TextColor = 15;
-

will change button 'btnRestart' to have white text.

-

See also: Button.NormalGraphic

-
-
-
- - - - - -
- - diff --git a/Camera.html b/Camera.html deleted file mode 100644 index b7f723415..000000000 --- a/Camera.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - Camera functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Camera functions and properties

-

The Camera struct lets you manage room cameras. To put it simply, the cameras allow the player to see inside the room. Each camera captures some rectangular area in a room, and this captured image may then be displayed on screen. Right now AGS only supports drawing what a camera can see within a Viewport, but its uses may be extended in the future.

-

Cameras have a variable size and position within the room. The camera's size (the width and height of the rectangle) determines how much of the room they capture: the larger the size - the larger the visible portion of the room. The maximum camera size is limited by the dimensions of the room background, so it may not be larger than the room. It is also not possible to move the camera beyond the edges of the room background.

-

By default there is a single camera, known as the "primary camera". This camera may be accessed as Game.Camera. But you may create more cameras if necessary, using Camera.Create.

-

Camera is linked to a Viewport using the Viewport.Camera property. By default, the "primary camera" is linked to the "primary viewport" (Screen.Viewport), but that may be changed if necessary. Moreover, a camera may be linked to any number of different Viewports, in which case all of the Viewports will display the same image of the room.

-

When a camera is linked to a Viewport the camera's contents are stretched to fill Viewport's rectangle, the difference in size between the viewport and the camera determines the level of scaling that is applied:

-
    -
  • If the camera is larger than the viewport the displayed image will be zoomed-out (scaled down)
  • -
  • If the camera is smaller than the viewport the displayed image will be zoomed-in (scaled up)
  • -
-

Camera's X, Y properties specify the position if its top-left corner in the room. Naturally, its bottom-right corner will be at (X + Width, Y + Height), while the center at (X + Width / 2, Y + Height / 2).

-

By default each camera follows the player character, this is know as "auto-tracking". You may override this by disabling Camera.AutoTracking property. Also, auto-tracking is disabled whenever you manually set camera's position. In order to make it follow the player character again, set AutoTracking to true.

-

Moving a camera around the room (also known as "camera scrolling" or "room scrolling") is done simply by changing its X and Y properties, or using SetAt function. The common example is:

-
Game.Camera.X = 0;
-while (Game.Camera.X < (Room.Width - Game.Camera.Width))
-{
-    Game.Camera.X += 1;
-    Wait(1); // Wait is necessary to let the engine redraw the game
-}
-

Above script will scroll the camera from the leftmost to the rightmost room border.

-

NOTE: Although cameras display the room, in their current implementation they are considered global persistent objects and will automatically change rooms with the player's character.

-

IMPORTANT: Cameras are initialized with an automatic sizing mode that snaps the primary Viewport and the camera to the size of the game screen or size of a room background (whichever is smaller), each time that a new room is loaded. This is convenient if you want to rely on a standard camera behavior. If you prefer to manage the sizing yourself this behavior may be disabled using the Screen.AutoSizeViewportOnRoomLoad property.

-

Compatibility: The Camera struct is supported by AGS 3.5.0 and later versions.

-

See also: Viewport, Screen.AutoSizeViewportOnRoomLoad, Game.Camera, Game.Cameras

-
-
-

Camera.Create

-
static Camera* Camera.Create();
-

Creates a new camera and returns a pointer which you may store in a variable (local or global one) and use to operate it. Any camera created like this is also added to the global array Game.Cameras and may be also accessed by its index.

-

The new camera will, by default, be located at the room's origin (0, 0) and be sized to fit either the game screen or the room background, whichever is smaller. It will also have auto-tracking enabled. You may change any of its properties later.

-

You may always delete previously created cameras using Camera.Delete function.

-

Example:

-
// Create a new viewport and a new camera, and link them together
-Viewport* myView = Viewport.Create();
-Camera* myCam = Camera.Create();
-myView.Camera = myCam;
-// Set the viewport to half the screen size, centered and camera to half the room's
-myView.SetPosition(Screen.Width / 4, Screen.Height / 4, Screen.Width / 2, Screen.Height / 2);
-// Make sure that the new viewport is on top of the primary one
-myView.ZOrder = Screen.Viewport.ZOrder + 1;
-// Set the camera to half of the room size, placed at the right-bottom of the room
-myCam.SetSize(Room.Width / 2, Room.Height / 2);
-myCam.SetAt(Room.Width - myCam.Width, Room.Height - myCam.Height);
-// Wait a little (or play a cutscene, and so on)
-Wait(100);
-// Delete temporary camera and viewport
-myCam.Delete();
-myView.Delete();
-

See also: Camera.Delete, Game.Camera, Game.Cameras, Viewport.Camera

-
-
-
-

Camera.Delete

-
void Camera.Delete();
-

Removes an existing camera. This also removes this camera's pointer from Game.Cameras array.

-

It's always safe to delete a camera. If this camera was linked to a Viewport on screen, then that Viewport will automatically unlink the deleted camera and will not show anything until a new camera is assigned to it.

-

IMPORTANT: In the Game.Cameras array cameras are arranged in the order they were created. If you delete one from the middle all of the cameras with a higher index will be shifted towards the beginning of array.

-

See also: Camera.Create, Game.Camera, Game.Cameras

-
-
-
-

Camera.SetAt

-
void Camera.SetAt(int x, int y);
-

Changes the camera's position in the room and disables automatic tracking of the player character.

-

NOTE: Camera can never cross the room's bounds (and can never be larger than the current room). If you try to move the camera outside of the room, its position will be automatically snapped to the nearest position inside the room.

-

Example 1:

-
// Center the primary camera around the Pirate character's middle point
-ViewFrame* curFrame = Game.GetViewFrame(cPirate.View, cPirate.Loop, cPirate.Frame);
-Game.Camera.SetAt(cPirate.x, cPirate.y - Game.SpriteHeight[curFrame.Graphic] / 2);
-

Example 2:

-
// Scroll the camera across the room
-while (Game.Camera.X < (Room.Width - Game.Camera.Width))
-{
-    Game.Camera.X += 1;
-    Wait(1);
-}
-// Snap back to player character and begin tracking it again
-Game.Camera.AutoTracking = true;
-

See also: Camera.SetSize, Camera.AutoTracking, Camera.X, Camera.Y, Camera.Width, Camera.Height

-
-
-
-

Camera.SetSize

-
void Camera.SetSize(int width, int height);
-

Changes the camera's capture dimensions, in room coordinates.

-

If the camera's size is larger than the Viewport it is drawn in, then the room will be scaled down (producing a zoomed-out effect). If the camera's size is smaller than the Viewport then the room will be scaled up (producing a zoomed-in effect).

-

NOTE: Camera's size can never exceed current room's size, if you try to set a higher width or height then it will be clamped. If game transits from a large room to a smaller room, any active cameras that exceed the new room's size will be shrunk automatically.

-

Example 1:

-
// Make the camera show only half of the room's size
-Game.Camera.SetSize(Room.Width / 2, Room.Height / 2);
-

Example 2:

-
// Zoom camera in and then out, keeping the aspect ratio.
-int w = Game.Camera.Width;
-int h = Game.Camera.Height;
-float aspect_ratio = IntToFloat(h) / IntToFloat(w);
-while (Game.Camera.Height > Room.Height / 4)
-{
-    w -= 2;
-    h = FloatToInt(IntToFloat(w) * aspect_ratio, eRoundNearest);
-    Game.Camera.SetSize(w, h);
-    Wait(1);
-}
-Wait(60);
-while (Game.Camera.Height < Room.Height)
-{
-    w += 2;
-    h = FloatToInt(IntToFloat(w) * aspect_ratio, eRoundNearest);
-    Game.Camera.SetSize(w, h);
-    Wait(1);
-}
-

See also: Camera.SetAt, Camera.X, Camera.Y, Camera.Width, Camera.Height, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Camera.AutoTracking

-
bool Camera.AutoTracking;
-

Gets/sets whether this camera will automatically follow the player character's position in the room. When disabled, the camera retains its position until you change it using script commands or turn auto-tracking back on.

-

See also: Camera.SetAt, Camera.X, Camera.Y

-
-
-
-

Camera.Height

-
int Camera.Height;
-

Gets/sets the camera's capture height in room coordinates.

-

NOTE: Camera's size can never exceed current room's size, if you try to set a higher width or height then it will be clamped. If game transits from a large room to a smaller room, any active cameras that exceed the new room's size will be shrunk automatically.

-

See also: Camera.SetAt, Camera.SetSize, Camera.X, Camera.Y, Camera.Width, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Camera.Width

-
int Camera.Width;
-

Gets/sets the camera's capture width in room coordinates.

-

NOTE: Camera's size can never exceed current room's size, if you try to set a higher width or height then it will be clamped. If game transits from a large room to a smaller room, any active cameras that exceed the new room's size will be shrunk automatically.

-

See also: Camera.SetAt, Camera.SetSize, Camera.X, Camera.Y, Camera.Height, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Camera.X

-
int Camera.X;
-

Gets/sets the X position of this camera in the room. Setting a value will also disable auto-tracking.

-

NOTE: Camera can never cross the room's bounds (and can never be larger than the current room). If you try to move the camera outside of the room, its position will be automatically snapped to the nearest position inside the room.

-

Example:

-
// Scroll the camera across the room horizontally
-while (Game.Camera.X < (Room.Width - Game.Camera.Width))
-{
-    Game.Camera.X += 1;
-    Wait(1);
-}
-

See also: Camera.SetAt, Camera.SetSize, Camera.AutoTracking, Camera.Y, Camera.Width, Camera.Height

-
-
-
-

Camera.Y

-
int Camera.Y;
-

Gets/sets the Y position of this camera in the room. Setting a value will also disable auto-tracking.

-

NOTE: Camera can never cross the room's bounds (and can never be larger than the current room). If you try to move the camera outside of the room, its position will be automatically snapped to the nearest position inside the room.

-

Example:

-
// Scroll the camera across the room vertically
-while (Game.Camera.Y < (Room.Height - Game.Camera.Height))
-{
-    Game.Camera.Y += 1;
-    Wait(1);
-}
-

See also: Camera.SetAt, Camera.SetSize, Camera.AutoTracking, Camera.X, Camera.Width, Camera.Height

-
-
-
- - - - - -
- - diff --git a/Character.html b/Character.html deleted file mode 100644 index b9ee14adf..000000000 --- a/Character.html +++ /dev/null @@ -1,1588 +0,0 @@ - - - - - - - Character functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Character functions and properties

-
-

Character.AddInventory

-

(Formerly known as global function AddInventory, which is now obsolete)
(Formerly known as global function AddInventoryToCharacter, which is now obsolete)

-
Character.AddInventory(InventoryItem *item, optional int addAtIndex)
-

Adds one quantity of the specified item to the character's inventory. This ensures that the item gets added to the character's inventory list, and that any on-screen inventory display gets updated if appropriate.

-

The first parameter is the inventory item's Script O-Name from the editor (for example, iPoster).

-

By default, the new item is added to the end of the character's inventory list. However, you can insert it in a particular position in the list by supplying the second parameter. The new item is inserted before the current item at addAtIndex. Indexes are numbered from 0, so to add the item at the start of the list, pass 0 as the second parameter.

-

Calling the function multiple times will increase the InventoryQuantity for the item.

-

Example:

-
cEgo.AddInventory(iKey);
-

will give inventory item iKey to character EGO.

-

See also: Character.HasInventory, Character.LoseInventory, UpdateInventory, Character.InventoryQuantity

-
-
-
-

Character.AddWaypoint

-

(Formerly known as MoveCharacterPath, which is now obsolete)

-
Character.AddWaypoint(int x, int y)
-

Tells the character to move to (X,Y) directly, after it has finished its current move. This function allows you to queue up a series of moves for the character to make, if you want them to take a preset path around the screen. Note that any moves made with this command ignore walkable areas.

-

This is useful for situations when you might want a townsperson to wander onto the screen from one side, take a preset route around it and leave again.

-

Example:

-
cSomeguy.Walk(160, 100);
-cSomeguy.AddWaypoint(50, 150);
-cSomeguy.AddWaypoint(50, 50);
-

tells character SOMEGUY to first of all walk to the center of the screen normally (obeying walkable areas), then move to the bottom left corner and then top left corner afterwards.

-

See also: Character.Move Character.Walk

-
-
-
-

Character.Animate

-

(Formerly known as AnimateCharacter, which is now obsolete)
(Formerly known as AnimateCharacterEx, which is now obsolete)

-
Character.Animate(int loop, int delay, optional RepeatStyle,
-                  optional BlockingStyle, optional Direction, optional int frame, optional int volume)
-

Starts the character animating, using loop number LOOP of his current view and optionally starting at FRAME. The overall speed of the animation is set with DELAY, where 0 is the fastest, and increasing numbers mean slower. The delay for each frame is worked out as DELAY + FRAME SPD, so the individual frame speeds are relative to this overall speed.

-

Before using this command, you should use LockView in order to select the view you want to animate with and prevent any automatic animations (e.g. walking or idle animations) from playing.

-

The RepeatStyle parameter sets whether the animation will continuously repeat the cycling through the frames. This can be eOnce (or zero), in which case the animation will start from the first frame of LOOP, and go through each frame in turn until the last frame, where it will stop. If RepeatStyle is eRepeat (or 1), then when the last frame is reached, it will go back to the first frame and start over again with the animation.

-

For blocking you can pass either eBlock (in which case the function will wait for the animation to finish before returning), or eNoBlock (in which case the animation will start to play, but your script will continue). The default is eBlock.

-

Direction specifies which way the animation plays. You can either pass eForwards (the default) or eBackwards.

-

Frame lets you specify the starting frame, which should be one of the chosen loop's frame.
Note that for compatibility reasons if direction is eBackwards the animation actually begins with the previous frame. If you pass frame 0 (the default) then it will begin with the last frame in the loop.

-

Volume lets you specify the relative volume in percents (0-100) of the frame-linked sounds for the duration of this animation. It's 100 by default (which means - unchanged). NOTE: the volume parameter from Character.Animate does not replace Character.AnimationVolume property, but acts as a relative factor to it and character's scale if ScaleVolume is also set. In other words the final frame sound's volume will be equal to sound volume * AnimationVolume % * scaled volume % * volume param %.

-

Example:

-
cEgo.LockView(5);
-cEgo.Animate(3, 1, 0, eBlock, eBackwards);
-cEgo.UnlockView();
-

will animate the character once using loop number 3 of view 5 backwards, and wait until the animation finishes before returning.

-

Compatibility: Optional frame parameter is supported only by AGS 3.5.0 and later versions.
Optional volume parameter is supported only by AGS 3.6.0 and later versions.

-

See also: Button.Animate, Object.Animate

-
-
-
-

Character.ChangeRoom

-

(Formerly known as NewRoom, which is now obsolete)
(Formerly known as NewRoomEx, which is now obsolete)
(Formerly known as NewRoomNPC, which is now obsolete)

-
Character.ChangeRoom(int room_number, optional int x, optional int y, optional CharacterDirection direction)
-

Changes the room that the character is in.

-

If you call this on the player character, then the game will move into the new room with them.

-

IMPORTANT: For player character this command does not change the room immediately; instead, it will schedule the room change, and perform it only once your script function has finished (This is to avoid problems with unloading the script while it is still running). This means that you should not use any other commands which rely on the new room (object positionings, and so on) after this command within the same function.

-

If you call this on a non-player character, then they are instantly transported to the new room number.

-

Optionally, you can include an X and Y co-ordinate (you must include either both or neither). If you do so, then the character will also be moved to the specified co-ordinates in the new room. If you do not supply these parameters, then the character's latest X and Y position will be carried over.

-

Optionally, you can also include direction parameter, that determines which direction this character will be facing after room change.

-

Example:

-
player.ChangeRoom(4, 100, 50, eDirectionRight);
-

will move the player character to room 4 and also place him at coordinates 100,50. This will also mean that the game moves into room 4.

-

Compatibility: Optional direction parameter is supported only by AGS 3.4.0 and later versions.

-

See also: Character.ChangeRoomAutoPosition

-
-
-
-

Character.ChangeRoomAutoPosition

-
Character.ChangeRoomAutoPosition(int room_number, optional int newPosition)
-

Changes the room that the character is in, and positions him along one of the room edges.

-

This command simulates the behavior of the old "Go to room" interaction command from AGS 2.72 and previous versions. If newPosition is not specified or is 0, the character will be placed on the opposite side of the new room, if he is within 10 pixels of a room edge in the current room.

-

Alternatively, you can specify the position where he will get placed in the new room. newPosition can be 1000 for the left edge, 2000 for the right edge, 3000 for the bottom edge and 4000 for the top edge. Then, add on the offset within that edge where you want to place the character, in normal room co-ordinates.

-

IMPORTANT: This command does not change the room immediately; instead, it will perform the actual room change once your script function has finished (This is to avoid problems with unloading the script while it is still running). This means that you should not use any other commands which rely on the new room (object positionings, and so on) after this command within the same function.

-

NOTE: This command can only be used with the player character.

-

Example:

-
player.ChangeRoomAutoPosition(4, 2100);
-

will move the player character to room 4 and place him half way down the right hand side of the screen. This will also mean that the game moves into room 4.

-

See also: Character.ChangeRoom

-
-
-
-

Character.ChangeView

-

(Formerly known as ChangeCharacterView, which is now obsolete)

-
Character.ChangeView(int view)
-

Changes the normal view number of the character to view. This is useful if, for example, you want the character to change the clothes they are wearing, and so permanently alter their view number.

-

NOTE: This command is not intended to change the view temporarily to perform an animation. If you want to do that, use the LockView command instead. This ChangeView command permanently changes the character's normal walking view.

-

Example:

-
cEgo.ChangeView(5);
-

will make the EGO character use view number 5 as his walking view.

-

See also: Character.LockView, Character.NormalView

-
-
-
-

Character.FaceCharacter

-

(Formerly known as global function FaceCharacter, which is now obsolete)

-
Character.FaceCharacter(Character* toFace, optional BlockingStyle)
-

Turns the graphic of the character so that it looks like he is facing character TOFACE. This involves changing the current loop to the appropriate loop number, and setting the frame number to 0 (standing).

-

If the character has Turning enabled (i.e. the "Characters turn to face direction" game option is turned on, and the character does not have the "Do not turn before walking" option checked), then the character will turn on the spot in order to face the new direction. In this case, the BlockingStyle parameter determines whether the script waits for the character to finish turning (eBlock, the default) or whether the script continues immediately and the character finishes turning later on (eNoBlock).

-

If the character does not have Turning enabled, he will immediately turn to face the new direction and the BlockingStyle parameter has no effect. In this case, the screen will not be refreshed straight away -- if you want to see the character facing his new direction immediately, call Wait(1);

-

Example:

-
cEgo.FaceCharacter(cMan);
-

will make the character EGO face the character MAN

-

See also: Character.FaceDirection, Character.FaceLocation, Character.FaceObject, Character.Walk

-
-
-
-

Character.FaceDirection

-
Character.FaceDirection(CharacterDirection direction, BlockingStyle=eBlock)
-

Turns the graphic of the character so that it looks like he is facing direction direction. This involves changing the current loop to the appropriate loop number, and setting the frame number to 0 (standing).

-

If the character has Turning enabled (i.e. the "Characters turn to face direction" game option is turned on, and the character does not have the "Do not turn before walking" option checked), then the character will turn on the spot in order to face the new direction. In this case, the BlockingStyle parameter determines whether the script waits for the character to finish turning (eBlock, the default) or whether the script continues immediately and the character finishes turning later on (eNoBlock).

-

If the character does not have Turning enabled, he will immediately turn to face the new direction and the BlockingStyle parameter has no effect. In this case, the screen will not be refreshed straight away -- if you want to see the character facing his new direction immediately, call Wait(1);

-

Example:

-
cEgo.FaceDirection(eDirectionUpRight);
-

will make the character EGO face up-right.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.FaceCharacter, Character.FaceLocation, Character.FaceObject, Character.Walk

-
-
-
-

Character.FaceLocation

-

(Formerly known as global function FaceLocation, which is now obsolete)

-
Character.FaceLocation(int x, int y, optional BlockingStyle)
-

Similar to the FaceCharacter function, except that this faces the character to room co-ordinates (X,Y). This allows him to face not only other characters, but also hotspots or anything else as well (you can get co-ordinates by watching the co-ordinates displayed in the Room Settings mode as you move the mouse over the room background).

-

If the character has Turning enabled (i.e. the "Characters turn to face direction" game option is turned on, and the character does not have the "Do not turn before walking" option checked), then the character will turn on the spot in order to face the new direction. In this case, the BlockingStyle parameter determines whether the script waits for the character to finish turning (eBlock, the default) or whether the script continues immediately and the character finishes turning later on (eNoBlock).

-

If the character does not have Turning enabled, he will immediately turn to face the new direction and the BlockingStyle parameter has no effect. In this case, the screen will not be refreshed straight away -- if you want to see the character facing his new direction immediately, call Wait(1);

-

Example:

-
cEgo.FaceLocation(cEgo.x + 50, cEgo.y);
-

will make the character face to the east.

-

See also: Character.FaceCharacter, Character.FaceDirection, Character.FaceObject, Character.Walk

-
-
-
-

Character.FaceObject

-
Character.FaceObject(Object* object, optional BlockingStyle)
-

Similar to the FaceCharacter function, except that this faces the character to object OBJECT in the current room.

-

If the character has Turning enabled (i.e. the "Characters turn to face direction" game option is turned on, and the character does not have the "Do not turn before walking" option checked), then the character will turn on the spot in order to face the new direction. In this case, the BlockingStyle parameter determines whether the script waits for the character to finish turning (eBlock, the default) or whether the script continues immediately and the character finishes turning later on (eNoBlock).

-

If the character does not have Turning enabled, he will immediately turn to face the new direction and the BlockingStyle parameter has no effect. In this case, the screen will not be refreshed straight away -- if you want to see the character facing his new direction immediately, call Wait(1);

-

Example:

-
player.FaceObject(object[2]);
-

will make the player character face object 2.

-

See also: Character.FaceCharacter, Character.FaceDirection, Character.FaceLocation, Character.Walk

-
-
-
-

Character.FollowCharacter

-

(Formerly known as global function FollowCharacter, which is now obsolete)
(Formerly known as global function FollowCharacterEx, which is now obsolete)

-
Character.FollowCharacter(Character* chartofollow, optional int dist,
-                          optional int eagerness)
-

Tells the character to follow CHARTOFOLLOW around, wherever he goes. You could use this command to have a group of main characters who go around together, or for example when the hero has rescued someone from the bad guy, they can follow the hero home.

-

Pass CHARTOFOLLOW as null to stop the character following.

-

There are a couple of extra optional parameters:

-

DIST sets how far away from CHARTOFOLLOW that CHARID will stand. If DIST is 1, they will try to stand very close; if DIST is for example 20, they will stand about 20 pixels away.

-

EAGERNESS sets on average how long the character will stand around before checking if he needs to move again. Setting this to 0 means that he will always be on the move until he reaches CHARTOFOLLOW; setting this to 99 means that he will pause and think for a while on route. Values in between specify different lengths of idle time.

-

The default values are DIST=10 and EAGERNESS=97.

-

As a special case, setting DIST=0 and EAGERNESS=0 makes CHARID behave as if it is chasing CHARTOFOLLOW - it will try and get there as quickly as possible. Setting EAGERNESS=0 also tells the character not to stop when they reach CHARTOFOLLOW, but instead to randomly wander around the character - useful perhaps for a very energetic dog or something.

-

There is also another special use for this command. You can pass the special value FOLLOW_EXACTLY as the DIST parameter rather than passing a number. If you do this, then CHARID will always remain at exactly the same X and Y co-ordinates as CHARTOFOLLOW. This might be useful for effects such as a temporary halo over the character and so forth.

-

If you use FOLLOW_EXACTLY, then EAGERNESS has another meaning. If you pass 0, CHARID will be drawn in front of CHARTOFOLLOW; if you pass 1, it will be drawn behind.

-

When the character being followed changes room, the character following will change to the same room and position after a number of frames defined on game.following_room_timer.

-

Example:

-
cMan.FollowCharacter(cEgo, 5, 80);
-

will make character MAN follow character EGO standing about 5 pixels near him and waiting for a while before he makes his move.

-

See also: game.following_room_timer

-
-
-
-

Character.GetAtRoomXY

-
static Character* Character.GetAtRoomXY(int x, int y)
-

Checks if there is a character at ROOM co-ordinates (X,Y). Returns the character if there is, or null if there is not.

-

NOTE: Any characters with the "Clickable" property set to false will not be seen by this function.

-

NOTE: When looking up for an object under coordinates, GetAtRoomXY is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
Character* target = Character.GetAtRoomXY(oBullet.x, oBullet.y);
-if (target != null) {
-    Display("Character %s is hit by a bullet", target.Name);
-}
-

will display the message if the room object oBullet is over any character.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Character.GetAtScreenXY, Hotspot.GetAtRoomXY, Object.GetAtRoomXY, Region.GetAtRoomXY, Game.GetLocationName

-
-
-
-

Character.GetAtScreenXY

-

(Formerly known as global function GetCharacterAt, which is now obsolete)

-
static Character* Character.GetAtScreenXY(int x, int y)
-

Checks if there is a character at SCREEN co-ordinates (X,Y). Returns the character if there is, or null if there is not. See the description of GetLocationName for more on screen co-ordinates.

-

NOTE: Any characters with the "Clickable" property set to false will not be seen by this function.

-

NOTE: When looking up for an object under coordinates, GetAtScreenXY is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
if (Character.GetAtScreenXY(mouse.x, mouse.y) == cEgo) {
-    Display("The mouse is over the main character");
-}
-

will display the message if the mouse cursor is over the EGO character

-

See also: Character.GetAtRoomXY, Hotspot.GetAtScreenXY, Object.GetAtScreenXY, Region.GetAtScreenXY, Game.GetLocationName

-
-
-

Character.GetByName

-
static Character* Character.GetByName(string scriptName)
-

Returns a pointer to the Character with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each Character which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
String companionName = player.GetTextProperty("Companion");
-Character *companion = Character.GetByName(companionName);
-

Retrieves the player's companion name from its custom property, and gets a pointer to an actual Character using that name.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Character.ScriptName

-
-
-
-

Character.GetProperty

-

(Formerly known as GetCharacterProperty, which is now obsolete)

-
Character.GetProperty(string property)
-

Returns the custom property setting of the PROPERTY for the specified character.

-

This command works with Number properties (it returns the number), and with Boolean properties (returns 1 if the box was checked, 0 if not).

-

Use the equivalent GetTextProperty function to get a text property.

-

Example:

-
if (cEgo.GetProperty("Value") > 200)
-    Display("EGO's value is over 200!");
-

will print the message if EGO has its "Value" property set to more than 200.

-

See also: Character.GetTextProperty

-
-
-
-

Character.GetTextProperty

-

(Formerly known as GetCharacterPropertyText, which is now obsolete)
(Formerly known as Character.GetPropertyText, which is now obsolete)

-
String Character.GetTextProperty(string property)
-

Returns the custom property setting of the PROPERTY for the specified character.

-

This command works with Text properties only. The property's text will be returned from this function.

-

Use the equivalent GetProperty function to get a non-text property.

-

Example:

-
String description = cEgo.GetTextProperty("Description");
-Display("EGO's description: %s", description);
-

will retrieve EGO's "description" property and display it.

-

See also: Character.GetProperty

-
-
-
-

Character.SetProperty

-
bool Character.SetProperty(const string property, int value)
-

Sets the new value for the custom property for the specified character. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Number properties (it sets the numeric value), and with Boolean properties (sets FALSE is value is equal to 0, or TRUE otherwise).

-

Use the equivalent SetTextProperty function to set new text property value.

-

Example:

-
cEgo.SetProperty("XPLevel", 10);
-

will change EGO character's "XPLevel" custom property to 10.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.SetTextProperty

-
-
-
-

Character.SetTextProperty

-
bool Character.SetTextProperty(const string property, const string value)
-

Sets the new value text for the custom property for the specified character. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Text properties only. The property's text will be changed to new value.

-

Use the equivalent SetProperty function to set a non-text property.

-

Example:

-
cEgo.SetTextProperty("Description", "I am handsome!");
-

will change EGO's "description" property.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.SetProperty

-
-
-
-

Character.HasExplicitLight

-
readonly bool Character.HasExplicitTint
-

Returns true if the character has a light set explicitly with the Character.SetLightLevel command.

-

Returns false if the character has no explicit light level, but it may still be lighted by SetAmbientLightLevel or a region light.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

SeeAlso: Character.SetLightLevel

-
-
-
-

Character.HasInventory

-
bool Character.HasInventory(InventoryItem *item)
-

Checks whether the character currently has the specified inventory item. Returns true if they do, or false if they don't.

-

The parameter is the inventory item's Script O-Name from the editor (for example, iPoster).

-

Example:

-
if (player.HasInventory(iKey))
-{
-    Display("The player has the key!!");
-}
-

will display a message if the player has the key.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Character.AddInventory, Character.InventoryQuantity, Character.LoseInventory

-
-
-
-

Character.IsCollidingWithChar

-

(Formerly known as AreCharactersColliding, which is now obsolete)

-
Character.IsCollidingWithChar(Character* otherChar)
-

Checks if the character is touching OTHERCHAR. This function just checks the baseline of both characters, so if one is standing a fair distance behind the other, it will not be marked as colliding.

-

Returns 1 if the characters feet are touching, 0 otherwise.

-

Example:

-
if (cEgo.IsCollidingWithChar(cMan) == 1)
-{
-    // Colliding code goes here.
-}
-

will execute the colliding code only if the characters EGO and MAN are colliding.

-

See also: Character.IsCollidingWithObject, Object.IsCollidingWithObject, AreThingsOverlapping

-
-
-
-

Character.IsCollidingWithObject

-

(Formerly known as AreCharObjColliding, which is now obsolete)

-
Character.IsCollidingWithObject(Object* obj)
-

Checks whether the character's feet (i.e. the bottom third of the character) are touching OBJ. This can be used to determine if the character is standing on the object.

-

Returns 1 if they are, and 0 if they are not.

-

Example:

-
if (cEgo.IsCollidingWithObject(object[3]) == 1) {
-    // colliding code here
-}
-

will execute the colliding code only if the character EGO and the object number 3 are colliding.

-

See also: Character.IsCollidingWithChar, Object.IsCollidingWithObject, AreThingsOverlapping

-
-
-
-

Character.LightLevel

-
readonly int Character.LightLevel
-

If the character has an individual light set explicitly with the Character.SetLightLevel command, this property returns the light level value. Otherwise it returns 0.

-

NOTE: without individual light level set, Character.LightLevel returns 0 even if the character is affected by the ambient or region's light.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

SeeAlso: Character.SetLightLevel, SetAmbientLightLevel

-
-
-
-

Character.LockView

-

(Formerly known as SetCharacterView, which is now obsolete)

-
Character.LockView(int view, optional StopMovementStyle)
-

Sets the character's view to VIEW. This can be used to perform animations with characters, for example bending down to pick something up, which don't use the default view.

-

StopMovementStyle determines what to do if character was moving when this function is called. You can pass either eStopMoving (in which case the walking character will stop), or eKeepMoving (in which case the character will keep moving). The default is eStopMoving.

-

NOTE: This function locks the character's view to the specified view, so that it can only be changed by other script commands (i.e. it won't automatically be changed by AGS on walkable areas, screen changes, etc). When you are done with the animation, call UnlockView to allow AGS to take control back.

-

Example:

-
cEgo.LockView(12);
-cEgo.Animate(0, 0, eOnce, eBlock, eForwards);
-cEgo.UnlockView();
-

will change the character's EGO view to view 12, perform an animation using loop 0, wait until the animation finishes and then return the character to his normal view.

-

Compatibility: Optional StopMovementStyle parameter is supported only by AGS 3.4.1 and later versions.

-

See also: Character.Animate, Character.ChangeView, Character.SpeechView, Character.LockViewAligned, Character.LockViewOffset Character.UnlockView,

-
-
-
-

Character.LockViewAligned

-

(Formerly known as SetCharacterViewEx, which is now obsolete)

-
Character.LockViewAligned(int view, int loop, Alignment, optional StopMovementStyle)
-

Sets the character's view to VIEW, and sets the character's current frame to the first frame in LOOP of VIEW.

-

The main purpose of this command is that it can align the new frame to the previous one. This is particularly useful if you want to go from the character's normal walking view to a specific animation - since characters have the central point as their 'axis', if you have a wider animation then it can be difficult to stop yourself getting a jumping effect when the animation starts.

-

Alignment can have one of the following values:

- - - - - - - - - - - - - - - - - - - - - -
aligndescription
eAlignLeftMoves the new frame so that the left hand side is at exactly the same X co-ordinate as the old one was.
eAlignCentreLeaves the frames centered in the middle.
This is the default and using this is equivalent to just calling LockView.
eAlignRightMoves the new frame so that the right hand side is at exactly the same X co-ordinate as the old one was.
-

Note that this only aligns the first frame of the animation, so to get the full benefit all your frames in the animation loop should be the same width. All following frames will be shifted by the same amount, until UnlockView is called.

-

StopMovementStyle determines what to do if character was moving when this function is called. You can pass either eStopMoving (in which case the walking character will stop), or eKeepMoving (in which case the character will keep moving). The default is eStopMoving.

-

NOTE: This function locks the character's view to the specified view, so that it can only be changed by other script commands (i.e. it won't automatically be changed by the program on regions, screen changes, etc). When you are done with the animation, call UnlockView to allow the program to take control back.

-

Example:

-
cEgo.LockViewAligned(12, 1, eAlignLeft);
-cEgo.Animate(1, 5, eOnce, eBlock, eForwards);
-cEgo.UnlockView();
-

will change the character's EGO view to view 12, perform an animation using loop 1, wait until the animation finishes and then return the character to his normal view.

-

Compatibility: Optional StopMovementStyle parameter is supported only by AGS 3.4.1 and later versions.

-

See also: Character.LockView, Character.LockViewOffset, Character.UnlockView

-
-
-
-

Character.LockViewFrame

-

(Formerly known as SetCharacterFrame, which is now obsolete)

-
Character.LockViewFrame(int view, int loop, int frame, optional StopMovementStyle)
-

Sets the character's graphic to frame FRAME of loop LOOP of view number VIEW. This is useful if you don't want an animation, but just want to change the character to display a specific frame.

-

The frame will be locked to the one you specify until you call UnlockView.

-

StopMovementStyle determines what to do if character was moving when this function is called. You can pass either eStopMoving (in which case the walking character will stop), or eKeepMoving (in which case the character will keep moving). The default is eStopMoving.

-

Example:

-
cEgo.LockViewFrame(AGHAST, 2, 4);
-Wait(40);
-cEgo.UnlockView();
-

will change EGO to have frame 4 of loop 2 in the AGHAST view, wait for a second, then return him to normal.

-

Compatibility: Optional StopMovementStyle parameter is supported only by AGS 3.4.1 and later versions.

-

See also: Character.Animate, Character.LockView, Character.UnlockView

-
-
-
-

Character.LockViewOffset

-

(Formerly known as SetCharacterViewOffset, which is now obsolete)

-
Character.LockViewOffset(int view, int xOffset, int yOffset, optional StopMovementStyle)
-

Sets the character's view to VIEW, in the same way as LockView does. However, it also adds a specified offset to all the character's frames until UnlockView is called.

-

The XOFFSET and YOFFSET parameters specify in actual game resolution units how much to move the character's sprite. Positive values for X move right, for Y move down; negative values do the opposite.

-

This command is designed to allow you to cope with those niggly situations where animations don't quite line up with the standing frame, assuming all the frames of the animation are the same size. Note that LockViewAligned is easier to use if your frames will align at the left or right hand side.

-

StopMovementStyle determines what to do if character was moving when this function is called. You can pass either eStopMoving (in which case the walking character will stop), or eKeepMoving (in which case the character will keep moving). The default is eStopMoving.

-

NOTE: You should only use this command for minor adjustments, since the offsets do not affect the clickable area of the character, what walkable area he is in, and so forth. You should limit the use of this command to in-game cutscenes where the player has no control.

-

NOTE: This function locks the character's view to the specified view, so that it can only be changed by other script commands (i.e. it won't automatically be changed by AGS on walkable areas, screen changes, etc). When you are done with the animation, call UnlockView to allow AGS to take control back.

-

Example:

-
cEgo.LockViewOffset(12, 1, -1);
-cEgo.Animate(1, 5, eOnce, eBlock, eForwards);
-cEgo.UnlockView();
-

will change EGO's view to view 12 and animate using loop 1, meanwhile all frames will be shifted 1 pixel right and 1 pixel up.

-

Compatibility: Optional StopMovementStyle parameter is supported only by AGS 3.4.1 and later versions.

-

See also: Character.LockView, Character.LockViewAligned, Character.UnlockView

-
-
-
-

Character.LoseInventory

-

(Formerly known as global function LoseInventory, which is now obsolete)
(Formerly known as LoseInventoryFromCharacter, which is now obsolete)

-
Character.LoseInventory(InventoryItem *item)
-

Removes one quantity of the specified inventory item from the character's inventory. If they do not have the item, nothing happens.

-

To completely remove an item of quantity greater than one will require calling the function InventoryQuantity times.

-

The parameter is the inventory item's Script O-Name from the editor.

-

Example:

-
cEgo.LoseInventory(iKey);
-

will make the character EGO lose the inventory item iKey from the inventory tab.

-

NOTE: Make sure you check the Mouse.Mode after taking away an inventory item from a character, especially when the active cursor is the inventory item the player just lost. Something like Mouse.Mode = eModeInteract; in the line after the LoseInventory command helps when you use the 2 click controls.

-

See also: Character.AddInventory, Character.InventoryQuantity

-
-
-
-

Character.Move

-
Character.Move(int x, int y, optional BlockingStyle,
-               optional WalkWhere);
-

Starts the character moving from its current location to (X,Y), but does not play the character's walking animation.

-

The parameters to this command are identical to the Character.Walk command -- see that page for more details. The only difference is that Walk plays the walking animation whereas Move does not.

-

In the vast majority of cases, you will use Character.Walk instead.

-

Example:

-
cEgo.Move(155, 122, eBlock);
-

will make the character move to 155,122 without playing his walking animation. The script will not continue until the character has reached his destination.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Character.AddWaypoint, Character.FaceCharacter, Character.Walk, MoveCharacterToObject, Object.Move, Character.StopMoving

-
-
-
-

Character.PlaceOnWalkableArea

-

(Formerly known as MoveToWalkableArea, which is now obsolete)

-
Character.PlaceOnWalkableArea()
-

Places the character in the nearest walkable area to its current location. If the character is already on a walkable area, nothing happens.

-

This is useful for example in the Player Enters Room event of a room, to make sure the character can move if a ChangeRoom with co-ordinates has been issued to get there. You could also use this in on_event for eEventEnterRoomBeforeFadein to use whenever a player enters a room.

-

NOTE: PlaceOnWalkableArea ignores any parts of the room beyond room Edges. This was done so, because Edges usually serve like an area boundaries and may trigger player leaving the room.

-

NOTE: PlaceOnWalkableArea is searching for valid walkable areas not pixel by pixel, but in intervals of 5 pixels. This was originally done for performance reasons. Because of that it may fail if walkable areas are too thin.

-

Example:

-
cEgo.x = Random(320);
-cEgo.y = Random(200);
-cEgo.PlaceOnWalkableArea();
-

will move character EGO to a random position but make sure that he is on a walkable area.

-
-
-
-

Character.RemoveTint

-
Character.RemoveTint()
-

Undoes the effects of calling Tint, and returns the character to using the room's ambient tint.

-

Example:

-
player.Tint(0, 250, 0, 30, 100);
-Wait(40);
-player.RemoveTint();
-

will tint the player character green for a second, then turn it back to normal.

-

See also: Character.HasExplicitTint, Character.Tint

-
-
-
-

Character.IsInteractionAvailable

-
Character.IsInteractionAvailable(CursorMode)
-

Checks whether there is an event handler defined for activating the character in cursor mode MODE.

-

This function is very similar to RunInteraction, except that rather than run the event handler script function, it simply returns true if something would have happened, or false if unhandled_event would have been run.

-

Example:

-
if (cNPC.IsInteractionAvailable(eModeTalkto) == 0)
-    Display("speaking with this character would not do anything.");
-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: IsInteractionAvailable, Character.RunInteraction

-
-
-
-

Character.RunInteraction

-

(Formerly known as RunCharacterInteraction, which is now obsolete)

-
Character.RunInteraction(CursorMode)
-

Fires the event script as if the player had clicked the mouse on the character in the specified cursor mode. This is one of the mouse cursor modes, as defined in your Cursors tab in the editor.

-

Example:

-
cMan.RunInteraction(eModeTalk);
-

will execute the code defined in the MAN's "TALK TO CHARACTER" event.

-

See also: Room.ProcessClick, Character.IsInteractionAvailable, Hotspot.RunInteraction, InventoryItem.RunInteraction

-
-
-
-

Character.Say

-

(Formerly known as DisplaySpeech, which is now obsolete)

-
Character.Say(string message, ...)
-

Plays speech by the given character. The actual look and behavior of a speech depends on the speech style settings, which may be configured in General Settings or Speech functions in script.

-

If a character has a valid Speech View assigned to it, that view will be used to animate either character itself or character's portrait.

-
    -
  • Lucasarts style: displays the text above the character's head, animates character using Speech View.
  • -
  • Sierra style, with or without background: displays character's portrait and speech in fixed position at the top of the screen. Animates portrait using Speech View.
  • -
  • WholeScreen style: covers whole room with a black overlay, and displays character's portrait and speech in the middle. Animates portrait using Speech View.
  • -
-

The text will remain on screen for a limited time, and the player may or may not be able to click it away depending on the setting of "Allow speech to be skipped" and runtime property Speech.SkipStyle.

-

Character.Say supports playing a voice file. For that you need to precede the text with &N, where N is a voice clip's number. For more information, see the Voice speech section.

-

This function is used by the dialog scrips by default, using it in normal script is fully equivalent to having "charname: message" in the dialog.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Examples:

-
cEgo.Say("My name is Ego.");
-

Will display a simple text.

-
cEgo.Say("My age is %d", age_variable);
-

Will display a text and print some variable in it.

-
cEgo.Say("&5 Hear me talking.");
-

Will display a text and play voice clip named "EGO5".

-

See also: Display, Character.SayAt, Character.SayBackground, Character.Think, Speech Voice speech

-
-
-
-

Character.SayAt

-

(Formerly known as DisplaySpeechAt, which is now obsolete)

-
SayAt(int x, int y, int width, string message, ...)
-

Similar to Say, except that the text is displayed with its top left corner at (X,Y), in an area WIDTH wide.

-

You can use this function to write the character's speech text anywhere you like, and AGS will still play the character's talking animation and so on if appropriate.

-

As of AGS 3.6.1, you can insert the value of variables into the message. For more information, see the string formatting section.

-

NOTE: This function does not support Whole-Screen speech.

-

Example:

-
cEgo.SayAt(220, 20, 100, "My name is ego");
-

will display the message in the top right corner of the screen, whilst playing the character's talking animation.

-

See also: Character.Say, Character.SayBackground

-
-
-
-

Character.SayBackground

-

(Formerly known as DisplaySpeechBackground, which is now obsolete)

-
Overlay* Character.SayBackground(string message, ...)
-

Similar to Say, except that this function returns immediately and the game continues while the character is talking. This allows you to have characters talking in the background while the player does other things. Note that the character's talking animation is not played if this function is used.

-

This command works by creating a text overlay with an automatic removal time delay. The overlay is returned by this command, so you can save it for use later with Overlay.IsValid and Overlay.Remove, if you want to remove the text prematurely.

-

If background speech is already on-screen for the character, it will be removed and replaced with the new MESSAGE.

-

All background speech is automatically removed when a normal Say command is used (unless you set the global variable game.bgspeech_stay_on_display to 1).

-

As of AGS 3.6.1, you can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
cMan.SayBackground("Hey, why won't you talk to me?");
-

will display the message above character MAN's head without pausing the game.

-

See also: Character.Say

-
-
-
-

Character.SetAsPlayer

-

(Formerly known as SetPlayerCharacter, which is now obsolete)

-
Character.SetAsPlayer()
-

Changes the character which the player controls to the specified character. This function will also cause the room to change to the room which the chosen character is currently in (though as with ChangeRoom, the change won't happen until the end of the script).

-

Additionally, calling this command will cause the "player" variable to be updated to point to the specified character.

-

Example:

-
cMan.SetAsPlayer();
-

will change the character that the player controls to character MAN and also change to the room that MAN is in, if he is not in the current room.

-

See also: Character.ID, Character.ChangeRoom

-
-
-
-

Character.SetLightLevel

-
void Character.SetLightLevel(int light_level)
-

Sets individual light level for this character.

-

The light level is from -100 to 100.

-

In 8-bit games you cannot use positive light level for brightening effect, but you may still use negative values to produce darkening effect.

-

To disable character lighting and tinting effects, call RemoveTint.

-

NOTE: Setting a light level will disable any RGB tint set for the character.

-

NOTE: Character's individual light level OVERRIDES both ambient light level and local region light level.

-

Example:

-
cEgo.SetLightLevel(100);
-

This will give character EGO maximal individual brightness.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.Tint, SetAmbientLightLevel, Object.SetLightLevel, Region.LightLevel

-
-
-
-

Character.SetIdleView

-

(Formerly known as SetCharacterIdle, which is now obsolete)

-
Character.SetIdleView(int idleview, int delay)
-

Changes the character's idle view to IDLEVIEW, with a timeout of DELAY seconds of inactivity before it is played. Inactivity is defined as when the character is not moving and not being animated.

-

Setting DELAY to 0 causes the idle view to be looped continuously when the character is not moving - this is useful when for example the character is swimming and they need to tread water when idle.

-

Pass IDLEVIEW as -1 to disable the idle view completely.

-

NOTE: The DELAY is actually relative to the game speed. Setting this to 1 means a one second delay at the default 40 fps, but if you have adjusted the game speed then the delay will be adjusted accordingly.

-

NOTE: Due to a quirk in AGS, you cannot set the Idle View to view 1. In the unlikely event that you created your idle view in View 1, you'll need to move it to another view number.

-

Example:

-
cEgo.SetIdleView(12, 30);
-

will change/set the character EGO's idle view to 12. The idle view will be played if the character is idle for 30 seconds.

-
-
-
-

Character.SetWalkSpeed

-

(Formerly known as SetCharacterSpeed, which is now obsolete)
(Formerly known as SetCharacterSpeedEx, which is now obsolete)

-
Character.SetWalkSpeed(int x_speed, int y_speed)
-

Changes the character to have a walking speed of X_SPEED in the horizontal direction and Y_SPEED in the vertical direction. The values used for X_SPEED and Y_SPEED are identical to those set in the AGS Editor for walking speed.

-

X_SPEED and Y_SPEED can be identical, in which case the character moves with the same speed in any direction. (the editor calls this "Uniform movement speed")

-

NOTE: This function CANNOT be called while the character is moving, so you must stop him first.

-

Example:

-
cEgo.SetWalkSpeed(10, 10);
-

will change the character EGO's speed to 10.

-

See also: Character.AnimationSpeed, Character.StopMoving, Character.Walk, Character.WalkSpeedX, Character.WalkSpeedY

-
-
-
-

Character.StopMoving

-

(Formerly known as global function StopMoving, which is now obsolete)

-
Character.StopMoving()
-

Stops the character moving and sets its graphic to the standing frame of the current loop.

-

Example:

-
if (cEgo.x > 299)
-{
-    cEgo.StopMoving();
-}
-

will stop the character when he reaches the coordinate x=300.

-

See also: Character.Walk, Object.StopMoving

-
-
-
-

Character.Think

-

(Formerly known as DisplayThought, which is now obsolete)

-
Character.Think(string message, ...)
-

Displays the text MESSAGE as a thought above the specified character's head. The text will remain on screen for a limited time, and the user may or may not be able to click it away depending on the setting of "Player can't skip speech text".

-

How this function displays the text depends on a few things: the Speech Style setting, the "Custom thought bubble GUI" setting, and whether the character has a thinking animation or not.

-

If the "Custom thought bubble GUI" setting is not set, then the thought will be displayed in the same way as normal speech - the difference being that the character's thinking animation will play (or no animation if they don't have one).

-

If you are using Sierra-style speech and the character doesn't have a thinking animation, the thought bubble will be displayed in LucasArts-style.

-

If the "Custom thought bubble GUI" setting has been set, then the thought will be displayed like normal speech, except that the bubble GUI will be used for the window background. In LucasArts-style speech this means above the character's head, in Sierra-style it will be done along the top of the screen as normal.

-

If the character has a thinking animation, it will just loop through once (it won't repeat).

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
cEgo.Think("I wonder what's for dinner.");
-

will display the message above EGO's head and play the character's thinking animation.

-

See also: Character.BlinkWhileThinking, Character.Say, Character.Thinking, Character.ThinkingFrame, Character.ThinkView, game.speech_bubble_width

-
-
-
-

Character.Tint

-
Character.Tint(int red, int green, int blue,
-               int saturation, int luminance)
-

Tints the character on the screen to (RED, GREEN, BLUE) with SATURATION percent saturation.

-

This function applies a tint to a specific character. For the meaning of all the parameters, see SetAmbientTint.

-

The tint set by this function overrides any ambient tint set for the room. For this reason, passing the SATURATION as 0 to this function does not turn it off - rather, it ensures that no tint is applied to the character (even if an ambient tint is set).

-

To remove the tint set by this function and return to using the ambient tint for this character, call RemoveTint.

-

NOTE: This function only works in hi-color games and with hi-color sprites.

-

Example:

-
cEgo.Tint(0, 250, 0, 30, 100);
-

will tint the EGO character green.

-

See also: Character.HasExplicitTint, Character.RemoveTint, SetAmbientTint

-
-
-
-

Character.TintBlue

-
readonly int Character.TintBlue
-

Gets the Blue setting for the character's current tint.

-

This property is read-only; to change it, use the Character.Tint command.

-

NOTE: If the Character.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Character.Tint, Character.HasExplicitTint, Character.TintGreen, Character.TintRed, Character.TintLuminance

-
-
-
-

Character.TintGreen

-
readonly int Character.TintGreen
-

Gets the Green setting for the character's current tint.

-

This property is read-only; to change it, use the Character.Tint command.

-

NOTE: If the Character.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Character.Tint, Character.TintBlue, Character.TintRed, Character.TintSaturation, Character.TintLuminance

-
-
-
-

Character.TintRed

-
readonly int Character.TintRed
-

Gets the Red setting for the character's current tint.

-

This property is read-only; to change it, use the Character.Tint command.

-

NOTE: If the Character.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Character.Tint, Character.TintBlue, Character.TintGreen, Character.TintSaturation, Character.TintLuminance

-
-
-
-

Character.TintSaturation

-
readonly int Character.TintSaturation
-

Gets the saturation setting for the character's current tint.

-

This property is read-only; to change it, use the Character.Tint command.

-

NOTE: If the Character.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Character.Tint, Character.TintBlue, Character.TintGreen, Character.TintRed, Character.TintLuminance

-
-
-
-

Character.TintLuminance

-
readonly int Character.TintLuminance
-

Gets the luminance setting for the character's current tint.

-

This property is read-only; to change it, use the Character.Tint command.

-

NOTE: If the Character.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Character.Tint, Character.TintBlue, Character.TintGreen, Character.TintRed, Character.TintSaturation

-
-
-
-

Character.UnlockView

-

(Formerly known as ReleaseCharacterView, which is now obsolete)

-
Character.UnlockView(StopMovementStyle=eStopMoving)
-

Allows the engine to automatically control the character's view, as normal. Use this once you have finished doing the animation which you started with the LockView command.

-

StopMovementStyle determines what to do if character was moving when this function is called. You can pass either eStopMoving (in which case the walking character will stop), or eKeepMoving (in which case the character will keep moving). The default is eStopMoving.

-

Example:

-
cEgo.LockView(12);
-cEgo.Animate(0, 0, eOnce, eBlock, eForwards);
-cEgo.UnlockView();
-

will play an animation using loop 0 of view 12, then return the character to its normal view.

-

Compatibility: Optional StopMovementStyle parameter is supported only by AGS 3.4.1 and later versions.

-

See also: Character.LockView

-
-
-
-

Character.Walk

-

(Formerly known as MoveCharacter, which is now obsolete)
(Formerly known as MoveCharacterBlocking, which is now obsolete)
(Formerly known as MoveCharacterDirect, which is now obsolete)

-
Character.Walk(int x, int y, optional BlockingStyle,
-               optional WalkWhere);
-

Starts the character moving from its current location to (X,Y), whilst playing his walking animation.

-

If blocking is eNoBlock (the default) then control returns to the script immediately, and the character will move in the background.

-

If blocking is eBlock then this command will wait for the character to finish moving before your script resumes.

-

If walkWhere is eWalkableAreas (the default), then the character will attempt to get as close a possible to (X,Y) by using the room's walkable areas.

-

If walkWhere is eAnywhere, then the character will simply walk directly from its current location to (X,Y), ignoring the room walkable areas.

-

If you don't want the character's walking animation to play, you can use the Move command instead.

-

NOTE: this function only works with characters which are on the current screen.

-

NOTE: if you need to find out when the character has reached its destination, use the Moving property.

-

Example:

-
cEgo.Walk(155, 122, eBlock);
-

will make the character walk to 155,122. The script will not continue until the character has reached his destination.

-

See also: Character.AddWaypoint, Character.FaceCharacter, Character.Move, MoveCharacterToObject, Object.Move, Character.StopMoving

-
-
-
-

Character.WalkStraight

-

(Formerly known as MoveCharacterStraight, which is now obsolete)

-
Character.WalkStraight(int x, int y, optional BlockingStyle);
-

Moves the character from its current location towards (X,Y) in a straight line as far as is possible before hitting a non-walkable area. This is useful for use with the arrow keys for character movement, since it guarantees that the character will move in a straight line in the direction specified.

-

blocking determines whether the function waits for the character to finish moving before your script resumes. eNoBlock is the default (which means your script resumes straight away, and the character moves in the background). You can also pass eBlock, in which case your script will not resume until the character finishes moving.

-

Example:

-
cEgo.WalkStraight(166, 78);
-

will move the character EGO in a straight line towards co ordinates 166,78 until he hits a non walkable area.

-

See also: Character.Walk

-
-
-
-

Character.ActiveInventory

-

(Formerly known as SetActiveInventory, which is now obsolete)
(Formerly known as character[].activeinv, which is now obsolete)

-
InventoryItem* Character.ActiveInventory
-

Gets/sets the character's current active inventory item. Setting it will update the mouse cursor if appropriate.

-

This property is useful in "Use inventory on hotspot/character/etc" events, to find out which inventory item the player is trying to use on the target.

-

To deselect the current inventory, set it to null.

-

Example:

-
cEgo.ActiveInventory = iKey;
-

will make the inventory item iKey active (before you use it make sure that the player has the inventory item)

-
-
-
-

Character.Animating

-

(Formerly known as character[].animating, which is now obsolete)

-
readonly bool Character.Animating
-

Returns 1 if the character is currently animating.
Returns 0 if the character has finished its animation.

-

This property is read-only. To change character animation, use the Animate command.

-

Example:

-
cEgo.Animate(5, 0);
-while (cEgo.Animating) Wait(1);
-

will animate EGO and wait until the animation finishes.

-

In reality, you would simply use the Blocking parameter of Animate so you wouldn't need to do this.

-

See also: Character.Animate, Character.Moving, Character.Speaking, Character.Thinking

-
-
-
-

Character.AnimationSpeed

-

(Formerly known as character[].animspeed, which is now obsolete)

-
int Character.AnimationSpeed;
-

Gets/sets the character's animation delay, as set in the editor.

-

Example:

-
player.AnimationSpeed = 4;
-

will change the player character's animation speed to 4.

-

See also: Character.SetWalkSpeed, Character.SpeechAnimationDelay

-
-
-
-

Character.AnimationVolume

-
int Character.AnimationVolume
-

Gets/sets the character's animation sound volume, which is a relative volume (0-100) of frame-linked sounds that play during character's animations.

-

NOTE: all the volume properties in Character act as relative factors: these are AnimationVolume, "volume" parameter of Animate function, and character's scale if ScaleVolume is also set. The final frame sound's volume will be equal to sound volume * AnimationVolume % * scaled volume % in case of a normal view animation (walking, talking, etc), and sound volume * AnimationVolume % * scaled volume % * Animate's volume param % when Animate is called.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

SeeAlso: Character.Animate, Character.ChangeView, Character.ScaleVolume, Character.View

-
-
-
-

Character.Baseline

-

(Formerly known as SetCharacterBaseline, which is now obsolete)

-
int Character.Baseline
-

Gets/sets the character's baseline. This allows you to set a specific base line for the character, which works similarly to walk-behind area and object baselines.

-

The baseline can be from 1 to the height of the room. Setting it to 0 will make character go back to using its y coordinate as the baseline.

-

IMPORTANT: If two or more Character (or other objects) have equal Baseline, their draw order is undefined, and should not be relied upon. This is because of how sprite sorting is done in the engine.

-

Example:

-
cEgo.Baseline = 120;
-

will move the character's baseline (which can be used for testing collisions, or for walk-behinds) to a line positioned at y coordinate = 120.

-

See also: Object.Baseline, SetWalkBehindBase

-
-
-
-

Character.BlinkInterval

-

(Formerly part of SetCharacterBlinkView, which is now obsolete)

-
int Character.BlinkInterval
-

Gets/sets the character's blinking interval, which specifies how long the game waits between playing the blinking animation. This is specified in game loops - an interval of 80 would play the blinking animation about every 2 seconds.

-

This property has no effect if no BlinkView has been set.

-

NOTE: blinking animation works only for Sierra-style or QFG4-style speech, when the SpeechView is displaying a character's portrait.

-

Example:

-
cEgo.BlinkView = 10;
-cEgo.BlinkInterval = 160;
-

will change the character EGO's blink view to view 10, and play the animation every 4 seconds.

-

See also: Character.BlinkView, Character.SpeechView

-
-
-
-

Character.BlinkView

-

(Formerly part of SetCharacterBlinkView, which is now obsolete)

-
int Character.BlinkView
-

Gets/sets the character's blinking view. To stop the character from blinking, set this to -1.

-

The BlinkInterval property sets how often the blinking animation is played.

-

NOTE: blinking animation works only for Sierra-style or QFG4-style speech, when the SpeechView is displaying a character's portrait.

-

Example:

-
cEgo.BlinkView = 10;
-cEgo.BlinkInterval = 160;
-

will change the character EGO's blink view to view 10, and play the animation every 4 seconds.

-

See also: Character.BlinkInterval, Character.SpeechView

-
-
-
-

Character.BlinkWhileThinking

-
bool Character.BlinkWhileThinking
-

Gets/sets whether the character can blink while thinking. By default this is set to true, but if your blinking animation only goes with the talking animation and not the thinking one, you can stop the character from blinking while Thinking by setting this to false.

-

NOTE: blinking animation works only for Sierra-style or QFG4-style speech, when the ThinkView is displaying a character's portrait.

-

Example:

-
cEgo.BlinkWhileThinking = false;
-

will stop EGO from blinking while his thinking animation is playing.

-

See also: Character.BlinkView, Character.Think

-
-
-
-

Character.BlockingHeight

-
int Character.BlockingHeight
-

Gets/sets the character's blocking height.

-

The blocking height determines how large of a blocking rectangle the character exerts to stop other characters walking through it. If this is set to 0 (the default), then the blocking rectangle is automatically calculated to be the character's width, and 5 pixels high.

-

You can manually change the setting by entering a blocking height in pixels, which is the size of walkable area that the character effectively removes by standing on it.

-

NOTE: This property has no effect unless the Solid property is set to true.

-

Example:

-
cEgo.BlockingHeight = 20;
-

will make EGO block 20 pixels high (10 above and 10 below his baseline)

-

See also: Character.BlockingWidth, Character.Solid

-
-
-
-

Character.BlockingWidth

-
int Character.BlockingWidth
-

Gets/sets the character's blocking width.

-

The blocking width determines how large of a blocking rectangle the character exerts to stop other characters walking through it. If this is set to 0 (the default), then the blocking rectangle is automatically calculated to be the character's width, and 5 pixels high.

-

You can manually change the setting by entering a blocking width in pixels, which is the size of walkable area that the character effectively removes by standing on it.

-

NOTE: This property has no effect unless the Solid property is set to true.

-

Example:

-
cEgo.BlockingWidth = 50;
-

will make EGO block 50 pixels wide (25 pixels to the left of his X co-ordinate, and 25 to the right)

-

See also: Character.BlockingHeight, Character.Solid

-
-
-
-

Character.Clickable

-

(Formerly known as SetCharacterClickable, which is now obsolete)

-
bool Character.Clickable
-

Gets/sets whether the character is recognized as something which the player can interact with. This allows you to modify the "Clickable" property set initially in the Editor.

-

If you set this to true then the player can look at, speak to, and so on the character (as with the old Sierra games). If you set this to false, then if the player clicks on the character it will activate whatever is behind them (as with the old LucasArts games).

-

Example:

-
cMan.Clickable = 0;
-

will make the game ignore clicks on the character MAN.

-

See also: Object.Clickable, Character.Move, Character.Moving, Character.Walk

-
-
-
-

Character.DestinationX

-
readonly int Character.DestinationX
-

Gets the X coordinate of the character's final moving destination. If character is not walking or moving it is equal to its current position.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.DestinationY, Character.Move, Character.Moving, Character.Walk

-
-
-
-

Character.DestinationY

-
readonly int Character.DestinationY
-

Gets the Y coordinate of the character's final moving destination. If character is not walking or moving it is equal to its current position.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Character.DestinationX, Character.Move, Character.Moving, Character.Walk

-
-
-
-

Character.DiagonalLoops

-

(Formerly part of SetCharacterProperty, which is now obsolete)

-
bool Character.DiagonalLoops
-

Gets/sets whether diagonal walking loops are used for the character. If this is set to true, then loops 4-7 will be used as diagonal walking loops. If this is set to false, then the character will only face in 4 directions and you can use loops 4-7 for other purposes.

-

Example:

-
cEgo.DiagonalLoops = true;
-

will enable diagonal walking loops for character EGO.

-
-
-
-

Character.Frame

-

(Formerly known as character[].frame, which is now obsolete)

-
int Character.Frame
-

Gets/sets the character's current frame number. Usually you won't change this directly, but will use the Animate command to play an animation.

-

Example:

-
Display("EGO currently using frame %d.", cEgo.Frame);
-

displays EGO's current frame number within his view.

-

SeeAlso: Character.Animate, Character.Loop, Character.View

-
-
-
-

Character.HasExplicitTint

-
readonly bool Character.HasExplicitTint
-

Returns true if the character has a tint set explicitly with the Character.Tint command.

-

Returns false if the character has no explicit tint, but it may still be tinted by SetAmbientTint or a region tint.

-

Example:

-
if (player.HasExplicitTint)
-{
-    player.RemoveTint();
-}
-

removes the player's tint if it currently has one.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

SeeAlso: Character.Tint, Character.RemoveTint

-
-
-
-

Character.ID

-
readonly int Character.ID
-

Gets the character's ID number. This is the character's number from the editor, and is useful if you need to interoperate with legacy code that uses the character's number rather than name.

-

Example:

-
MoveCharacter(cEgo.ID, 100, 50);
-

uses the obsolete MoveCharacter function to move EGO to (100, 50)

-
-
-
-

Character.IdleAnimationDelay

-
int Character.IdleAnimationDelay
-

Gets/sets the character's idle animation delay

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

SeeAlso: Character.IdleView, Character.SetIdleView

-
-
-
-

Character.IdleView

-
readonly int Character.IdleView
-

Gets the character's current idle view. If the character doesn't have one, returns -1.

-

This property is read-only; to change the view, use the SetIdleView function.

-

Example:

-
Display("EGO's idle view is currently view %d.", cEgo.IdleView);
-

will display EGO's current idle view number.

-

SeeAlso: Character.SetIdleView

-
-
-
-

Character.IgnoreLighting

-

(Formerly known as SetCharacterIgnoreLight, which is now obsolete)

-
bool Character.IgnoreLighting
-

Allows you to dynamically modify the "ignore lighting" checkbox for the character. If this is set to 0, the character will be affected by region light levels and tints; if this is set to 1, then the character will ignore all region lighting.

-

Example:

-
cEgo.IgnoreLighting = 1;
-

will make the character look the same no matter if he stands on regions with different light levels.

-
-
-
-

Character.IgnoreWalkbehinds

-

This property is obsolete since AGS 3.5.0 and not recommended for use at all.

-

(Formerly known as SetCharacterIgnoreWalkbehinds, which is now obsolete)

-
bool Character.IgnoreWalkbehinds
-

Gets/sets whether the character is affected by walkbehind areas. Passing false (the default setting) means that the character will be placed behind walk- behind areas according to the relevant baselines.

-

Passing true means that the character will never be placed behind a walk-behind area. This is useful if for example you want to use the character as an overlay to display rain or snow onto a scene.

-

IMPORTANT: This property is a "dirty hack" and not recommended for use at all. It breaks the logic of drawing order for room elements, and only works as intended if your game is run using Software graphics driver. We strongly suggest to design your rooms without it and rely on Baseline property instead.

-
-
-
-

Character.InventoryQuantity

-

(Formerly known as character[].inv, which is now obsolete)

-
int Character.InventoryQuantity[]
-

Gets/sets the quantity of the specified inventory item that the character currently has. The array index is the inventory item number, from the Inventory pane in the editor.

-

Usually, you should use the AddInventory and LoseInventory functions to modify the character's inventory; however, if you need to add or remove a large number of items in one go, directly changing this array can be an easier method.

-

If you change this array directly, the on-screen inventory will not be updated. In this case, you must call UpdateInventory to see any new or removed items.

-

If you just want to quickly check whether the character has a particular item or not, use the HasInventory function instead.

-

Example:

-
Display("The player has $%d.", player.InventoryQuantity[iCash.ID]);
-

will display how many inventory items of type iCash the player has.

-

See also: UpdateInventory, Character.AddInventory, Character.HasInventory, Character.LoseInventory

-
-
-
-

Character.Loop

-

(Formerly known as character[].loop, which is now obsolete)

-
int Character.Loop
-

Gets/sets the character's current loop number. Usually you won't change this directly, but will use the Animate command to play an animation.

-

Example:

-
Display("EGO currently using loop %d.", cEgo.Loop);
-

displays EGO's current loop number within his view.

-

SeeAlso: Character.Animate, Character.Frame, Character.View

-
-
-
-

Character.ManualScaling

-

(Formerly known as Character.IgnoreScaling, which is now obsolete)
(Formerly part of SetCharacterProperty, which is now obsolete)

-
bool Character.ManualScaling
-

Gets/sets whether the character's scaling level is determined by the walkable area that he is walking on, or whether it is set manually by the script. This is equivalent, though opposite, to the "UseRoomAreaScaling" property in the Character pane of the editor.

-

If this is set to true, then the character's scaling level is set manually by the Scaling property (by default this is 100%). If it is set to false, then the character will be stretched or shrunk automatically as appropriate on walkable areas.

-

Example:

-
cEgo.ManualScaling = true;
-cEgo.Scaling = 50;
-

will tell EGO to ignore walkable area scaling levels and be fixed to 50% zoom level.

-

SeeAlso: Character.Scaling

-
-
-
-

Character.MovementLinkedToAnimation

-
bool Character.MovementLinkedToAnimation
-

Gets/sets whether the character's movement is linked to their animation. By default this is true, which means that when the character is walking their movement across the screen will be kept in sync with their animation frame changing. Without this, the character can appear to "glide" across the screen.

-

In some special cases you may wish to turn this off though, and to do so you can set this property to false.

-

In previous versions of AGS, this setting was known as "Anti-glide mode" and was a game-wide setting.

-

Example:

-
player.MovementLinkedToAnimation = false;
-player.Walk(50, 100, eBlock);
-player.MovementLinkedToAnimation = true;
-

will turn off movement-linked animation for the player character, walk him to (50,100), then turn it back on again.

-

Compatibility: Supported by AGS 3.1.1 and later versions.

-

See also: Character.Move, Character.Moving, Character.Walk

-
-
-
-

Character.Moving

-

(Formerly known as character[].walking, which is now obsolete)

-
readonly bool Character.Moving
-

Returns true if the character is currently moving, or false if not.

-

This property is read-only; to change the character's movement, use the Walk, Move and StopMoving commands.

-

Example:

-
cEgo.Walk(125, 40);
-while (cEgo.Moving) Wait(1);
-

will move EGO to 125,40 and return control to the player when he gets there.

-

See also: Character.Animating, Character.Move, Character.Speaking, Character.StopMoving, Character.Thinking, Character.Walk

-
-
-
-

Character.Name

-

(Formerly known as character[].name, which is now obsolete)

-
String Character.Name
-

Gets/sets the name of the character, as set in the AGS Editor. This is the full name, not the script name.

-

Example:

-
Display("You are controlling %s.", player.Name);
-

will display the name of the player character.

-

Compatibility: character's name was limited to 40 characters prior to AGS 3.6.1.

-

See also: Character.ScriptName

-
-
-
-

Character.NormalView

-

(Formerly known as character[].defview, which is now obsolete)

-
readonly int Character.NormalView
-

Gets the character's normal view. This is the character's standard walking view, that is used when his view is not locked to something else.

-

This property is read-only; to change it, use the ChangeView command.

-

Example:

-
if (cEgo.View == cEgo.NormalView) {
-    Display("EGO is not animating, not talking and not idle.");
-}
-

will display a message if EGO is currently displayed using his normal view.

-

See also: Character.ChangeView, Character.View

-
-
-
-

Character.on

-
int Character.on
-

Gets/sets whether the character is enabled and visible. This lets you disable any character anytime, including player character. When disabled a character will not be drawn on screen and not updated (not animating, not moving, etc). Disabled characters may still be modified and have their coordinates changed by setting their corresponding properties directly, and also moved to another room with ChangeRoom function.

-

Rooms have a property called "ShowPlayerCharacter", which is enabled by default. If this property is disabled, then player character will have their on property set to 0 when such room is loaded, and restored it to 1 when leaving that room.

-
-
-
-

Character.PreviousRoom

-

(Formerly known as character[].prevroom, which is now obsolete)

-
readonly int Character.PreviousRoom
-

Gets the room number that the character was previously in. If the character is still in the room that they started in, this will be -1. Otherwise, it will be the room number of the room that they were last in.

-

This is a read-only property. It is set automatically by ChangeRoom.

-

Example:

-
Display("EGO's previous room was %d.", cEgo.PreviousRoom);
-

will display the EGO character's previous room.

-
-
-
-

Character.Room

-

(Formerly known as character[].room, which is now obsolete)

-
readonly int Character.Room
-

Gets the room number that the character is currently in.

-

This is a read-only property. It is set by ChangeRoom.

-

Example:

-
Display("EGO is in room %d.", cEgo.Room);
-

will display the EGO character's current room.

-
-
-
-

Character.ScaleMoveSpeed

-

(Formerly part of SetCharacterProperty, which is now obsolete)

-
bool Character.ScaleMoveSpeed
-

Gets/sets whether the character's movement speed is adjusted in line with his current scaling level. This allows you to modify the "Adjust speed with scaling" option from the editor.

-

If you set this to true, the character's movement speed will be adjusted so that he walks at a speed relative to his current scaling level. If you set this to false, the character will always just move at his normal speed.

-

Example:

-
cEgo.ScaleMoveSpeed = true;
-

will mean that EGO's speed is adjusted in line with his scaling

-

See also: Character.ScaleVolume

-
-
-
-

Character.ScaleVolume

-
bool Character.ScaleVolume
-

Gets/sets whether the character's volume is adjusted in line with his current scaling level. This allows you to modify the "Adjust volume with scaling" option from the editor.

-

By default, this is false. If you set it to true, then any frame-linked sounds for the character (for example, footstep sounds) will have their volume automatically adjusted in line with the character's scaling level. At the normal 100% zoom level the sounds will be played at normal volume, but will then get quieter and louder as appropriate in scaled walkable areas.

-

NOTE: all the volume properties in Character act as relative factors: these are AnimationVolume, "volume" parameter of Animate function, and character's scale if ScaleVolume is also set. The final frame sound's volume will be equal to sound volume * AnimationVolume % * scaled volume % in case of a normal view animation (walking, talking, etc), and sound volume * AnimationVolume % * scaled volume % * Animate's volume param % when Animate is called.

-

Example:

-
cEgo.ScaleVolume = true;
-

will mean that EGO's footstep sounds are adjusted in line with his scaling.

-

See also: Character.ScaleVolume, Character.ScaleMoveSpeed

-
-
-
-

Character.Scaling

-
int Character.Scaling
-

Gets/sets the character's current scaling level, in percents. The permitted value range is 1 to 32767. A character that has the regular size has this property set to 100.

-

You can only set the value of this property if ManualScaling is enabled for the character; otherwise, the scaling is determined automatically based on the walkable area that the character is on.

-

This property returns the actual current scaling at any given moment, whether it was set by you or acquired from the walkable area.

-

Example:

-
cEgo.ManualScaling = true;
-cEgo.Scaling = 50;
-

will tell EGO to ignore walkable area scaling levels and be fixed to 50% zoom level.

-

Compatibility: Since AGS 3.6.0 this property's value can be in the range between 1 and 32767. In the previous versions this property could only have values in the range between 5 and 200.

-

SeeAlso: Character.ManualScaling

-
-
-
-

Character.ScriptName

-

(Formerly known as character[].scrname, which is now obsolete)

-
readonly String Character.ScriptName
-

Gets the script name of the character, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some character stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each character in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use Character.GetByName function to retrieve the character by the previously saved script name.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Character.Name, Character.GetByName

-
-
-
-

Character.Solid

-

(Formerly part of SetCharacterProperty, which is now obsolete)

-
bool Character.Solid
-

Gets/sets whether the character can be walked through by other characters.

-

If this is set to true, then the character is solid and will block the path of other characters. If this is set to false, then the character acts like a hologram, and other characters can walk straight through him.

-

Example:

-
cEgo.Solid = true;
-

will mean that EGO blocks the path other characters.

-

See also: Character.BlockingHeight, Character.BlockingWidth

-
-
-
-

Character.Speaking

-
readonly bool Character.Speaking
-

Returns true if the character is currently talking, or false if not.

-

This property is read-only. It will only return true for the active talking character; that is, it will not return true for any characters talking with the SayBackground command.

-

IMPORTANT: Character.Speaking will only return a valid value if the character has a SpeechView set. It will always return false otherwise, even while the speech text is displayed.

-

Since this property will only be true while the character is speaking, and speaking is a blocking command, this property will probably only be useful to access from the repeatedly_execute_always or late_repeatedly_execute_always handlers.

-

Example:

-
if ((cEgo.Speaking) && (!cEgo.Animating)) {
-    cEgo.Animate(3, 5, eRepeat, eNoBlock);
-}
-

will animate the character using loop 3 while they are talking (only useful with Sierra-style speech).

-

See also: Character.Animating, Character.Moving, Character.Say, Character.SpeakingFrame, Character.Thinking

-
-
-
-

Character.SpeakingFrame

-
readonly int Character.SpeakingFrame
-

Returns the current frame number of the character's talking animation. This is useful when using Sierra-style speech, if you want to synchronize events with the progress of the close-up face talking animation.

-

This property is read-only. It is only accessible while the character is speaking; if you attempt to call it when Character.Speaking is false then it will raise an error.

-

Since speaking is a blocking command, this property will probably only be useful access from the repeatedly_execute_always or late_repeatedly_execute_always handlers.

-

Example:

-
if (cEgo.Speaking) {
-    if (cEgo.SpeakingFrame == 0) {
-        cMan.Move(cMan.x + 10, cMan.y, eNoBlock, eAnywhere);
-    }
-}
-

will move cMan to the right every time the talking animation loops back to Frame 0.

-

See also: Character.Say, Character.Speaking

-
-
-
-

Character.SpeechAnimationDelay

-
int Character.SpeechAnimationDelay;
-

Gets/sets the character's speech animation delay, as set in the editor. This specifies how many game loops each frame of the character's speech animation is shown for.

-

NOTE: This property is ignored if lip sync is enabled.

-

NOTE: This property cannot be used if the Speech.UseGlobalSpeechAnimationDelay is set to true. In that case, the Speech.GlobalSpeechAnimationDelay property value is used instead.

-

Example:

-
player.SpeechAnimationDelay = 4;
-

will change the player character's speech animation speed to 4.

-

Compatibility: Supported by AGS 3.1.2 and later versions.

-

See also: Character.AnimationSpeed, Character.SpeechView, Game.TextReadingSpeed, Speech.GlobalSpeechAnimationDelay, Speech.UseGlobalSpeechAnimationDelay,

-
-
-
-

Character.SpeechColor

-

(Formerly known as SetTalkingColor, which is now obsolete)

-
int Character.SpeechColor
-

Gets/sets the character's speech text color. This is set by default in the editor.

-

NEWCOLOR is the color slot index from the Palette Editor. This can be 0-255 for a 256-color game, or one of the hi-color indexes available from the Palette Editor.

-

Example:

-
cEgo.SpeechColor = 14;
-

will change the character's EGO talking color to yellow.

-

See also: Character.SpeechView

-
-
-
-

Character.SpeechView

-

(Formerly known as SetCharacterSpeechView, which is now obsolete)
(Formerly known as character[].talkview, which is now obsolete)

-
int Character.SpeechView
-

Gets/sets the character's talking view. If you change it, the new view number will be used as the character's talking view in all future conversations.

-

You can set this to -1 to disable the character's speech view.

-

Example:

-
cEgo.SpeechView = 10;
-

will change the character EGO's speech view to view 10.

-

See also: Character.ChangeView, Character.BlinkView, Character.SpeechAnimationDelay, Character.SpeechColor

-
-
-
-

Character.Thinking

-
readonly bool Character.Thinking
-

Returns true if the character is currently thinking, or false if not.

-

This property is read-only. It will only return true for the active thinking character.

-

Since this property will only be true while the character is thinking, and thinking is a blocking command, this property will probably only be useful to access from the repeatedly_execute_always or late_repeatedly_execute_always handlers.

-

Example:

-
function repeatedly_execute_always()
-{
-    if (cEgo.Thinking)
-        cEgo.Transparency = 50;
-    else
-        cEgo.Transparency = 0;
-}
-

this will keep character semi-transparent while he is thinking.

-

Compatibility: Supported by AGS 3.3.4 and later versions.

-

See also: Character.Animating, Character.Moving, Character.Speaking Character.Think, Character.ThinkingFrame,

-
-
-
-

Character.ThinkingFrame

-
readonly int Character.ThinkingFrame
-

Returns the current frame number of the character's thinking animation. This is useful when using Sierra-style speech, if you want to synchronize events with the progress of the close-up face talking animation.

-

This property is read-only. It is only accessible while the character is thinking; if you attempt to call it when Character.Thinking is false then it will raise an error.

-

Since thinking is a blocking command, this property will probably only be useful access from the repeatedly_execute_always or late_repeatedly_execute_always handlers.

-

Example:

-
if (cEgo.Thinking) {
-    if (cEgo.ThinkingFrame == 0) {
-        cMan.Move(cMan.x + 10, cMan.y, eNoBlock, eAnywhere);
-    }
-}
-

will move cMan to the right every time the thinking animation loops back to Frame 0.

-

Compatibility: Supported by AGS 3.3.4 and later versions.

-

See also: Character.Think, Character.Thinking

-
-
-
-

Character.ThinkView

-

(Formerly known as character[].thinkview, which is now obsolete)

-
int Character.ThinkView
-

Gets/sets the character's thinking view. This is used to animate the character when a thought is being displayed.

-

Example:

-
cEgo.ThinkView = 14;
-

will change the character EGO's thinking view to 14.

-

See also: Character.Think

-
-
-
-

Character.Transparency

-

(Formerly known as SetCharacterTransparency, which is now obsolete)

-
int Character.Transparency
-

Gets/sets the character's transparency. This is specified as a percentage, from 0 to 100. 100 means fully transparent (i.e. invisible), and 0 is totally opaque (fully visible). Numbers in between represent varying levels of transparency.

-

NOTE: Transparency only works in 16-bit and 32-bit color games.

-

NOTE: When using the DirectX 5 driver, a large transparent character can significantly slow down AGS.

-

Some rounding is done internally when the transparency is stored -- therefore, if you get the transparency after setting it, the value you get back might be one out. Therefore, using a loop with cEgo.Transparency++; is not recommended as it will probably end too quickly.

-

In order to fade a character in, the best approach is shown in the example below:

-

Example:

-
int trans = cEgo.Transparency;
-while (trans < 100) {
-    trans++;
-    cEgo.Transparency = trans;
-    Wait(1);
-}
-

will gradually fade out the character from its current transparency level to being fully invisible.

-

See also: Object.Transparency

-
-
-
-

Character.TurnBeforeWalking

-

(Formerly part of SetCharacterProperty, which is now obsolete)

-
bool Character.TurnBeforeWalking
-

Gets/sets whether the character turns to face his new direction before walking. This is equivalent (though opposite) to the editor "Do not turn before walking" tick-box.

-

If you set this to 1, the character will turn on the spot to face his new direction before setting off on a walk. If you set this to 0, the character will instantly face in the correct direction and start walking.

-

Example:

-
cEgo.TurnBeforeWalking = 1;
-

will tell EGO to turn to face his new direction before setting off, whenever he walks.

-
-
-
-

Character.View

-
readonly int Character.View
-

Gets the view that the character is currently displayed using.

-

This property is read-only; to change the view, use the ChangeView and LockView functions.

-

Example:

-
Display("EGO's view is currently view %d.", cEgo.View);
-

will display EGO's current view number.

-

SeeAlso: Character.ChangeView, Character.Frame, Character.LockView, Character.Loop, Character.NormalView

-
-
-
-

Character.WalkSpeedX

-
readonly int Character.WalkSpeedX;
-

Gets the character's walking speed in the X direction. If using uniform movement, this will be the same as the Y walking speed.

-

This property is read-only. To change the walking speed, use the SetWalkSpeed function.

-

Example:

-
Display("player's x speed: %d", player.WalkSpeedX);
-

will display the player's X speed.

-

See also: Character.SetWalkSpeed, Character.WalkSpeedY

-
-
-
-

Character.WalkSpeedY

-
readonly int Character.WalkSpeedY;
-

Gets the character's walking speed in the Y direction. If using uniform movement, this will be the same as the X walking speed.

-

This property is read-only. To change the walking speed, use the SetWalkSpeed function.

-

Example:

-
Display("player's y speed: %d", player.WalkSpeedY);
-

will display the player's Y speed.

-

See also: Character.SetWalkSpeed, Character.WalkSpeedX

-
-
-
-

Character.x

-
int Character.x;
-

Gets/sets the character's current X co-ordinate. This is expressed in normal room co-ordinates, and specifies the bottom-center of the character's sprite.

-

NOTE: Do NOT change this property while the character is moving. Make sure the character is standing still before changing his co-ordinates.

-

Example:

-
Display("The player is at %d,%d.", player.x, player.y);
-

displays the player character's current coordinates.

-

See also: Character.y, Character.z

-
-
-
-

Character.y

-
int Character.y;
-

Gets/sets the character's current Y co-ordinate. This is expressed in normal room co-ordinates, and specifies the bottom-center of the character's sprite.

-

NOTE: Do NOT change this property while the character is moving. Make sure the character is standing still before changing his co-ordinates.

-

Example:

-
Display("The player is at %d,%d.", player.x, player.y);
-

displays the player character's current coordinates.

-

See also: Character.x, Character.z

-
-
-
-

Character.z

-
int Character.z;
-

Gets/sets the character's current Z position. This allows the character to levitate off the ground, whilst still retaining its normal Y co-ordinate for baseline calculations and regions.

-

Normally this is set to 0 (ground-level), but you can increase it to make the character float.

-

Example:

-
while (player.z < 20) {
-    player.z++;
-    Wait(1);
-}
-

gradually levitates the character up to 20 pixels.

-

See also: Character.x, Character.y

-
-
-
- - - - - -
- - diff --git a/ColoursEditor.html b/ColoursEditor.html deleted file mode 100644 index 036511e80..000000000 --- a/ColoursEditor.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Colours Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Colours Editor

-

The Colours pane is primarily meant for the game Palette setup, but also contains a Colour Finder control that lets you find a single-number representation of a particular color.

-

The Palette is very important for 8-bit games, but is not useful for others.

-

The Colour Finder may come useful when you need to assign a color number to a game property or in a script. Although many game properties allow to open a colour picker for this purpose, while in script it's recommended to use a Game.GetColorFromRGB command.

-
-

Palette setup

-

As said above, Palette is only for real 8-bit games (not simulated by restricting yourself to limited colour range). If you made a decision to make a 8-bit game you first need to set game's Color Depth to 8-bit in General Settings. After that the Palette control becomes actually used in your project.

-

Here you will see the 256-color palette displayed in a grid. Most of the slots are marked "X" - these are the slots reserved for the background pictures, and will be different in each room. The other colors will be as they look here for the entire game. These fixed colors allow things like the main character graphics, which must be displayed on more than one screen, to work.

-

If you want, you can assign more or less colors to the backgrounds. To toggle the background assignment on/off, click on the slot, then check the "This color is room-dependent" box to swap the slot's status.

-

IMPORTANT NOTE: You must set up the palette as you want it before you start making your game - if you change it later, you will have to re-import all the sprites and background scenes.

-

You can select multiple color slots by clicking on the first slot, then shift-clicking on the last slot in the range you want to select. You can then toggle the background status of all the selected slots at once.

-

You can right-click in the palette grid to export the entire palette to a .PAL or BMP file which you can then use to read back into the Editor in a different game. If you choose to export to a bmp file, then a screen shot of the Palette Editor will be saved as the picture. This way you can see all the game-wide colors in the file.

-

The "Replace palette" option replaces the palette entries with those entries from the PAL or BMP file you choose. It can read standard 768-byte PAL files, SCI palette resources (renamed to extension .pal) and JASC PSP palette files.

-
-
-
- - - - - -
- - diff --git a/Constants.html b/Constants.html deleted file mode 100644 index ee93c05a2..000000000 --- a/Constants.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - Constants - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Constants

-

The following predefined macros and constants are available in your scripts:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
DEBUGDefined if the game is being compiled in debug mode, not defined otherwise
SCRIPT_API_vXXXDefined if corresponding version of script API is enabled (see the list)
SCRIPT_COMPAT_vXXXDefined if certain compatibility level is enabled (see the list)
STRICTDefined if "Enforce Object Based Scripting" is enabled, not defined otherwise
STRICT_STRINGSDefined if "Enforce new-style strings" is enabled, not defined otherwise
STRICT_AUDIODefined if "Enforce new-style audio scripting" is enabled, not defined otherwise
LRPRECEDENCEDefined if "Left-to-right operator precedence" is enabled, not defined otherwise
AGS_NEW_STRINGSDefined if AGS 2.71 or later (with new-String support), not defined otherwise
NEW_DIALOGOPTS_APIDefined if "Use old-style dialog options rendering API" is disabled
NEW_KEYINPUT_APIDefined if "Use old-style key handling" is disabled
AGS_SUPPORTS_IFVERDefined if AGS 2.72 or later (with #ifver support), not defined otherwise
AGS_MAX_INV_ITEMSThe maximum number of inventory items
AGS_MAX_OBJECTSThe maximum objects per room
AGS_MAX_HOTSPOTSThe maximum hotspots per room
AGS_MAX_REGIONSThe maximum regions per room
MAX_LISTBOX_SAVED_GAMESLimit of save files filled into ListBox when using FillSaveGameList
PALETTE_SIZESize of game palette, for 256-color mode
SCR_NO_VALUEUsed as a parameter by some functions to specify "no value" or "use default value"
-

You can check for whether a macro is defined or not by using the #ifdef and #ifndef keywords:

-
#ifndef STRICT
-// only compile the MoveCharacter command if not using object-based scripting
-MoveCharacter(EGO, 30, 40);
-#endif
-#ifdef DEBUG
-// only display this when the game is compiled in debug mode
-Display("Debugging information");
-#endif
-

There is also an #error directive you can use to stop the script compiling:

-
#ifndef AGS_NEW_STRINGS
-#error This script requires at least AGS 2.71
-#endif
-

If you'd like to know if a new API is available, test for the corresponding SCRIPT_API_vXXX constant:

-
#ifdef SCRIPT_API_v360
-// can use new code added in 3.6.0
-#endif
-

If on contrary you need to know if a deprecated API is enabled, test for the corresponding SCRIPT_COMPAT_vXXX constant:

-
#ifdef SCRIPT_COMPAT_v320
-// can use old code, deprecated after 3.2.0
-#endif
-

The other constants AGS_MAX_* are useful if you are writing some script code that you want to be portable to different versions of AGS, and to pick up the limits from the user's AGS version. For example, if you wanted to store some extra information on all the inventory items, you could do:

-
int invWeights[AGS_MAX_INV_ITEMS];
-

To get the actual number of things in the game rather than the AGS limit, use the Game.CharacterCount-style properties.

-
-

Script API levels

-

Following is the list of supported values for SCRIPT_API_vXXX and SCRIPT_COMPAT_vXXX. Normally they are called after the main 3-digit version (e.g. SCRIPT_API_v350), but some refer to a later update (e.g. SCRIPT_API_v3507). Some versions of AGS do not have any distinct API level, because there were no additions or changes to script API in them.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
API versionAPI levelCompatibility level
3.3.0SCRIPT_API_v330SCRIPT_COMPAT_v330
3.3.4SCRIPT_API_v334SCRIPT_COMPAT_v334
3.3.5SCRIPT_API_v335SCRIPT_COMPAT_v335
3.4.0SCRIPT_API_v340SCRIPT_COMPAT_v340
3.4.1SCRIPT_API_v341SCRIPT_COMPAT_v341
3.5.0 AlphaSCRIPT_API_v350SCRIPT_COMPAT_v350
3.5.0 FinalSCRIPT_API_v3507SCRIPT_COMPAT_v3507
3.5.1SCRIPT_API_v351SCRIPT_COMPAT_v351
3.6.0 AlphaSCRIPT_API_v360SCRIPT_COMPAT_v360
3.6.0 FinalSCRIPT_API_v36026SCRIPT_COMPAT_v36026
-
-
-
- - - - - -
- - diff --git a/ContactingTheDevelopers.html b/ContactingTheDevelopers.html deleted file mode 100644 index 7cf63d8f9..000000000 --- a/ContactingTheDevelopers.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Contacting the developers - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Contacting the developers

-

If you have any comments or suggestions, the first place to go is the AGS Forums. Linked off the main AGS website, it's where the AGS community meets and you will find answers to many questions there.

-

If you think you've found a bug, if you need help or can't get it to work, please check the following:

-
    -
  • That your question is not already answered in this manual. AGS has been painstakingly documented, so PLEASE read this manual through before asking a question.
  • -
  • Search the Adventure Game Studio Forums to see if someone already asked the question there. You can use either the built-in search or Google.
  • -
  • If it is not covered in the manual, check the CHANGES.TXT file. If a new feature has been added then it will be described there, if it has not yet been added to this manual.
  • -
  • That you are using the most recent version of AGS. Use the "Check For Updates" option on the Help menu to make sure you're up-to-date.
  • -
  • If you are receiving an error message, please write down the EXACT message and any other information which you think is appropriate. PLEASE WRITE THE EXACT ERROR MESSAGE TEXT, don't just say "I get a message about it not being able to find a file".
  • -
  • If you are getting lock-ups or techno-garbage printouts, please try to give a situation which causes the problem. For instance, if you notice that it only happens on certain screens, or only if there is an object, etc. then please state that - it makes replying a lot easier and faster.
  • -
-

Whatever the problem, if you can't solve it then post to the Technical Forums for help and include all the details of the problem -- there are lots of people there who will try to help you out.

-

Please don't send us e-mails or private messages about problems using AGS. Post them to the forums, where others can help you and your question will then be searchable so that people in future can find out the answer without having to ask again!

-

NOTE: If you want to provide your game as an attachment to demonstrate a problem you are having, PLEASE COMPRESS IT using WinZip, PKZIP, etc. and send it as a zip file.

-

REMEMBER: When you post a question to the forums, give it at least 24 hours before posting again asking "WHY IS NOBODY HELPING ME?!?!?". We don't all read the forums 24/7, good things come to those who wait.

-

The AGS website: https://www.adventuregamestudio.co.uk/

-

The AGS forum: https://www.adventuregamestudio.co.uk/forums/

-
-
- - - - - -
- - diff --git a/Copyright.html b/Copyright.html deleted file mode 100644 index 98cb2c4a1..000000000 --- a/Copyright.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Copyright and terms of use - - - - - - - -
-
- - - - - - - - - - -
- - - -
- -
- - - - - -
- - diff --git a/Credits.html b/Credits.html deleted file mode 100644 index 36eeee66c..000000000 --- a/Credits.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - Credits - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Credits

-
    -
  • Adventure Game Studio was originally developed by Chris Jones

  • -
  • The latter versions and engine ports to various platforms are product of collaborative work of the following people (in alphabetic order):

    -

    Alan Van Drake
    -Benjamin Penney
    -Benoit Pierre
    -Bernhard Rosenkraenzer
    -Cameron Cawley
    -Cristian Morales Vega
    -Dominik Mierzejewski
    -Donovan Watteau
    -Edmundo Ruiz Ghanem
    -Edward Rudd
    -Erico Vieira Porto
    -Ferdinand Thiessen
    -Francesco Ariis
    -Gilad Shaham
    -Ivan Mogilko
    -James Duong
    -Janet Gilbert
    -Jochen Schleu
    -Joe Lee
    -John Steele Scott
    -Martin Sedlak
    -Matthew Gambrell
    -Michael Rittenhouse
    -Morgan Willcock
    -Nick Sonneveld
    -Ori Avtalion
    -Pablo Navarro
    -Paul Wilkinson
    -Per Olav Flaten
    -Peter Bouillon
    -Piotr Wieczorek
    -rofl0r
    -Ryan O'Connor
    -Scott Baker
    -Shane Stevens
    -Shawn R. Walker
    -Stefano Collavini
    -Steve McCrea
    -Steven Poulton
    -Sunit Das
    -Thierry Crozat
    -Tobias Hansen
    -Tom Vandepoele
    -Tzach Shabtay Walter Agazzi

  • -
  • Windows editor original splash design by abstauber

  • -
  • Windows editor icons by Klaus

  • -
  • Sierra-style game template by Rui "Trovatore" Pires, and updated by Morgan Willcock,

  • -
  • New BASS and Verb Coin game templates by Morgan Willcock, based on ideas by Bjorn Ludwig and Electroshokker respectively

  • -
  • Sierra-style, BASS and Verb Coin templates are sharing art by ProgZmax, CaesarCub, Hobo, Selmiak and Jim Reed

  • -
  • Tumbleweed game template by abstauber

  • -
  • Script editor component is scintilla by Neil Hodgson (https://www.scintilla.org/)

  • -
  • Editor uses irrKlang .NET audio player (https://www.ambiera.com/irrklang/)

  • -
  • GIF loading by Magick.Net (https://www.imagemagick.org/)

  • -
  • Docking panel suit by WeiFen Luo and contributors (http://dockpanelsuite.com/)

  • -
  • JSON handled with Newtonsoft.Json by James Newton-King (https://www.newtonsoft.com/json)

  • -
  • Engine backend graphics, sound and inputs using SDL2 by Sam Lantinga and many other (https://libsdl.org/)

  • -
  • Sound uses SDL_Sound and MojoAL, by Ryan C. Gordon (https://github.com/icculus)

  • -
  • Engine bitmap drawing using Allegro 4 game programming library by Shawn Hargreaves and many others (https://liballeg.org/)

  • -
  • TrueType font display uses ALFont by Javier Gonzalez and the FreeType project

  • -
  • Hi-color fade out/in routines by Matthew Leverton

  • -
  • Sprite anti-aliasing code by Michael Bukin

  • -
  • Deflate compression algorithm for sprites and any other game data is performed using Miniz library, which is Copyright (C) 2013-2014 RAD Game Tools and Valve Software and (C) 2010-2014 Rich Geldreich and Tenacious Software LLC

  • -
  • OGG Theora player is APEG by Chris Robinson, using the Ogg Theora decoder, which is available from https://www.xiph.org/

  • -
  • Windows engine uses libcda CD player by Peter Wang.

  • -
-

Thanks to all the AGS beta testers for all their suggestions and bug reports.

-
-
- - - - - -
- - diff --git a/CustomDialogOptions.html b/CustomDialogOptions.html deleted file mode 100644 index 158493f99..000000000 --- a/CustomDialogOptions.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - Custom dialog options rendering - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Custom dialog options rendering

-

By default, AGS comes with two types of dialog options -- displaying them using the size and position of an existing GUI, or creating a text window to display the options in.

-

As of AGS 3.1 and above, if neither of these methods suit you (for example, because you want to use picture-based dialog options, or you want to add scroll arrows), you can now implement the dialog options display yourself in the script.

-

NOTE: This topic involves some advanced scripting. If you're just starting out with AGS, please just use one of the built-in dialog option styles for now, and come back to this later when you're comfortable with scripting.

-

To write your custom dialog options code, you need to add a number of even handlers in your script, taken from the list below. Two of them must be present (dialog_options_get_dimensions and dialog_options_render), but others are optional, so use only those that match your game needs. These function would work somewhat similar to the common event handlers, except they are only run whenever the dialog options are on screen.

-

All of these functions accept DialogOptionsRenderingInfo object as a first argument. This object may be used to get and set various properties, including accessing current Dialog object.

-

NOTE: These functions don't have to go in the global script; you can put them in any script you like. However, beware that if the functions are present in more than one script they could interfere with each other and cause problems.

-

COMPATIBILITY NOTE: The older versions of AGS (pre-3.4.0) were working with somewhat different set of functions. There was no dialog_options_repexec and dialog_options_key_press, but you had to add dialog_options_get_active function instead in which you'd set an active dialog option (or none) on each game update, for example, depending on the cursor position. Mouse clicks were processed by the engine, and if an active option was set in dialog_options_get_active then it was run automatically. There is a compatibility switch in the General Settings called "Use old-style dialog options rendering API" that toggles between the old and new behavior. If you have imported older project and want to keep old dialog option scripts, then make sure it's enabled. If you wish to update your game to the new behavior, then turn it off.

-

IMPORTANT: All of the Custom Dialog functions run on the non-blocking thread. That means that you should not make any blocking calls, such as Character.Say, Wait or Display within them, as they may not behave correctly.

-
-
-

dialog_options_get_dimensions

-
dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-

This is the first function that will be called before dialog options are shown. It is meant to find out which part of the screen you will be drawing onto. Do that by setting the X, Y, Width and Height properties of the info struct. Only when the width and height are greater than 0 will the custom dialog system be activated.

-

NOTE: you may also use this function to set other things up, not only DialogOptionsRenderingInfo.

-
-
-
-

dialog_options_render

-
dialog_options_render(DialogOptionsRenderingInfo *info)
-

This function is called right before the dialog options are shown or updated on screen. The info struct will supply a DrawingSurface which may be accessed using info.Surface property, and which you may draw upon.

-
-
-
-

dialog_options_mouse_click

-
dialog_options_mouse_click(DialogOptionsRenderingInfo *info, MouseButton button)
-

This function is called if the player clicks the mouse anywhere on dialog options. It corresponds to the regular on_mouse_click. You might want to use this to process clicks on dialog options, and also on some custom elements like scroll arrows, for example.

-
-
-
-

dialog_options_key_press

-
dialog_options_key_press(DialogOptionsRenderingInfo *info, eKeyCode keycode, int mod)
-

This function is called if the player presses any key while custom dialog options are shown on screen. It corresponds to the regular on_key_press, and you can use this to implement key-controlled selection of dialog option, for example.

-

Compatibility: the optional mod argument is supported since AGS 3.6.0. Please refer to the on_key_press description for details.

-
-
-
-

dialog_options_text_input

-
dialog_options_text_input(DialogOptionsRenderingInfo *info, int ch)
-

This function is called if the player's key presses form a printable character. It corresponds to the regular on_text_input, and you can use this to handle a custom text input in your dialog options.

-

Compatibility: Supported by AGS 3.6.0 and above. dialog_options_text_input will only work if you have "Use old-style key handling" option disabled in the "General Settings".

-
-
-
-

dialog_options_repexec

-
dialog_options_repexec(DialogOptionsRenderingInfo *info)
-

This function works similar to a general repeatedly_execute function, but is called only while the dialog options are shown on the screen. You may use this to update the dialog options state, for example, for determining which option the mouse is currently hovering over, or scripting timed actions.

-
-
-
-

dialog_options_close

-
dialog_options_close(DialogOptionsRenderingInfo *info)
-

This function will be called right before the dialog options are removed from the screen. This is a place to perform a "cleanup" in case you need to dispose temporary resources (like dynamic sprites), hide GUIs, stop sounds, and so forth.

-

NOTE: this is not the same as the end of the current dialog. Dialog options may be shown and hidden multiple times during the dialog, every time the game lets player to choose a dialog option.

-

Compatibility: Supported by AGS 3.6.0 and above.

-
-
-
-

dialog_options_get_active

-
dialog_options_get_active(DialogOptionsRenderingInfo *info)
-

Compatibility: dialog_options_get_active is a deprecated function that works only if you have "Use old-style dialog options rendering API" enabled in General Settings. In a modern script use dialog_options_repexec instead.

-

This function is called as the player moves the mouse around the screen. This needs to work out which option the mouse is currently hovering over, so that AGS knows which option to process if the player clicks the mouse button. Use it to set info.ActiveOptionID property, or do any other changes.

-
-
-
-

Example A. Classic mouse controls

-
int dlg_opt_color = 14;
-int dlg_opt_acolor = 13;
-int dlg_opt_ncolor = 4;
-
-function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    // Create a 200x200 dialog options area at (50,100)
-    info.X = 50;
-    info.Y = 100;
-    info.Width = 200;
-    info.Height = 200;
-    // Enable alpha channel for the drawing surface
-    info.HasAlphaChannel = true;
-    // Put the text parser at the bottom (if enabled)
-    info.ParserTextBoxX = 10;
-    info.ParserTextBoxY = 160;
-    info.ParserTextBoxWidth = 180;
-}
-
-function dialog_options_render(DialogOptionsRenderingInfo *info)
-{
-    info.Surface.Clear(dlg_opt_color);
-    int ypos = 0;
-    // Render all the options that are enabled
-    for (int i = 1; i <= info.DialogToRender.OptionCount; i++)
-    {
-        if (info.DialogToRender.GetOptionState(i) == eOptionOn)
-        {
-            if (info.ActiveOptionID == i)
-                info.Surface.DrawingColor = dlg_opt_acolor;
-            else
-                info.Surface.DrawingColor = dlg_opt_ncolor;
-
-            info.Surface.DrawStringWrapped(5, ypos, info.Width - 10, eFontNormal, eAlignLeft,
-                                           info.DialogToRender.GetOptionText(i));
-            ypos += GetTextHeight(info.DialogToRender.GetOptionText(i), eFontNormal, info.Width - 10);
-        }
-    }
-}
-
-function dialog_options_repexec(DialogOptionsRenderingInfo *info)
-{
-    info.ActiveOptionID = 0;
-    if (mouse.y < info.Y || mouse.y >= info.Y + info.Height ||
-        mouse.x < info.X || mouse.x >= info.X + info.Width)
-    {
-        return; // return if the mouse is outside UI bounds
-    }
-
-    int ypos = 0;
-    // Find the option that corresponds to where the mouse cursor is
-    for (int i = 1; i <= info.DialogToRender.OptionCount; i++)
-    {
-        if (info.DialogToRender.GetOptionState(i) == eOptionOn)
-        {
-            ypos += GetTextHeight(info.DialogToRender.GetOptionText(i), eFontNormal, info.Width - 10);
-            if ((mouse.y - info.Y) < ypos)
-            {
-                info.ActiveOptionID = i;
-                return;
-            }
-        }
-    }
-}
-
-function dialog_options_mouse_click(DialogOptionsRenderingInfo *info, MouseButton button)
-{
-    if (info.ActiveOptionID > 0)
-        info.RunActiveOption();
-}
-

The examples above are slightly naive; in reality you would probably want to track the Y position of each option in a variable to save having to continually scan through all the options.

-
-
-
-

Example B. Keyboard controls

-
int dlg_opt_color = 14;
-int dlg_opt_acolor = 13;
-int dlg_opt_ncolor = 4;
-
-function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    // Create a 200x200 dialog options area at (50,100)
-    info.X = 50;
-    info.Y = 100;
-    info.Width = 200;
-    info.Height = 200;
-    info.ActiveOptionID = 1; // set to first option
-}
-
-function dialog_options_render(DialogOptionsRenderingInfo *info)
-{
-    info.Surface.Clear(dlg_opt_color);
-    int ypos = 0;
-    // Render all the options that are enabled
-    for (int i = 1; i <= info.DialogToRender.OptionCount; i++)
-    {
-        if (info.DialogToRender.GetOptionState(i) == eOptionOn)
-        {
-            if (info.ActiveOptionID == i)
-                info.Surface.DrawingColor = dlg_opt_acolor;
-            else
-                info.Surface.DrawingColor = dlg_opt_ncolor;
-
-            info.Surface.DrawStringWrapped(5, ypos, info.Width - 10, eFontNormal, eAlignLeft,
-                                           info.DialogToRender.GetOptionText(i));
-            ypos += GetTextHeight(info.DialogToRender.GetOptionText(i), eFontNormal, info.Width - 10);
-        }
-    }
-}
-
-function dialog_options_key_press(DialogOptionsRenderingInfo *info, eKeyCode keycode, int mod)
-{
-    if (keycode == eKeyUpArrow)
-    {
-        // check all options upwards until found an active one
-        for (int next_opt = info.ActiveOptionID - 1; next_opt >= 1; next_opt--)
-        {
-            if (info.DialogToRender.GetOptionState(next_opt) == eOptionOn)
-            {
-                info.ActiveOptionID = next_opt;
-                break;
-            }
-        }
-    }
-    else if (keycode == eKeyDownArrow)
-    {
-        // check all options downwards until found an active one
-        for (int next_opt = info.ActiveOptionID + 1; next_opt <= info.DialogToRender.OptionCount; next_opt++)
-        {
-            if (info.DialogToRender.GetOptionState(next_opt) == eOptionOn)
-            {
-                info.ActiveOptionID = next_opt;
-                break;
-            }
-        }
-    }
-    else if (keycode == eKeyReturn || keycode == eKeySpace)
-    {
-        info.RunActiveOption();
-    }
-}
-
-
-
- - - - - -
- - diff --git a/CustomProperties.html b/CustomProperties.html deleted file mode 100644 index 25face8f4..000000000 --- a/CustomProperties.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - Custom Properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Custom Properties

-

What are custom properties?

-

Suppose you're making a LucasArts-style game, and you want all your hotspots to have a default event (so if the player right-clicks a window, for example, "Open" will be the default, but if they click on a pen, "Pick up" will be the default).

-

To do that, surely you would have to script in lots of code to change the default mode over each different object?

-

This is where Custom Properties come to the rescue. You can create a custom property for "Default event", for example, and then have some simple code in the global script to use the setting accordingly.

-

How do I use them?

-

You'll notice that characters, objects, hotspots, rooms and inventory items all have a "Properties" option in their property grids. Select it and click the "..." button.

-

Since you don't yet have any custom properties, you'll get a blank window, so click the "Edit Schema" button. This takes you to the Schema Editor, where you can create the various properties you want in your game. To begin with you are presented with an empty list box, so right-click in it and choose "Add property".

-

In the "Add Property" window you can set various options about the new property:

-
    -
  • Name - this is the name by which you will access the property from the script. This cannot be changed after the property has been created.
  • -
  • Description - this is the user-friendly description which will be displayed in the custom property editor when you are setting the property.
  • -
  • Type - this specifies what type of property you want. "Boolean" gives you a checkbox (which will return 0 or 1 to the script), "Number" gives you a text box which you can type numbers into, and "Text" gives you a larger text box which can store a string.
  • -
  • Default value - this specifies what the default value of the property will be for objects where you have not set it specifically.
  • -
-

For example, add a new "Boolean" property. Close the schema editor, and then click the "Properties" button again. You'll now have a window with a checkbox with the description text you typed in. You can click the "Edit schema" button there to return to the schema editor if you like.

-

All types of game item share the same schema. That is, if you create a "Jibble" property in the schema editor for a hotspot, it will also appear in the properties window for characters, objects, and so on.

-

Getting and setting values in the script

-

To access the properties from the script, there are various script functions. See their descriptions for how they work:

-

Character.GetProperty
Character.GetTextProperty
Character.SetProperty
Character.SetTextProperty
Hotspot.GetProperty
Hotspot.GetTextProperty
Hotspot.SetProperty
Hotspot.SetTextProperty
InventoryItem.GetProperty
InventoryItem.GetTextProperty
InventoryItem.SetProperty
InventoryItem.SetTextProperty
Object.GetProperty
Object.GetTextProperty
Object.SetProperty
Object.SetTextProperty
Room.GetProperty
Room.GetTextProperty
Room.SetProperty
Room.SetTextProperty

-

NOTE: Calling ResetRoom will reset that room's properties to default values, as well as that room's hotspot and object properties.

-
-
- - - - - -
- - diff --git a/DateTime.html b/DateTime.html deleted file mode 100644 index 96ed220ab..000000000 --- a/DateTime.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - DateTime functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

DateTime functions and properties

-
-

DateTime.Now

-

(Formerly known as GetTime, which is now obsolete)

-
readonly static DateTime* DateTime.Now;
-

Gets the current system time. You could use this for timing a loop, or for effects like telling the player to go to bed, and so on.

-

A DateTime object is returned, which contains various properties that you can use.

-

Note that the DateTime object that you get will not be kept up to date with the current time; it will remain static with the time at which you called DateTime.Now.

-

Example:

-
DateTime *dt = DateTime.Now;
-Display("The date is: %02d/%02d/%04d", dt.DayOfMonth, dt.Month, dt.Year);
-Display("The time is: %02d:%02d:%02d", dt.Hour, dt.Minute, dt.Second);
-

will display the current date and time in 24-hour format

-

See also: DateTime.DayOfMonth, DateTime.Hour, DateTime.Minute, DateTime.Month, DateTime.RawTime, DateTime.Second, DateTime.Year

-
-
-
-

DateTime.DayOfMonth

-
readonly int DateTime.DayOfMonth;
-

Gets the day of the month represented by the DateTime object. This will be from 1 to 31, representing the current day within the month.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
-

DateTime.Hour

-
readonly int DateTime.Hour;
-

Gets the hour represented by the DateTime object. This will be from 0 to 23, representing the hour in 24-hour format.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
-

DateTime.Minute

-
readonly int DateTime.Minute;
-

Gets the minute represented by the DateTime object. This will be from 0 to 59, representing the minute in 24-hour format.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
-

DateTime.Month

-
readonly int DateTime.Month;
-

Gets the month represented by the DateTime object. This will be from 1 to 12, representing the month of the year.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
-

DateTime.RawTime

-

(Formerly known as GetRawTime, which is now obsolete)

-
readonly int DateTime.RawTime;
-

This function returns the raw system time, as the number of seconds since January 1970. While this value is not useful in itself, you can use it to calculate time differences by getting the value at the start of the game, for example, and then getting the value later on, and the difference between the two is how much time has elapsed.

-

NOTE: Because this accesses the real-time clock on the users' system, it is not a good idea to use this for long term timing tasks, since if the user saves the game and then restores it later, the Time value returned by this function will obviously include the difference when they were not playing.

-

Example:

-
DateTime *dt = DateTime.Now;
-int start_time = dt.RawTime;
-Wait(120);
-dt = DateTime.Now;
-Display("After the wait it is now %d seconds later.", dt.RawTime - start_time);
-

should display that 3 seconds have elapsed.

-

See also: DateTime.Now, SetTimer

-
-
-
-

DateTime.Second

-
readonly int DateTime.Second;
-

Gets the second represented by the DateTime object. This will be from 0 to 59, representing the second.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
-

DateTime.Year

-
readonly int DateTime.Year;
-

Gets the year represented by the DateTime object. This is the full year, for example 2005.

-

Example: For an example, see DateTime.Now.

-

See also: DateTime.Now

-
-
-
- - - - - -
- - diff --git a/Debuggingfeatures.html b/Debuggingfeatures.html deleted file mode 100644 index 964bd6bc8..000000000 --- a/Debuggingfeatures.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - Debugging features - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Debugging features

-

It happens to the best of us - you're merrily plowing along making your game, when suddenly something just isn't working right. It's not always obvious where the problem is.

-

AGS now has some advanced debugging features that can help you out. If all else fails, you can of course ask for help on the AGS forums.

-

There are two different types of debugging, that are enabled in different ways. The script debugger is only enabled when you use F5 to run your game; but the Debug() commands are only available when "Enable debug mode" is set in your Game Settings. So, just before you release your game, set that option to False and compile the game again to make sure the player can't cheat using these features.

-
-

The script debugger

-

When you run the game using the Run (F5) option, the game will be started with the debugger. This allows you to pause your game and follow it through one line at a time.

-

There are two main ways to use this feature:

-
    -
  • Press SCROLL LOCK while playing the game. This will break out when the next line of script is run.
  • -
  • Place a breakpoint in your script. You do this by clicking on a line of code in the script editor, then pressing F9. Then, when the game arrives at this line of code, it will stop running.
  • -
-

NOTE: The editor will allow you to place a breakpoint on any line of script. However, in order for it to work, it must be placed on a line that has some code on it.

-

Once the script has stopped, you can use the "Step Into" button (F11) to step through the lines of code, one by one. To allow the game to continue running normally, use the Run (F5) button.

-
-
-

The Debug() command

-

There is a scripting command, Debug, which you can use in your script to help you find problems. The default setup enables some hotkeys for the various features - in particular, Ctrl+X allows you to teleport to another room, Ctrl+A shows the walkable areas on the screen and Ctrl+S gives you all the inventory items.

-

You can also use the Debug command to assign a hotkey to toggle FPS display on and off. (FPS is Frames Per Second, which allows you to see the game speed and spot any slow-running rooms).

-

This command only works if Debug Mode is enabled in your Game Settings.

-
-
-

The DEBUG constant

-

The DEBUG constant is only defined when the game is compiled in Debug Mode, and can be used to change the behavior of your scripts:

-
#ifdef DEBUG
-// only display this when the game is compiled in debug mode
-Display("Debugging information");
-#endif
-

This feature can be used to display extra debugging tools, or also wrap debug-specific code that shouldn't be compiled for production mode.

-
-
-

Current room information

-

Pressing Ctrl+D displays some information about the current room. It tells you what room number you are in, followed by the current status of all objects in the room. After that, another messagebox tells you all the characters that are in the current room and various information about them.

-

This command only works if Debug Mode is enabled in your Game Settings.

-
-
-
- - - - - -
- - diff --git a/DefaultSetup.html b/DefaultSetup.html deleted file mode 100644 index b42dc11cd..000000000 --- a/DefaultSetup.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - Default Setup - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Default Setup

-

The Default Setup pane lets you create the default runtime configuration for your game. This configuration is saved as "acsetup.cfg" into the Compiled folder.

-

Since AGS 3.6.0 the config file in the Compiled folder is created by merging "Default Setup" properties with an optional "acsetup.cfg" file found in the game project's folder, if one is present. This is done to allow game developers provide their own custom settings. In such case the values from "Default Setup" have higher priority, but it does not delete other, custom settings.

-

For information on possible "acsetup.cfg" contents please refer to the related topic.

-

NOTE: please be aware that the default game's config cannot be modified using game's setup utility (aka "winsetup.exe"), because that program modifies config file in the user's personal documents folder instead. The setup utility may be useful to quickly test various options, but config file for your game's distribution will be created from "Default Setup" pane anyway.

-

IMPORTANT: what you set on this pane is a default game configuration, but it may be overridden by a user config. If you have run your game's setup utility at least once and saved, that created a user config file in its own location. Since then changing Default Setup won't be enough to affect your game, you'd also have to change user config by running setup program again. You may also delete user config file (that is safe thing to do), which will reset settings back to default config and let you test it out.

-

IMPORTANT: the configuration file will only be recreated during next game compilation, so if you change these settings you will need to rebuild your game one more time to apply them.

-
-

Setup appearance

-
    -
  • Title text - the text that will appear on the title of the setup program window.
  • -
-
-
-

Audio

-
    -
  • Audio driver - which audio driver to use. Unfortunately, as the driver depends on the player's system, there's no way to list them here. Instead, there are only two available choices: "Default" and "Disable".
  • -
  • Use voice pack if available - this option enables voice speech in game, if it's available.
  • -
-
-
-

Environment

-
    -
  • Use custom game saves path - enables Custom game saves path option.
  • -
  • Custom game saves path - defines where game will store its saves and individual user's files (e.g. achievements). This path will be used to substitute default value of $SAVEGAMEDIR$ token in scripts. Note that when being set up in the Editor, this option only accepts relative paths (when used they will be relative to the game's location). This has to be done this way to prevent setting absolute path that does not exist on the player's machine, so typically you have to set this if you want to have saves stored locally within the game's folder. Players will be able to modify this path in setup program (where they are actually allowed to put absolute paths too).
  • -
  • Use custom shared data path - enables Custom shared data path option.
  • -
  • Custom shared data path - defines where game will store its shared data files (e.g. hi-score tables). This path will be used to substitute default value of $APPDATADIR$ token in scripts. Note that this option only accepts relative paths, so typically you have to set this if you want to have data files created locally within the game's folder. Players will be able to modify this path in setup program.
  • -
-
-
-

Gameplay

-
    -
  • Game language - which translation to use. The list depends on translations added to your game project.
  • -
-
-
-

Graphics

-
    -
  • Anti-alias scaled sprites - this option will apply anti-aliasing to scaled game objects, such as Characters, Room Objects and Overlays, in order to give them a smoother look after the resizing. This is NOT applied to DynamicSprite's operations though.

  • -
  • Fullscreen as borderless window - if enabled, then in fullscreen mode the game will create a borderless window covering whole desktop, instead of changing display resolution. This is preferred on modern systems.

  • -
  • Fullscreen scaling style - this option determines the way the game will be scaled when in fullscreen mode. Available options are:

    -
      -
    • Max round multiplier. The game will be scaled up using a maximal round integer (2, 3, 4, etc) multiplier with which it still fits inside the window.
    • -
    • Fill whole screen. The game will be stretched to fill the whole window. Note that if the game's native aspect ratio is different from the screen's aspect ratio, the game graphics will appear deformed and indeed stretched.
    • -
    • Stretch, preserving aspect ratio. The game will be stretched to fill most of the window while respecting the game's native aspect ratio (width/height proportions). This ensures that the game graphics will always look proportional, but the option can lead to black borders at the left & right or top & bottom sides of the screen.
    • -
  • -
  • Graphics driver - lets choose a graphics driver. Currently supported are:

    -
      -
    • Software. The classic and slower option, but the only driver that fully supports 8-bit games with palette effects.
    • -
    • Direct3D 9.
    • -
    • OpenGL.
    • -
  • -
  • Render sprites at screen resolution - when enabled, any scaled game objects will be scaled in screen pixels rather than game pixels. What this means is that when a low-resolution game is run in a larger window, the sprites will take advantage of this higher resolution and look less pixelated when scaled up or down, especially when scaled to a non-round multiplier.

    -

    NOTE: this option may be locked to a certain state in General Settings, in which the game config won't affect it.

  • -
  • Rotation mode - instruct the mobile device which rotation mode to use when running your game. Available choices are:

    -
      -
    • Unlocked. Will depend on physical device's orientation.
    • -
    • Portrait. Always run in the "portrait" mode.
    • -
    • Landscape. Always run in the "landscape" mode.
    • -
  • -
  • Scaling filter - tells which algorithm to use when scaling the game up (or down) inside the window. The list of filters depend on "Graphics driver" but two common choices are: "Nearest-neighbour" and "Linear interpolation".

  • -
  • Start in windowed mode - when enabled starts the game in windowed mode, as opposed to fullscreen.

  • -
  • Vertical sync - enables or disables vertical sync.

  • -
  • Windowed scaling style - this option determines the way the game will be scaled when in windowed mode. Available options are matching those of "Fullscreen scaling style", and there's one extra one:

    -
      -
    • Custom round multiplier - lets you input an explicit game scaling multiplier.
    • -
  • -
-
-
-

Misc

-
    -
  • Display FPS on screen - when enabled, the engine will draw FPS counter on screen while running the game.
  • -
-
-
-

Performance

-
    -
  • Sound cache size (in megabytes) - this option defines the maximum amount of memory that the game will use for caching sounds. Engine has a rule to cache only "small" sound files, typically ones below 1 MB in size, so this cache is mostly meant for small frequent sound effects, such as footsteps and similar.
  • -
  • Sprite cache size (in megabytes) - this option defines the maximum amount of memory that the game will use for its sprite cache. The sprite cache is used to keep a partition of all the game sprites loaded to the memory, thus reducing loading times between rooms and preventing slowdowns during game play. Of course, higher values make the game use more memory. Usually only high-resolution games with long animations need to have this value increased.
  • -
  • Texture cache size (in megabytes) - this option defines the maximum amount of video memory (of the player's graphics card) that will be used by the texture cache. The texture cache keeps frequently used textures created from sprites by non-Software graphics drivers (Direct3D, OpenGL), and may significantly improve performance in high-resolution games.
  • -
-
-
-

Touch

-
    -
  • Touch to Mouse Emulation - defines the touch control scheme for devices with touch screen. Available options are:

    -
      -
    • Off. Completely disabled.
    • -
    • One finger. In this mode only one finger is detected at once, and touch directly corresponds to holding LMB down.
    • -
    • Two fingers. In this mode up to 2 fingers are detected. One finger tap is treated as LMB click; one finger held and second finger tap is treated as RMB click. Dragging a finger is treated as mouse move without pressing any buttons. Double tap + drag simulates moving mouse with LMB held down.
    • -
  • -
  • Touch to Mouse Motion mode - tells whether finger motion is interpreted as "Direct", where game cursor will be positioned at a finger, or "Relative", where game cursor will move from its last position proportionally to the finger's move.

  • -
-
-
-

Mouse

-
    -
  • Auto-lock mouse to window - if enabled, the mouse will be locked inside game window whenever the player clicks on it or switches into game. The locked mouse cannot leave the game window, making it impossible to accidentally jump out of the game by mistake (by clicking on the desktop, for example).
  • -
  • Mouse cursor speed - lets to set up the mouse cursor speed in game. This parameter is only applied in fullscreen mode.
  • -
-

See also: Run-time engine setup, Config file locations

-
-
-
- - - - - -
- - diff --git a/Dialog.html b/Dialog.html deleted file mode 100644 index a49a520dc..000000000 --- a/Dialog.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - Dialog functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Dialog functions and properties

-
-

Dialog.GetByName

-
static Dialog* Dialog.GetByName(string scriptName)
-

Returns a pointer to the Dialog with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each Dialog which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
String dialogName = cNPC.GetTextProperty("MyDialog");
-Dialog* dlg = Dialog.GetByName(dialogName);
-if (dlg != null) {
-    dlg.Start();
-}
-

Retrieves a dialog name from the character's custom property, and gets a pointer to an actual Dialog using that name, then runs it.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Dialog.ScriptName, Dialog.Start

-
-
-
-

Dialog.DisplayOptions

-
int Dialog.DisplayOptions(optional DialogOptionSayStyle)
-

Presents the options for this dialog to the user and waits until they select one of them. The selected option number is returned.

-

NOTE: This command does not run any dialog scripts, it simply displays the options and waits for the player to choose one. To run the dialog normally, use the Dialog.Start command instead.

-

This command is useful if you want to implement your own dialog system, but still use the standard AGS dialog option selection screens.

-

The optional DialogOptionSayStyle parameter determines whether the chosen option is automatically spoken by the player character. The default is eSayUseOptionSetting, which will use the option's "Say" setting from the dialog editor. You can alternatively use eSayAlways, which will speak the chosen option regardless of its setting in the editor; or eSayNever, which will not speak the chosen option.

-

If the text parser is enabled for this dialog and the player types something into it rather than selecting an option, the special value DIALOG_PARSER_SELECTED will be returned, and AGS will have automatically called Parser.ParseText with the player's text. Therefore, you can call Parser.Said to process it.

-

Example:

-
int result = dOldMan.DisplayOptions();
-if (result == DIALOG_PARSER_SELECTED)
-{
-    Display("They typed something into the parser!!");
-}
-else
-{
-    Display("They chose dialog option %d.", result);
-}
-

will show the options for dialog dOldMan and display a message depending on what the player selected.

-

Compatibility: Supported by AGS 3.0.2 and later versions.

-

See also: Dialog.Start, Parser.ParseText

-
-
-
-

Dialog.GetOptionState

-

(Formerly known as global function GetDialogOption, which is now obsolete)

-
Dialog.GetOptionState(int option)
-

Finds out whether an option in a conversation is available to the player or not.

-

OPTION is the option number within the dialog, from 1 to whatever the highest option is for that topic.

-

The return value can have the following values:

-
eOptionOff
-  The option is disabled - the player will not see it
-eOptionOn
-  The option is enabled - the player can now see and use it
-eOptionOffForever
-  The option is permanently disabled - no other command can ever turn
-  it back on again.
-

These are the same as the options passed to Dialog.SetOptionState.

-

Example:

-
if (dJoeExcited.GetOptionState(2) != eOptionOn)
-    Display("It's turned off");
-

Will display a message if option 2 of dialog dJoeExcited is not currently switched on.

-

See also: Dialog.HasOptionBeenChosen, Dialog.SetHasOptionBeenChosen, Dialog.SetOptionState

-
-
-
-

Dialog.GetOptionText

-
String Dialog.GetOptionText(int option)
-

Returns the text for the specified dialog option.

-

OPTION is the option number within the dialog, from 1 to whatever the highest option is for that topic.

-

Example:

-
String optionText = dJoeBloggs.GetOptionText(3);
-Display("Option 3 of dialog dJoeBloggs is %s!", optionText);
-

will display the text for the third option of the dJoeBloggs dialog.

-

Compatibility: Supported by AGS 3.0.2 and later versions.

-

See also: Dialog.OptionCount, Dialog.GetOptionState

-
-
-
-

Dialog.HasOptionBeenChosen

-
bool Dialog.HasOptionBeenChosen(int option)
-

Finds out whether the player has already chosen the specified option in this dialog. This is mainly useful when drawing your own custom dialog options display, since it allows you to differentiate options that have already been chosen.

-

OPTION is the option number within the dialog, from 1 to whatever the highest option is for that topic.

-

Example:

-
if (dJoeExcited.HasOptionBeenChosen(2))
-    Display("The player has chosen option 2 in dialog dJoeExcited!");
-

will display a message if the player has used option 2 of the dialog before.

-

Compatibility: Supported by AGS 3.1.1 and later versions.

-

See also: Dialog.GetOptionState, Dialog.SetHasOptionBeenChosen,

-
-
-
-

Dialog.ID

-
readonly int Dialog.ID;
-

Gets the dialog ID number from the editor.

-

This might be useful if you need to interoperate with legacy scripts that work with dialog ID numbers.

-

Example:

-
Display("dFisherman is Dialog %d!", dFisherman.ID);
-

will display the ID number of the dFisherman dialog

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-
-
-
-

Dialog.OptionCount

-
readonly int Dialog.OptionCount;
-

Gets the number of options that this dialog has.

-

This might be useful in a script module if you want to iterate through all the possible choices in the dialog.

-

Example:

-
Display("dFisherman has %d options!", dFisherman.OptionCount);
-

will display the number of options in the dFisherman dialog.

-

Compatibility: Supported by AGS 3.0.2 and later versions.

-

See also: Dialog.GetOptionText, Dialog.GetOptionState

-
-
-
-

Dialog.ScriptName

-
readonly String Dialog.ScriptName;
-

Gets the script name of the dialog, which serves as a unique identifier.

-

This may be useful if you have a pointer to some dialog stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each dialog in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use Dialog.GetByName function to retrieve the dialog by the previously saved script name.

-

Example:

-
function CustomDialogStart(this Dialog*)
-{
-  this.Start();
-  String dialogName = this.ScriptName;
-  System.Log(eLogInfo, "Starting dialog: %s", dialogName);
-}
-

Starting a dialog using the CustomDialogStart() method, like dExampleDialog.CustomDialogStart(), will log its script name for debugging purposes.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Dialog.GetByName, Dialog.Start

-
-
-
-

Dialog.SetHasOptionBeenChosen

-
Dialog.SetHasOptionBeenChosen(int option, bool chosen)
-

Changes whether an option in a conversation is marked as previously chosen by the player. The option is marked as chosen whenever player selects it during the conversation, and is usually highlighted with different text color. This function lets you to reset the option state, or force it change at any random moment.

-

OPTION is the option number within the dialog, from 1 to whatever the highest option is for that topic.

-

Example:

-
if (dDialog1.HasOptionBeenChosen(1))
-    dDialog1.SetHasOptionBeenChosen(1, false); // reset the option state
-

will mark option 1 of dialog dDialog1 as "not chosen yet".

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Dialog.GetOptionState, Dialog.HasOptionBeenChosen

-
-
-
-

Dialog.SetOptionState

-

(Formerly known as global function SetDialogOption, which is now obsolete)

-
Dialog.SetOptionState(int option, DialogOptionState)
-

Changes whether an option in a conversation is available to the player or not. This allows you to add extra options to a conversation once the player has done certain things.

-

OPTION is the option number within the topic, from 1 to whatever the highest option is for that topic.

-

The DialogOptionState controls what happens to this option. It can have the following values:

-
eOptionOff
-  The option is disabled - the player will not see it
-eOptionOn
-  The option is enabled - the player can now see and use it
-eOptionOffForever
-  The option is permanently disabled - no other command can ever turn
-  it back on again.
-

These are equivalent to the option-off, option-on, and option-off-forever dialog commands.

-

Example:

-
dFriend1.SetOptionState(2, eOptionOn);
-

will enable option 2 of topic number 4.

-

See also: Dialog.GetOptionState, Dialog.Start, StopDialog

-
-
-
-

Dialog.ShowTextParser

-
readonly bool Dialog.ShowTextParser;
-

Gets whether this dialog shows a text box allowing the player to type in text.

-

This property is initially set in the Dialog Editor.

-

Example:

-
if (dFisherman.ShowTextParser)
-{
-    Display("dFisherman has a text box!");
-}
-

will display a message if dFisherman has the option enabled

-

Compatibility: Supported by AGS 3.2.1 and later versions.

-
-
-
-

Dialog.Start

-

(Formerly known as global function RunDialog, which is now obsolete)

-
Dialog.Start()
-

Starts a conversation from the specified topic.

-

NOTE: The conversation will not start immediately; instead, it will be run when the current script function finishes executing.

-

If you use this command from within the dialog_request function, it will specify that the game should return to this new topic when the script finishes.

-

Example:

-
dMerchant.Start();
-

will start the conversation topic named dMerchant.

-

See also: Dialog.DisplayOptions, Dialog.SetOptionState

-
-
-
-

StopDialog

-
StopDialog ()
-

This command can only be used from within the dialog_request function. It tells AGS that when dialog_request finishes, the whole conversation should stop rather than continuing with the dialog script.

-

You can use this function to end the conversation depending on whether the player has/does a certain thing.

-

Example:

-
function dialog_request (int dr) {
-    if (dr==1) {
-        cEgo.AddInventory(iPoster);
-        StopDialog();
-    }
-}
-

will give the player the inventory item 3 and then end the conversation.

-

See also: Dialog.SetOptionState

-
-
-
- - - - - -
- - diff --git a/DialogOptionsRenderingInfo.html b/DialogOptionsRenderingInfo.html deleted file mode 100644 index c72b5cb30..000000000 --- a/DialogOptionsRenderingInfo.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - DialogOptionsRenderingInfo functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

DialogOptionsRenderingInfo functions and properties

-

The DialogOptionsRenderingInfo instance is used by the custom dialog options system. You can never create one yourself, it will be passed in to the dialog option functions as described in the linked page.

-
-
-

DialogOptionsRenderingInfo.RunActiveOption

-
bool DialogOptionsRenderingInfo.RunActiveOption();
-

Runs the currently selected dialog option, the one set in ActiveOptionID, and returns true on success.

-

As of AGS 3.4.0 you must call this function for conversation to continue, most common places for such call are dialog_options_mouse_click and dialog_options_key_press functions.

-

Example:

-
function dialog_options_key_press(DialogOptionsRenderingInfo *info, eKeyCode key)
-{
-    if (keycode == eKeyReturn)
-        info.RunActiveOption();
-}
-

runs selected dialog option when player presses Enter/Return key.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: DialogOptionsRenderingInfo.ActiveOptionID

-
-
-
-

DialogOptionsRenderingInfo.Update

-
void DialogOptionsRenderingInfo.Update();
-

Forces dialog options to redraw, eventually leading to be dialog_options_render function run.

-

Like other elements of interface, dialog options GUI does not redraw itself every game loop; in attempt to optimize performance it aims to do so only when there are changes to its look. But sometimes you may want to change GUI looks based on your own decision, and not automatic behavior. For example, you want to script animated text, or other element belonging to dialog options. This is when you call DialogOptionsRenderingInfo.Update().

-

IMPORTANT: Keep in mind that calling Update does not immediately run dialog_options_render, render function will be run at least after current script ends.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-
-
-
-

DialogOptionsRenderingInfo.ActiveOptionID

-
int DialogOptionsRenderingInfo.ActiveOptionID;
-

Gets/sets the currently active option on the dialog options screen. You set this in the dialog_options_get_active function to tell AGS which option the mouse is hovering over. This ensures that the correct option is activated when the player clicks the mouse button.

-

You can read this property in the dialog_options_render function in order to highlight the selected option in a different manner to the others.

-

This property can be set to 0 which indicates that no option is selected; otherwise it will be the option number from 1 to the number of options in the dialog.

-

Example:

-
function dialog_options_get_active(DialogOptionsRenderingInfo *info)
-{
-    info.ActiveOptionID = 1;
-}
-

always selects the first option

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.RunActiveOption, Dialog.GetOptionState

-
-
-
-

DialogOptionsRenderingInfo.DialogToRender

-
Dialog* DialogOptionsRenderingInfo.DialogToRender;
-

Gets the dialog that needs to be rendered. You can loop through all the options in the dialog in order to decide what to display on the screen.

-

Example: For an example please see the custom dialog options page.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Dialog.GetOptionState, DialogOptionsRenderingInfo.Surface

-
-
-
-

DialogOptionsRenderingInfo.HasAlphaChannel

-
int DialogOptionsRenderingInfo.HasAlphaChannel;
-

Gets/sets whether the dialog options's drawing surface will have alpha channel.

-

This can only be set within the dialog_options_get_dimensions function, but can be read in other functions in order to render the options.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-    info.HasAlphaChannel = true;
-}
-

creates a 300x150 size area with alpha channel to draw the dialog options in.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: DialogOptionsRenderingInfo.Height, DialogOptionsRenderingInfo.Width

-
-
-
-

DialogOptionsRenderingInfo.Height

-
int DialogOptionsRenderingInfo.Height;
-

Gets/sets the height of the area needed to draw the dialog options.

-

This can only be set within the dialog_options_get_dimensions function, but can be read in other functions in order to render the options.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-}
-

creates a 300x150 size area to draw the dialog options in

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.Width

-
-
-
-

DialogOptionsRenderingInfo.ParserTextBoxWidth

-
int DialogOptionsRenderingInfo.ParserTextBoxWidth;
-

Gets/sets the width of the text parser textbox on the dialog options. If the text parser is not enabled for this dialog, this setting will be ignored.

-

This can only be set within the dialog_options_get_dimensions function.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-    // Put the text parser at the bottom (if enabled)
-    info.ParserTextBoxX = 10;
-    info.ParserTextBoxY = 130;
-    info.ParserTextBoxWidth = 180;
-}
-

positions the parser text box at (10,130) inside the 300x150 dialog options area

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.Width, DialogOptionsRenderingInfo.ParserTextBoxX, DialogOptionsRenderingInfo.ParserTextBoxY

-
-
-
-

DialogOptionsRenderingInfo.ParserTextBoxX

-
int DialogOptionsRenderingInfo.ParserTextBoxX;
-

Gets/sets the X-position of the text parser textbox on the dialog options. If the text parser is not enabled for this dialog, this setting will be ignored.

-

This X-position is relative to the dialog options surface. That is, an X of 10 will position it 10 pixels within the dialog options area, not 10 pixels from the edge of the screen.

-

This can only be set within the dialog_options_get_dimensions function.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-    // Put the text parser at the bottom (if enabled)
-    info.ParserTextBoxX = 10;
-    info.ParserTextBoxY = 130;
-    info.ParserTextBoxWidth = 180;
-}
-

positions the parser text box at (10,130) inside the 300x150 dialog options area

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.ParserTextBoxWidth, DialogOptionsRenderingInfo.ParserTextBoxY

-
-
-
-

DialogOptionsRenderingInfo.ParserTextBoxY

-
int DialogOptionsRenderingInfo.ParserTextBoxY;
-

Gets/sets the Y-position of the text parser textbox on the dialog options. If the text parser is not enabled for this dialog, this setting will be ignored.

-

This Y-position is relative to the dialog options surface. That is, a Y of 10 will position it 10 pixels within the dialog options area, not 10 pixels from the edge of the screen.

-

This can only be set within the dialog_options_get_dimensions function.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-    // Put the text parser at the bottom (if enabled)
-    info.ParserTextBoxX = 10;
-    info.ParserTextBoxY = 130;
-    info.ParserTextBoxWidth = 180;
-}
-

positions the parser text box at (10,130) inside the 300x150 dialog options area

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.ParserTextBoxX

-
-
-
-

DialogOptionsRenderingInfo.Surface

-
DrawingSurface* DialogOptionsRenderingInfo.Surface;
-

Gets the drawing surface that can be used to draw the dialog options.

-

This can only be used within the dialog_options_render function; in all other functions it will return null.

-

Unlike most other uses of the DrawingSurface, you do NOT have to release this one. AGS will automatically do that for you after the dialog_options_render function has completed.

-

The size of the surface should correspond to the Width and Height requested in the dialog_options_get_dimensions function.

-

Example:

-
function dialog_options_render(DialogOptionsRenderingInfo *info)
-{
-    info.Surface.Clear(14);
-}
-

clears the dialog options area to yellow.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DrawingSurface functions

-
-
-
-

DialogOptionsRenderingInfo.Width

-
int DialogOptionsRenderingInfo.Width;
-

Gets/sets the width of the area needed to draw the dialog options.

-

This can only be set within the dialog_options_get_dimensions function, but can be read in other functions in order to render the options.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.Width = 300;
-    info.Height = 150;
-}
-

creates a 300x150 size area to draw the dialog options in

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.Height

-
-
-
-

DialogOptionsRenderingInfo.X

-
int DialogOptionsRenderingInfo.X;
-

Gets/sets the horizontal co-ordinate of the top-left corner of the dialog options area.

-

This can only be set within the dialog_options_get_dimensions function, but can be read in other functions in order to render the options.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.X = 50;
-    info.Y = 20;
-    info.Width = 200;
-    info.Height = 150;
-}
-

creates a 200x150 size area at (50, 20) to draw the dialog options in

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.Y

-
-
-
-

DialogOptionsRenderingInfo.Y

-
int DialogOptionsRenderingInfo.Y;
-

Gets/sets the vertical co-ordinate of the top-left corner of the dialog options area.

-

This can only be set within the dialog_options_get_dimensions function, but can be read in other functions in order to render the options.

-

Example:

-
function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
-{
-    info.X = 50;
-    info.Y = 20;
-    info.Width = 200;
-    info.Height = 150;
-}
-

creates a 200x150 size area at (50, 20) to draw the dialog options in

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: DialogOptionsRenderingInfo.X

-
-
-
- - - - - -
- - diff --git a/DialogScript.html b/DialogScript.html deleted file mode 100644 index 37e9962ac..000000000 --- a/DialogScript.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - Dialog Script - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Dialog Script

-

Dialog scripts are scripts that run when a dialog starts or one of the options is executed, for example, when player selects it in the list of available options. Dialog scripts are streamlined for conversations and use an extended variant of script syntax that simplifies several common commands.

-

With a newly created dialog topic, all you will see in the script is a number of lines starting with an '@' symbol. In the dialog script, these signify the starting points of the script for each option. For example, when the player clicks on option 3, the script will begin on the line following "@3". There is also a special starting point, called "@S". This is run when the conversation starts, before any choices are given to the player. This could be used to display a "Hello" message or something similar.

-

To display some speech, you begin the line with the character's SCRIPT NAME (not full name), followed by a colon, then a space, and then what you want them to say. For example, if my main character's script name is EGO, I would write

-
ego: "I am very happy today because it's my birthday."
-

The character name is used by the system to choose the correct color for the text.

-

IMPORTANT: Do NOT include the "c" at the start of the character's script name here.

-

You can also use the special character name "narrator", which displays the text in the pop-up message box instead of as speech text; and the alias "player", which will say it as the current player character - useful if you don't know which character the player will be controlling when they speak the conversation.

-

If you just use ... as the text for a character to say, the game will pause briefly as if they are stopping to think, and nothing will be displayed.

-

To signal the end of the script for this option, place a "return" command on the last line of it. For example,

-
@1
-ego: "Hello. How are you?"
-narrator: The man looks you in the eye.
-otherman: ...
-otherman: "I'm fine."
-return
-

"return" tells AGS to go back and display the choices again to the player. If you use "stop" instead of return, then the conversation is ended. Alternatively, you can use "goto-dialog" or "goto-previous", which abort the current dialog script and transfer control to the new dialog.

-

NOTE: Do NOT indent these lines with spaces or tabs. Indented lines signify that AGS should interpret the line as a normal scripting command rather than a dialog scripting command (see below).

-
-

Dialog commands

-

The dialog commands available are:

-
    -
  • goto-dialog X
    Switches the current topic to Topic X, and displays the current list of choices for that topic.
  • -
  • goto-previous
    Returns to the previous topic that this one was called from. If the dialog started on this topic, then the dialog will be stopped.
  • -
  • option-off X
    Turns option X for the current topic off, meaning it won't be displayed in the list of choices next time.
  • -
  • option-off-forever X
    Turns option X off permanently. It will never again be displayed, not even if an "option-on" command is used.
  • -
  • option-on X
    Turns option X for the current topic on, including it in the list of choices to the player next time they are displayed.
  • -
  • run-script X
    Calls dialog_request event handler if one is present in the game script, passes X as an integer parameter.
  • -
  • return
    Stops the script and returns to the list of choices.
  • -
  • stop
    Stops the conversation and returns the player to the game.
  • -
-
-
-

Substituting dialog speech with custom functions

-

By default all of the character dialog lines are executed using the standard function Character.Say. Since AGS 3.5.0 it is possible to define a custom script function as a substitute instead. This is done using "Custom Say function in dialog scripts" option in the General Settings. Similarly, narration (which is by default done using Display script function) may be substituted with a custom one using "Custom Narrate function in dialog scripts".

-

These custom functions should be declared as imports in one of your script headers.
"Custom Say" function must have one of the following two declaration forms:
void MySay(Character* c, const string text); // use ex: MySay(player, "Hello");
or
void MySay(this Character*, const string text); // use ex: player.MySay("Hello");

-

"Custom Narrate" function must have following declaration form:
void MyNarrate(const string text);

-

IMPORTANT: There's currently a limitation that, if Say checkbox for dialog options is checked, it will use regular Character.Say despite defining a custom Say function.
If you still want to have player pronounce dialog option text, one of the solutions is to add a call to your custom speech function as the first line in every dialog option script:

-
@X
-    player.MySay(this.GetOptionText( X )); \\ where X is the actual option index
-

If you wonder how such function will work in dialogs, see the following topic below.

-
-
-

Using regular scripting commands in dialogs

-

Often the provided dialog scripting commands won't be enough for what you want to do in the dialog. You might want to give the player an inventory item or add some points to their score, for example.

-

AGS now lets you put normal scripting commands in your dialog script, by indenting the line with spaces or tabs. For example:

-
@1
-ego: "Hello. How are you?"
-narrator: The man looks you in the eye.
-    player.AddInventory(iKey);
-    Display("This line is displayed from a normal script command");
-otherman: "I'm fine."
-return
-

Here, you can see dialog script commands being used, but also then a couple of normal scripting commands have been inserted, on indented lines.

-

When working with dialog scripts, the this keyword allows you to access the currently running dialog.

-

If you want to conditionally break out of the dialog script, the special tokens RUN_DIALOG_GOTO_PREVIOUS, RUN_DIALOG_RETURN and RUN_DIALOG_STOP_DIALOG are available which you can return from inside a script block. For example:

-
@1
-ego: "Hello. How are you?"
-narrator: The man looks you in the eye.
-    if (player.HasInventory(iKey)) {
-        player.Say("Actually, I'd better go.");
-        return RUN_DIALOG_STOP_DIALOG;
-    }
-otherman: "Here's a key for you."
-return
-
-
-
- - - - - -
- - diff --git a/Dictionary.html b/Dictionary.html deleted file mode 100644 index 10bcba48b..000000000 --- a/Dictionary.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - Dictionary Functions and Properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Dictionary Functions and Properties

-

A Dictionary allows you to store key/value string pairs and look up values be referencing their associated key. Within the dictionary each key must be unique, but the value does not have to be. This means that you may have the same value assigned for multiple keys, but not a single key with multiple values.

-

Because of how dictionaries work internally, searching for a key in dictionary is faster than you'd search for it in a regular array. The advantage increases with the number of items searched. They are also fast to add or remove items.

-

A Dictionary has two general properties: sort style and compare style.

-

Sort style defines whether items are stored sorted or unsorted, based on their keys. The unsorted containers are commonly somewhat faster to search in, but the items will be stored in an undefined order.

-

Compare style determines whether string keys are compared as case sensitive or case insensitive. For example, in a case-sensitive dictionary the strings "Parameter" and "parameter" will be seen as two different keys, but in a case-insensitive dictionary they will be seen as the same key. Compare style defines both key uniqueness and sorting.

-

At the moment a dictionary does not let you directly access all of its internal data, but has GetKeysAsArray and GetValuesAsArray functions that will write all items to a dynamic array, which you may parse, print, and otherwise use as you see fit. The order of items in these arrays will match their order within the dictionary, hence if the dictionary was sorted the array will be sorted as well.

-

To summarize, dictionaries make convenient storage for key/value pairs. If you do not need pairs but rather a sequence of unique values, you may wish to use a Set instead.

-

Compatibility: Dictionary struct is supported by AGS 3.5.0 and later versions.

-
-
-

Dictionary.Create

-
static Dictionary* Dictionary.Create(SortStyle sortStyle, StringCompareStyle compareStyle)
-

Creates a new empty Dictionary of the given properties. If you don't pass any options the Dictionary is unsorted and case-insensitive. Note that you cannot change sorting style and case sensitivity later, you would have to create another Dictionary and then re-add the values there.

-
    -
  • Possible values for sortStyle: eNonSorted, eSorted.
  • -
  • Possible values for compareStyle: eCaseInsensitive, eCaseSensitive.
  • -
-

Example:

-
Dictionary* myDictionary = Dictionary.Create();
-
-
-
-

Dictionary.Clear

-
void Dictionary.Clear()
-

Removes all items from the dictionary.

-
-
-
-

Dictionary.Contains

-
bool Dictionary.Contains(String key)
-

Returns true if the key is in the dictionary, otherwise - false.

-

Example:

-
Dictionary* myDictionary = Dictionary.Create();
-myDictionary.Set("my-key","my-value");
-if(myDictionary.Contains("my-key")){
-    Display("has my key!");
-}
-

This will add "my-key" key, assign "my-value" to that key and then test whether that key was added successfully.

-

See also: Dictionary.Get, Dictionary.Set

-
-
-
-

Dictionary.Get

-
String Dictionary.Get(String key)
-

Gets the value for the given key. Returns null if such a key does not exist.

-

Example:

-
Dictionary* myDictionary = Dictionary.Create();
-myDictionary.Set("a-key","a-value");
-String myValue = myDictionary.Get("a-key");
-

Here myValue variable will be assigned "a-value" from the dictionary.

-

See also: Dictionary.Set

-
-
-
-

Dictionary.GetKeysAsArray

-
String[] Dictionary.GetKeysAsArray()
-

Creates a dynamic array filled with keys in the same order as they are stored in the Dictionary, set by SortStyle when the Dictionary is created.

-

IMPORTANT: this returns a copy of Dictionary contents existing at the time of function call. If you change Dictionary later, that won't affect previously created key array and you would have to call this function again.

-

Returns null if this Dictionary is empty.

-

Example:

-
Dictionary* myDictionary = Dictionary.Create(eSorted);
-myDictionary.Set("my-key1","my-value1");
-myDictionary.Set("my-key2","my-value2");
-String keys[] = myDictionary.GetKeysAsArray();
-for (int i = 0; i < myDictionary.ItemCount; i++)
-    Display("#%d: %s", i, keys[i]);
-

In the above example the keys will be displayed on screen one by one, preceded by their index.

-

See also: Dictionary.ItemCount

-
-
-
-

Dictionary.GetValuesAsArray

-
String[] Dictionary.GetValuesAsArray()
-

Creates a dynamic array filled with values in the same order as they are stored in the Dictionary, set by SortStyle when the Dictionary is created.

-

IMPORTANT: this returns a copy of Dictionary contents existing at the time of function call. If you change Dictionary later, that won't affect previously created values array and you would have to call this function again.

-

Returns null if this Dictionary is empty.

-

Example:

-
Dictionary* myDictionary = Dictionary.Create(eSorted);
-myDictionary.Set("my-key1","my-value1");
-myDictionary.Set("my-key2","my-value2");
-String values[] = myDictionary.GetValuesAsArray();
-for (int i = 0; i < myDictionary.ItemCount; i++)
-    Display("#%d: %s", i, values[i]);
-

In the above example the values will be displayed on screen one by one, preceded by their index.

-

See also: Dictionary.ItemCount

-
-
-
-

Dictionary.Remove

-
bool Dictionary.Remove(String key)
-

Removes a key/value pair from the dictionary, returns true on success and false if there was no such key.

-

See also: Dictionary.Set

-
-
-
-

Dictionary.Set

-
bool Dictionary.Set(String key, String value)
-

Assigns a value to the given key. If the key did not exist then it will be created, otherwise the old value for this key will be overwritten with a new one.

-

See also: Dictionary.Get, Dictionary.Remove

-
-
-
-

Dictionary.CompareStyle

-
StringCompareStyle Dictionary.CompareStyle
-

Returns the string comparison method for this dictionary, which determines whether its keys are case-sensitive.

-

See also: Dictionary.SortStyle

-
-
-
-

Dictionary.ItemCount

-
int Dictionary.ItemCount
-

Gets the number of key/value pairs currently in the dictionary.

-
-
-
-

Dictionary.SortStyle

-
SortStyle Dictionary.SortStyle
-

Returns the key sorting method for this dictionary.

-

See also: Dictionary.CompareStyle

-
-
-
- - - - - -
- - diff --git a/DistGame.html b/DistGame.html deleted file mode 100644 index ccd40e23e..000000000 --- a/DistGame.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - Distributing your game - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Distributing your game

-
-

Compiled folder structure

-

When you choose the "Build EXE" option in the Editor, a "Compiled" directory is created in your game's folder, where more subdirectories are created in turn.

-
    -
  • "Compiled/Data" subfolder is always made. Here it serves as an intermediate storage, and contains the "raw" game data that cannot be used on its own, but may be run by an AGS engine executable (on any supported platform). From this folder these files will then be copied into other subfolders, one for each build target (platform) you selected in the project's General Settings.
  • -
  • "Compiled/Windows" subfolder will be created if you have "Windows" enabled as target platform. The folder will contain the game data merged with the engine executable for Windows, as well as a file called "winsetup.exe" which launches an integrated setup program.
  • -
  • "Compiled/Linux" subfolder will be created if you have "Linux" enabled as target platform. The folder will contain the game data, the engine executable, and necessary third-party libraries for 32-bit and 64-bit Linux systems.
  • -
  • "Compiled/Web" subfolder will be created if you have "Web" enabled as target platform. The folder will contain the wasm + JS port of the engine, and the game data. You can test by serving the current directory, using some server (ex: python -m http.server if you have python), and opening it in a browser. Indie store websites usually accept you zip the contents of this directory and upload it as a web build.
  • -
  • "Compiled/Android" subfolder will be created if you have "Android" enabled as target platform. This build has external requirements you must comply, and they are detailed in the Building for Android topic.
  • -
-

Note: Linux, Android and Web building require you have installed their specific components when installing the Editor, otherwise they won't be available

-

The contents of these subfolders can be now distributed to players with the corresponding operating systems. For example, if you want to distribute the Windows version of your game, you only need the contents of the "Compiled/Windows" subfolder. For Linux the "Compiled/Linux" subfolder is sufficient.

-

The "Compiled/Data" folder should usually not be distributed. It still may come in useful if you are preparing a custom distribution, but remember that the contents of this folder cannot be run on its own: you need to add one of the available engine versions to it, or warn users that they have to have the AGS engine installed on their system.

-
-
-

Compiled game contents

-

The main game data file naming format is game.ags, where "game" is the entry for the "Game file name" property set in the General Settings. When compiled for Windows the main game data is merged with the engine and results in a file called game.exe instead.

-

If you selected the option to split the resources files, you will also have several files named game.001, game.002, and so forth in the folder.

-

Games with digital music will usually have another file called audio.vox in the compiled folder. The audio.vox contains audio clips that you have marked as "InSeperateVOX" in the editor. This allows you to have an optional audio download, if your game uses lots of sound files but you want to give the player the choice to download them separately to save bandwidth.

-

Games with digital speech voice-over will have a separate speech.vox file in the compiled game's folder. Again you can distribute the Voice Acting sound files separately as the filesize for your game grows fast when you have a lot of spoken words and include the speech files into the game.

-

acsetup.cfg is a text file containing the default configuration for the game. This file is generated by the editor from the Default Setup properties.

-

The Windows build of your game will also include a winsetup.exe file in the compiled folder, which is a setup program launcher. Note that the setup program itself is integrated into your game exe, and it's also possible to launch the setup by executing game.exe --setup in the command line.

-
-
-

Customizing game data

-

If you want to distribute custom data with your game you can simply add the necessary files where the main game data (game.ags or game.exe) is located.

-

Note that any custom files put into the "Compiled/Data" folder will also be copied to all the final build targets (Windows, Linux, etc) when the game is built. At the moment this is the most convenient method of making sure the same custom data will be included for all target platforms. If you need the custom files to be present only with a particular distribution, like only for Windows, or only for Linux, then put the files into the corresponding platform subfolder instead.

-

If instead you wish to pack additional files inside the game package itself, see Package custom data folder(s), in General Settings - Compiler.

-
-
-

Warning on de-compiling the built game

-

It is not possible to load the exe file back into the AGS Editor. This means two things when only the EXE file is available: (1) other people can't edit your game's data, and (2) you can't either. Always keep a backup of the other files produced (.CRM, GAME.AGF, etc) as they are what the Editor needs to be able to load your game for editing.

-
-
-

Licensing

-

Due to the licenses of code used by AGS, the documentation of your game should acknowledge the following:

-
    -
  • TrueType font display uses ALFont by Javier Gonzalez and the FreeType project, distributed under the terms of the FreeType project license.
  • -
-

Additionally, an acknowledgment in the game documentation would be appreciated but is not required but is not required on the following

-
    -
  • Audio decoding is SDL Sound, and mixing is MojoAL, both by Ryan C. Gordon, both distributed under the terms of the zlib License. SDL Sound MIDI decoding incorporates Timidity source code, which is dual-licensed under the Perl Artistic License or GNU Lesser General Public License 2.1.

  • -
  • Backend of Audio, Graphics, input and additional systems is SDL2, by Sam Lantinga, distributed under the terms of the zlib License.

  • -
-

You must also comply with the license for AGS: Artistic License 2.0

-
-
-
-

Custom icon

-

You can use your own custom icon for the game.exe when you build a Windows EXE file. To do this, simply place your icon in your gameproject's folder, and name it USER.ICO. Then, open the project in the editor and compile the game.

-

NOTE: The icon must be a proper Windows .ICO file, not just a renamed BMP file. Icon editors, such as AX-Icons from https://www.axialis.com/, GIMP or IrfanView, will convert any image for you.

-

You can also have a custom icon for the Setup program. To do so, create your icon as above but name it setup.ico in the game project folder.

-
-
-

Splash screen

-

You can make a "Loading..." style splash screen to be displayed while your game starts up. To do so, simply save the image as preload.pcx (must be the same resolution and color depth as the game) in the game project folder, and build the game. It should then display while the game is loading.

-
-
-
-

Splitting resource files

-

Some people found that once their game became large, the single EXE file was slow to load due to anti-virus checkers scanning the whole file. AGS includes an option to split up the resource files into smaller chunks to avoid this happening. On the General Settings pane you'll notice a setting "Split resource files into X Mb sized chunks".

-

If you tick this, then type in a value such as 1 or 2, then save the game. Now when you compile the game, the data will be split up into chunks of that size, named GAME.001, GAME.002 and so on.

-

Some resources are still combined into the EXE file but all the rooms will be placed into the other files. If you use this option, you need to distribute your game's EXE file plus all the GAME.### files.

-
-
-
-

Managing the Graphics Footprint

-

Your game sprites are stored as bitmap files, and it's size will be proportional to the number of pixels stored, normally being packed along with your game executable. They are packed sequentially, so for distribution systems that support binary patching, like Steam, when you add a new sprite and update your game, only that single sprite will be delivered through it - Steam also applies a compression when sending these patches. If your game is distributed as a single binary file, zipping will reduce it's download size, but you can also turn on RLE compression on your game settings, which can reduce their size on disk.

-

You can generate some graphics programmatically in your game using Dynamic Sprites, just remember if you don't unload and reload them between save and load, if you are using the savestate feature native to AGS, these sprites will be serialized to the game savefiles, potentially bloating up their size.

-
-
-

Managing the Audio Footprint

-

AGS stores audio files directly copied from their imported files, and can be outsourced from the main game file as an external audio.vox file or they can be merged into and be part of the main game executable. Speech is always packed as an external speech.vox file. AGS doesn't compress the audio, but instead relies on the original compression from each individually imported audio file when generating audio packs (.vox) or when embedding them in the game file.

-

Since audio files tend to be less volatile during middle to late parts of game development, and some distribution platforms don't provide binary patching, it may be wise to have them as external files so that they are not downloaded again by your player when your game has an update.

-

Speech

-

Usually the ogg format can achieve good compression with voice files. If you use Audacity, a compression of 3 (of 10) provides good quality while providing very small files.

-

Sound Effects

-

For sound effect files, usually ogg provides a good compression, you may need to test individual compression levels.

-

Music

-

Music files will compress just fine with the ogg format. It's a good idea to experiment with different compression levels. If you have to, you can use mp3 files too, just be aware they may produce a small audible gap when looping, so avoid mp3 on short music tracks. Don't use wav files for music or it will make your game size too big without perceptual quality gains.

-
-
-
- - - - - -
- - diff --git a/DrawingSurface.html b/DrawingSurface.html deleted file mode 100644 index c6a532f6f..000000000 --- a/DrawingSurface.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - DrawingSurface functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

DrawingSurface functions and properties

-

The DrawingSurface family of functions allow you to directly draw onto dynamic sprites and room backgrounds in the game. You get a drawing surface by calling DynamicSprite.GetDrawingSurface or Room.GetDrawingSurfaceForBackground, and you can then use the following methods to draw onto the surface.

-

IMPORTANT: You MUST call the Release method when you have finished drawing onto the surface. This allows AGS to update its cached copies of the image and upload it to video memory if appropriate.

-
-
-

DrawingSurface.Clear

-

(Formerly known as RawClearScreen, which is now obsolete)

-
DrawingSurface.Clear(optional int color)
-

Clears the surface to the specified COLOR (this is a number you can find in the Colors pane of the editor). The current contents of the surface will be lost.

-

If you do not supply the COLOR parameter, or use COLOR_TRANSPARENT, the surface will be cleared to be fully transparent.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.Clear(14);
-surface.DrawingColor = 13;
-surface.DrawCircle(160,100,50);
-surface.Release();
-

clears the room background to be fully yellow, then draws a pink circle in the middle of it.

-

See also: DrawingSurface.DrawingColor

-
-
-
-

DrawingSurface.CreateCopy

-

(Formerly known as RawSaveScreen, which is now obsolete)

-
DrawingSurface* DrawingSurface.CreateCopy()
-

Makes a backup copy of the current surface, in order that it can be restored later. This could be useful to back up a background scene before writing over it, or to save a certain state of your drawing to restore later.

-

Unlike the obsolete RawSaveScreen command in previous versions of AGS, backup surfaces created with this command are not lost when the player changes room or restores a game. However, surfaces containing a copy of room backgrounds can be very large, using up a large amount of memory and can increase the save game sizes significantly. Therefore, it is strongly recommended that you Release any backup copy surfaces as soon as you are done with them.

-

Example:

-
DrawingSurface *backup = surface.CreateCopy();
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawTriangle(0,0,160,100,0,200);
-surface.Release();
-Wait(80);
-surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawSurface(backup);
-surface.Release();
-backup.Release();
-

will save a copy of the room background, draw a triangle onto it, wait for a while and then restore the original background.

-

See also: DrawingSurface.DrawSurface

-
-
-
-

DrawingSurface.DrawCircle

-

(Formerly known as RawDrawCircle, which is now obsolete)

-
DrawingSurface.DrawCircle(int x, int y, int radius)
-

Draws a filled circle of radius RADIUS with its center at (X,Y) in the current drawing color.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawCircle(160,100,50);
-surface.Release();
-

will draw a circle in the center of the screen, of 50 pixels radius.

-

See also: DrawingSurface.DrawLine, DrawingSurface.DrawingColor

-
-
-
-

DrawingSurface.DrawImage

-

(Formerly known as RawDrawImage, which is now obsolete)
(Formerly known as RawDrawImageResized, which is now obsolete)
(Formerly known as RawDrawImageTransparent, which is now obsolete)

-
DrawingSurface.DrawImage(int x, int y, int slot, optional int transparency,
-                         optional int width, optional int height,
-                         optional int cut_x, optional  int cut_y, 
-                         optional int cut_width, optional int cut_height)
-

Draws image SLOT from the sprite manager onto the surface at location (X,Y).

-

Optionally, you can also specify the transparency of the image. This is a number from 0-100; using a transparency of 50 will draw the image semi-transparent; using 0 means it will not be transparent.

-

You can also resize the image as you draw it. In order to do this, simply specify a width and height that you wish to resize the image to when it is drawn.

-

As of AGS 3.6.0, you can also cut the original image in a specific rectangle using it's x,y position and width and height.

-

NOTE: This command only works if the image to be drawn is the same color depth as the surface that you are drawing onto.

-

NOTE: Transparency does not work in 256-color games, or with 256-color sprites.

-

NOTE: The X and Y co-ordinates given are ROOM co-ordinates, not SCREEN co-ordinates. This means that in a scrolling room you can draw outside the current visible area.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, oDoor.Graphic, 40);
-surface.Release();
-

will draw the oDoor object's graphic onto the room background at (100, 100), at 40% transparency.

-

See also: DrawingSurface.DrawLine, DrawingSurface.DrawString, DrawingSurface.DrawSurface, Room.ColorDepth

-
-
-
-

DrawingSurface.DrawLine

-

(Formerly known as RawDrawLine, which is now obsolete)

-
DrawingSurface.DrawLine(int from_x, int from_y, int to_x, int to_y,
-                        optional int thickness)
-

Draws a line from (FROM_X, FROM_Y) to (TO_X, TO_Y) in the surface's current drawing color.

-

The thickness parameter allows you to specify how thick the line is, the default being 1 pixel.

-

NOTE: The X and Y co-ordinates given are ROOM co-ordinates, not SCREEN co-ordinates. This means that in a scrolling room you can draw outside the current visible area.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, 160, 100);
-surface.Release();
-

will draw a line from the left top of the screen (0,0) to the middle of the screen (160,100);

-

See also: DrawingSurface.DrawCircle, DrawingSurface.DrawRectangle, DrawingSurface.DrawTriangle, DrawingSurface.DrawingColor

-
-
-
-

DrawingSurface.DrawMessageWrapped

-

(Formerly known as RawPrintMessageWrapped, which is now obsolete)

-
DrawingSurface.DrawMessageWrapped(int x, int y, int width,
-                                  FontType font, int message_number)
-

Draws the room message MESSAGE_NUMBER onto the surface at (x,y), using the specified FONT.

-

WIDTH is the width of the virtual textbox enclosing the text, and is the point that the text will wrap at. This command is designed for writing a long message to the screen with it wrapping normally like a standard label would do.

-

The text will be printed using the current drawing color.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawMessageWrapped(80, 40, 160, Game.NormalFont, 10);
-surface.Release();
-

will display message 10 in the center of the screen, starting from Y = 40.

-

See also: DrawingSurface.DrawString, DrawingSurface.DrawingColor, DrawingSurface.DrawStringWrapped

-
-
-
-

DrawingSurface.DrawPixel

-
DrawingSurface.DrawPixel(int x, int y)
-

Draws a single pixel onto the surface at (X,Y) in the current color. The pixel thickness respects the UseHighResCoordinates property.

-

NOTE: This command is not fast enough to use repeatedly to build up an image. Only use it for single pixel adjustments.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawPixel(50, 50);
-surface.Release();
-

draws a yellow pixel in the top left of the room background

-

See also: DrawingSurface.DrawingColor, DrawingSurface.DrawLine, DrawingSurface.GetPixel, DrawingSurface.UseHighResCoordinates

-
-
-
-

DrawingSurface.DrawRectangle

-

(Formerly known as RawDrawRectangle, which is now obsolete)

-
DrawingSurface.DrawRectangle(int x1, int y1, int x2, int y2)
-

Draws a filled rectangle in the current color with its top-left corner at (x1,y1) and its bottom right corner at (x2, y2)

-

NOTE: The X and Y co-ordinates given are ROOM co-ordinates, not SCREEN co-ordinates. This means that in a scrolling room you can draw outside the current visible area.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawRectangle(0, 0, 160, 100);
-surface.Release();
-

will draw a rectangle over the top left hand quarter of the screen.

-

See also: DrawingSurface.DrawImage, DrawingSurface.DrawLine

-
-
-
-

DrawingSurface.DrawString

-

(Formerly known as RawPrint, which is now obsolete)

-
DrawingSurface.DrawString(int x, int y, FontType font, string text, ...)
-

Draws the text onto the surface at (x, y), using the supplied font number. The text will be drawn in the current drawing color.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawString(0, 100, Game.NormalFont, "Text written into the background!");
-surface.Release();
-

will write some text onto the middle-left of the room background

-

See also: GetTextWidth, DrawingSurface.DrawStringWrapped, DrawingSurface.DrawingColor

-
-
-
-

DrawingSurface.DrawStringWrapped

-
DrawingSurface.DrawStringWrapped(int x, int y, int width,
-                                 FontType font, Alignment,
-                                 const string text, ...)
-

Draws the text onto the surface at (x,y), using the specified FONT.

-

width is the width of the virtual textbox enclosing the text, and is the point that the text will wrap at. You can use the alignment parameter to determine how the text is horizontally aligned.

-

The text will be printed using the current drawing color.

-

As of AGS 3.6.1, you can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawStringWrapped(80, 40, 160, Game.NormalFont, eAlignCentre, "Hello, my name is Bob.");
-surface.Release();
-

will display the text in the center of the screen, starting from Y = 40.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: DrawingSurface.DrawString, DrawingSurface.DrawingColor, DrawingSurface.DrawMessageWrapped

-
-
-
-

DrawingSurface.DrawSurface

-

(Formerly known as RawDrawFrameTransparent, which is now obsolete)
(Formerly known as RawRestoreScreen, which is now obsolete)

-
DrawingSurface.DrawSurface(DrawingSurface* source, optional int transparency,
-                           optional int x, optional int y, 
-                           optional int width, optional int height,
-                           optional int cut_x, optional  int cut_y, 
-                           optional int cut_width, optional int cut_height)
-

Draws the specified surface on top of this surface, optionally using transparency percent transparency. As of AGS 3.6.0, it also supports additional parameters to draw a piece of the surface onto a specific area in the destination surface.

-

This allows you to perform day-to-night fading and other special effects.

-

NOTE: You cannot use the transparency parameter with 256-color surfaces.

-

NOTE: This command can be a bit on the slow side, so don't call it from repeatedly_execute.

-

TIP: If you want to gradually fade in a second background, create a copy of the original surface and then restore it after each iteration, otherwise the backgrounds will converge too quickly.

-

Example:

-
DrawingSurface *mainBackground = Room.GetDrawingSurfaceForBackground(0);
-DrawingSurface *nightBackground = Room.GetDrawingSurfaceForBackground(1);
-mainBackground.DrawSurface(nightBackground, 50);
-mainBackground.Release();
-nightBackground.Release();
-

this will draw background frame 1 onto frame 0 at 50% opacity.

-

See also: DrawingSurface.DrawImage, SetAmbientTint

-
-
-
-

DrawingSurface.DrawTriangle

-

(Formerly known as RawDrawTriangle, which is now obsolete)

-
DrawingSurface.DrawTriangle(int x1, int y1, int x2, int y2, int x3, int y3)
-

Draws a filled triangle in the current color with corners at the points (x1,y1), (x2,y2) and (x3,y3).

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawTriangle(0,0,160,100,0,200);
-surface.Release();
-

will draw a triangle with corners at the points (0,0),(160,100),(0,200).

-

See also: DrawingSurface.DrawImage, DrawingSurface.DrawLine, DrawingSurface.DrawRectangle

-
-
-
-

DrawingSurface.Release

-
DrawingSurface.Release()
-

Tells AGS that you have finished drawing onto this surface, and that AGS can now upload the changed image into video memory.

-

After calling this method, you can no longer use the DrawingSurface instance. To do any further drawing, you need to get the surface again.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, 50, 50);
-surface.Release();
-

draws a yellow diagonal line across the top-left of the current room background, then releases the image.

-

See also: DynamicSprite.GetDrawingSurface, Room.GetDrawingSurfaceForBackground

-
-
-
-

DrawingSurface.DrawingColor

-

(Formerly known as RawSetColor, which is now obsolete)

-
int DrawingSurface.DrawingColor
-

Gets/sets the current drawing color on this surface. Set this before using commands like DrawLine, which use this color for their drawing.

-

You can set this either to an AGS Color Number (as you'd get from the Colors pane in the editor) or to the special constant COLOR_TRANSPARENT, which allows you to draw transparent areas onto the surface.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, 160, 100);
-surface.DrawingColor = Game.GetColorFromRGB(255, 255, 255);
-surface.DrawLine(0, 199, 160, 100);
-surface.Release();
-

will draw a yellow line from the left top of the screen (0,0) to the middle of the screen (160,100), and a white line from the bottom left to the middle.

-

See also: DrawingSurface.DrawCircle, DrawingSurface.DrawLine, DrawingSurface.DrawRectangle, Game.GetColorFromRGB

-
-
-
-

DrawingSurface.GetPixel

-
int DrawingSurface.GetPixel(int x, int y)
-

Returns the AGS Color Number of the pixel at (X,Y) on the surface.

-

NOTE: In high-color games, the first 32 color numbers have a special meaning due to an AGS feature which maintains compatibility with 8-bit games. Therefore, if you draw onto the surface using a blue color number 0-31 you will get a different number when you GetPixel -- and in fact the color drawn may not be what you expect. To get around this, add 1 Red or Green component to adjust the color number out of this range.

-

NOTE: This command is relatively slow. Don't use it to try and process an entire image.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-Display("The color of the middle pixel is %d.", surface.GetPixel(160, 100));
-surface.Release();
-

displays the pixel color of the center pixel on the screen.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: DrawingSurface.DrawingColor, DrawingSurface.DrawPixel, DrawingSurface.UseHighResCoordinates

-
-
-
-

DrawingSurface.Height

-
readonly int DrawingSurface.Height
-

Gets the height of the surface.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-Display("The background is %d x %d!", surface.Width, surface.Height);
-surface.Release();
-

displays the size of the surface to the player

-

See also: DrawingSurface.UseHighResCoordinates, DrawingSurface.Width

-
-
-
-

DrawingSurface.UseHighResCoordinates

-

This property is obsolete since AGS 3.5.0 and not recommended for use at all.

-
bool DrawingSurface.UseHighResCoordinates
-

Gets/sets whether you want to use high-resolution co-ordinates with this surface.

-

By default, this property will be set such that drawing surface co-ordinates use the same co-ordinate system as the rest of the game, as per the "Use low-res co-ordinates in script" game setting. However, if your game is 640x400 or higher you can customize whether this drawing surface uses native co-ordinates or the low-res 320x200 co-ordinates by changing this property.

-

Setting this property affects ALL other commands performed on this drawing surface, including the Width and Height properties.

-

IMPORTANT: This property is a remnant of the old and since deprecated feature in AGS which allowed to treat all coordinates in high-resolution games as if they were for low-resolution. For example: have 640x400 game but use 320x200 measurements in script, which would make each drawing operation to be performed x2 thicker on screen.
Since AGS 3.5.0 this property is ignored unless you have backwards-compatible "Allow relative asset resolutions" option enabled in General Settings.

-
-
-
-

DrawingSurface.Width

-
readonly int DrawingSurface.Width
-

Gets the width of the surface.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-Display("The background is %d x %d!", surface.Width, surface.Height);
-surface.Release();
-

displays the size of the surface to the player

-

See also: DrawingSurface.Height, DrawingSurface.UseHighResCoordinates

-
-
-
- - - - - -
- - diff --git a/DynamicArrays.html b/DynamicArrays.html deleted file mode 100644 index 0a110a098..000000000 --- a/DynamicArrays.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - Dynamic Arrays - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Dynamic Arrays

-
-

Overview

-

Suppose that you're writing a script that you want people to be able to use in their games. You need to store the Health for every character in the game, but you don't know how many characters there will be. What do you do?

-

Dynamic Arrays are designed for just this purpose. You can declare an array like this:

-

int characterHealth[];

-

in your script file. This special notation tells AGS that you don't yet know how large you want the array to be. Now, before you use the array (so probably in game_start), you can do this:

-

characterHealth = new int[Game.CharacterCount];

-

If you forget to do this new command, you'll get a Null Pointer Error if you try to access the array. You can change the size of an array by simply using another new command with a different size; but this will erase the contents of the array in the process.

-

You may create dynamic arrays of basic types (int, char, etc), built-in types (String, Character, etc), and custom structs declared as managed. But currently you cannot have dynamic arrays of regular (non-managed) custom structs.

-

On another hand, you cannot have dynamic arrays inside "managed" structs as their members, but can have them anywhere else.

-
-
-

Filling a dynamic array

-

If you have dynamic array of managed pointers, then after creation all of these pointers will be null. You must also assign individual elements one by one. For example, when you want to fill an array with already existing game objects:

-
Character *groupOfChars[] = new Character[4];
-groupOfChars[0] = cRoger;
-groupOfChars[1] = cMary;
-groupOfChars[2] = cThomas;
-groupOfChars[3] = cVillager;
-

Similarily, when you want to create completely new objects:

-
DynamicSprite *sprites[] = new DynamicSprite[4];
-sprites[0] = DynamicSprite.Create(10, 10);
-sprites[1] = DynamicSprite.Create(20, 20);
-sprites[2] = DynamicSprite.Create(10, 40);
-sprites[3] = DynamicSprite.Create(50, 10);
-

Accessing individual elements is as simple as with regular array:

-
int health = characterHealth[5];
-int charX = groupOfChars[3].x;
-sprites[1].Flip(eFlipLeftToRight);
-

You don't have to fill all the array indexes of course, you may as well leave some empty (null). Just remember to keep track of that, and if your script may access empty indexes make sure to check if the element is null or not before using it:

-
for (int i = 0; i < numSprites; i++) {
-    if (sprites[i] != null) {
-        sprites[i].Flip(eFlipLeftToRight);
-    }
-}
-
-
-

Resizing a dynamic array

-

Dynamic arrays cannot be resized on their own. If later you require a bigger array, you may to do following:

-
    -
  • Create a new, larger array and save it in a temporary variable;
  • -
  • Copy all elements from the old array into the new one;
  • -
  • Assign new array to your usual array variable.
  • -
-

For example:

-
int arrOfInts[]; // declare a dynamic array of ints
-
-function game_start() {
-    arrOfInts = new int[100]; // create array of 100 ints
-}
-
-function resize_array() {
-    int tempArr[] = new int[200]; // create array of 200 ints and save it in a temp var
-    for (i = 0; i < 100; i++) {
-        tempArr[i] = arrOfInts[i]; // copy contents of the old array
-    }
-    arrOfInts = tempArr; // assign new array to your usual variable
-}
-

Same solution may work when you want to reduce an array to a smaller size, except in that case you'll have to loose some elements.

-
-
-

Deleting dynamic array

-

Like most of the dynamically created objects in AGS, dynamic arrays exist so long as it is assigned to at least one pointer. If you have one pointer to array, and you change its value or assign it to null, then the dynamic array will get deleted automatically:

-
int arrOfInts[];
-arrOfInts = new int[100]; // create and assign an array of 100 ints
-arrOfInts = new int[200]; // assign a new array of 200 ints; the previous one is lost and gets deleted
-arrOfInts = null; // now the second array is also lost and get deleted
-

Note that if you store a dynamic array in a local function variable, that variable will get removed as soon as function ends, and if array was not reassigned to any global pointer, then it also gets deleted automatically.

-
function func() {
-    int arrOfInts[] = new int[100];
-    // do something with this array
-} // as soon as function ends the array gets deleted
-

The array will not be deleted if you return it from the function; so long as the returned array is assigned to a pointer of course:

-
int[] func_makearr(int size) {
-    int arrOfInts[] = new int[size];
-    return arrOfInts; // not deleted just yet
-}
-
-// somewhere else in code:
-int arr[] = func_makearr(100); // the returned array will be assigned to `arr` pointer
-

See also: Arrays, Structs

-
-
-
- - - - - -
- - diff --git a/DynamicSprite.html b/DynamicSprite.html deleted file mode 100644 index 0ee8f735b..000000000 --- a/DynamicSprite.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - DynamicSprite functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

DynamicSprite functions and properties

-

DynamicSprite lets you create a new sprite dynamically at runtime, either a new blank sprite, a copy of the existing one, or load one from a file. DynamicSprites may be modified in various ways, and drawn upon. The latter is done by retrieving a DrawingSurface with GetDrawingSurface() function.

-

Each new DynamicSprite is assigned an arbitrary ID, which may be read with Graphic property. This ID lets you assign DynamicSprite to any property that normally accepts a sprite number, or pass into any function that accepts a sprite number as a parameter.

-

IMPORTANT: DynamicSprite exist so long as it is assigned to at least one DynamicSprite* variable in your script. As soon as there's no variable that has a reference to it, the sprite is disposed. This also means that if you only have a local DynamicSprite* variable, then the sprite will be disposed when the function ends. If you want to keep the sprite, then you should store it in a global variable for as long as you need it.

-

You may also call Delete function anytime to explicitly remove the sprite's image from memory.

-

IMPORTANT: Assigning DynamicSprite's ID to another object (such as Button.NormalGraphic, for example) does not count as a reference. If DynamicSprite is deleted while its ID is assigned to another object's property, that property will be reset to 0 for safety reasons.

-
-

DynamicSprite.Create

-
static DynamicSprite* DynamicSprite.Create(int width, int height,
-                                           optional bool hasAlphaChannel)
-

Creates a new blank dynamic sprite of the specified size. It will initially be fully transparent, and can optionally have an alpha channel. This command is useful if you just want to create a new sprite and then use the DrawingSurface commands to draw onto it.

-

If the game color depth is lower than 32-bit, then the hasAlphaChannel parameter will be ignored.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
// Declare a variable in a global scope (outside of any function)
-DynamicSprite* globalSprite;
-
-// Then in a function...
-DynamicSprite* sprite = DynamicSprite.Create(50, 30);
-DrawingSurface *surface = sprite.GetDrawingSurface();
-surface.DrawingColor = 14;
-surface.DrawPixel(25, 15);
-surface.Release();
-oMyObject.Graphic = sprite.Graphic;
-globalSprite = sprite; // keep the sprite in a global variable
-

creates a 50x30 sprite, draws a white dot in the middle, then assigns to a global variable to keep the sprite, and sets this sprite's ID to an Object.

-

See also: DynamicSprite.Delete, DynamicSprite.Graphic, DynamicSprite.GetDrawingSurface

-
-
-
-

DynamicSprite.CreateFromBackground

-
static DynamicSprite* DynamicSprite.CreateFromBackground(
-    optional int frame, optional int x, optional int y,
-    optional int width, optional int height)
-

Creates a new dynamic sprite containing a copy of the specified room background.

-

The most basic use of this function is to supply no parameters, in which case the sprite will contain an exact copy of the current room background.

-

If you want, you can supply the frame only, in which case you will get a complete copy of that background frame number from the current room.

-

Optionally, you can specify a portion of the background to grab. You must either supply all or none of the x, y, width and height parameters; if you do supply them, this allows you to just get a small portion of the background image into the new sprite. All co-ordinates are room co-ordinates.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromBackground(GetBackgroundFrame(), 130, 70, 60, 60);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(0, 0, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

creates a copy of the center 60x60 area of the current room's background, and draws it onto the top left corner of the background image. Then disposes the temporary sprite.

-

See also: DynamicSprite.Delete

-
-
-
-

DynamicSprite.CreateFromDrawingSurface

-
static DynamicSprite* DynamicSprite.CreateFromDrawingSurface(
-    DrawingSurface* surface, int x, int y,
-    int width, int height)
-

Creates a new dynamic sprite containing a copy of the specified portion of the drawing surface. This allows you to easily create new sprites from portions of other sprites.

-

NOTE: The x, y, width and height parameters respect the DrawingSurface's UseHighResCoordinates setting, so make sure that the type of co-ordinates that you are using match up with what the drawing surface expects.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
// Declare a variable in a global scope (outside of any function)
-DynamicSprite* globalSprite;
-
-// Then in a function...
-DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(oMyObject.Graphic);
-DrawingSurface *surface = sprite.GetDrawingSurface();
-DynamicSprite *newSprite = DynamicSprite.CreateFromDrawingSurface(surface, 0, 0, 10, 10);
-surface.Release();
-sprite.Delete();
-oMyObject.Graphic = newSprite.Graphic;
-globalSprite = newSprite; // keep the sprite in a global variable
-

changes object's image to be just the top-left corner of what it previously was.

-

Compatibility: Supported by AGS 3.0.2 and later versions.

-

See also: DynamicSprite.Delete

-
-
-
-

DynamicSprite.CreateFromExistingSprite

-
static DynamicSprite* DynamicSprite.CreateFromExistingSprite(
-    int slot, optional bool preserveAlphaChannel)
-

Creates a new dynamic sprite containing a copy of the specified sprite slot.

-

Returns the DynamicSprite instance representing the new sprite. This function is useful as it effectively allows you to apply transformations such as resizing to any sprite in the game.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

preserveAlphaChannel determines whether the sprite's alpha channel will also be copied across. It is false by default for backwards compatibility reasons, and is useful because it allows you to strip the alpha channel in order to do whole image transparency. This parameter has no effect with sprites that do not have an alpha channel.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
// Declare a variable in a global scope (outside of any function)
-DynamicSprite* globalSprite;
-
-DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(myObject.Graphic);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, surface.Width, surface.Height);
-surface.Release();
-oMyObject.Graphic = newSprite.Graphic;
-globalSprite = newSprite; // keep the sprite in a global variable
-

creates a copy of object's current sprite, draws a line across, and assigns back to the same object.

-

See also: DynamicSprite.Delete, DynamicSprite.Resize

-
-
-
-

DynamicSprite.CreateFromFile

-

(Formerly known as LoadImageFile, which is now obsolete)

-
static DynamicSprite* DynamicSprite.CreateFromFile(string filename)
-

Loads an external image FILENAME into memory as a sprite.

-

Returns the DynamicSprite instance representing the sprite, or null if the image could not be loaded (file not found or unsupported format).

-

Only BMP and PCX files can be loaded with this command.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

NOTE: Since AGS 3.4.1 you can use location tokens in filename, like with File.Open and similar commands.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-if (sprite != null) {
-    DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-    surface.DrawImage(100, 80, sprite.Graphic);
-    surface.Release();
-    sprite.Delete();
-}
-

will load the file "CustomAvatar.bmp" and if successful draw the image near the middle of the background.

-

Once the image is finished with, Delete should be called on it.

-

See also: DynamicSprite.CreateFromExistingSprite, DynamicSprite.CreateFromScreenshot, DynamicSprite.Delete

-
-
-
-

DynamicSprite.CreateFromSaveGame

-

(Formerly known as LoadSaveSlotScreenshot, which is now obsolete)

-
static DynamicSprite* DynamicSprite.CreateFromSaveGame(
-    int saveSlot, int width, int height)
-

Loads the screenshot for save game SAVESLOT into memory, resizing it to WIDTH x HEIGHT.

-

Returns the DynamicSprite instance of the image if successful, or returns null if the screenshot could not be loaded (perhaps the save game didn't include one).

-

In order for this to work, the "Save screenshots in save games" option must be ticked in the main Game Settings pane.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
// at top of script, outside event functions
-DynamicSprite *buttonSprite;
-
-// inside an event function
-buttonSprite = DynamicSprite.CreateFromSaveGame(1, 50, 50);
-if (buttonSprite != null) {
-    btnScrnshot.NormalGraphic = buttonSprite.Graphic;
-}
-

will load the screenshot for save game 1 and resize it to 50x50. It then places it onto the btnScrnshot GUI button.

-

Once the GUI is disposed of, Delete should be called on the sprite.

-

See also: DynamicSprite.Delete, Game.GetSaveSlotDescription, DynamicSprite.CreateFromExistingSprite DynamicSprite.CreateFromFile, DynamicSprite.CreateFromScreenShot

-
-
-
-

DynamicSprite.CreateFromScreenShot

-
static DynamicSprite* DynamicSprite.CreateFromScreenShot(
-    optional int width, optional int height)
-

Creates a new DynamicSprite instance with a copy of the current screen in it, resized to WIDTH x HEIGHT. If you do not supply the width or height, then a full screen sized sprite will be created.

-

This command can be useful if you're creating a save game screenshots GUI, in order to display the current game position as well as the saved slot positions.

-

NOTE: This command can be slow when using the Direct3D graphics driver.

-

Use the Graphic property of the DynamicSprite to interface with other commands and to use the new sprite in the game.

-

Example:

-
DynamicSprite* ds = DynamicSprite.CreateFromScreenShot(50, 50);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, ds.Graphic);
-surface.Release();
-ds.Delete();
-

takes a screen shot, and draws it onto the background scene at (100,100).

-

See also: DynamicSprite.Delete, Game.GetSaveSlotDescription, DynamicSprite.CreateFromExistingSprite DynamicSprite.CreateFromFile, DynamicSprite.CreateFromSaveGame

-
-
-
-

DynamicSprite.ChangeCanvasSize

-
DynamicSprite.ChangeCanvasSize(int width, int height, int x, int y);
-

Changes the sprite size to width x height, placing the current image at offset (x, y) within the new canvas. Unlike the Resize command, the current image is kept at its original size.

-

This function allows you to enlarge the sprite background in order to draw more onto it than its current boundaries allow. It is effectively the opposite of Crop. The additional surface area will be transparent.

-

The width and height are specified in pixels.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(10);
-sprite.ChangeCanvasSize(sprite.Width + 10, sprite.Height, 5, 0);
-DrawingSurface *surface = sprite.GetDrawingSurface();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, 5, surface.Height);
-surface.Release();
-sprite.Delete();
-

creates a dynamic sprite as a copy of sprite 10, enlarges it by 5 pixels to the left and right, and draws a line in the new area to the left.

-

See also: DynamicSprite.Crop, DynamicSprite.Resize, DynamicSprite.Height, DynamicSprite.Width

-
-
-
-

DynamicSprite.CopyTransparencyMask

-
DynamicSprite.CopyTransparencyMask(int fromSpriteSlot)
-

Copies the transparency mask from the specified sprite slot onto the dynamic sprite. The dynamic sprite's transparency and/or alpha channel will be replaced with the one from the other sprite.

-

This command is designed for special effects. It is fairly slow since it involves inspecting each pixel of the image, so it's not recommended that you use it often.

-

The source sprite must be the same size and color depth as the dynamic sprite.

-

NOTE: This command makes all pixels that are transparent in the source sprite also transparent in the dynamic sprite. It does not make opaque pixels from the source sprite into opaque pixels on the dynamic sprite (because it wouldn't know what color to make them).

-

If the source image has an alpha channel, then the dynamic sprite will have an alpha channel created as a copy of the one from the source sprite.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(10);
-sprite.CopyTransparencyMask(11);
-object[0].Graphic = sprite.Graphic;
-Wait(80);
-sprite.Delete();
-

creates a dynamic sprite as a copy of sprite 10, changes its transparency mask to use that of sprite 11, and displays it on object 0.

-

See also: DynamicSprite.CreateFromExistingSprite

-
-
-
-

DynamicSprite.Crop

-
DynamicSprite.Crop(int x, int y, int width, int height);
-

Crops the sprite down to width x height, starting from (x,y) in the image. The width and height are specified in pixels.

-

This allows you to trim the edges off a sprite, and perform related tasks. Only the area with its top-left corner as (x,y) and of WIDTH x HEIGHT in size will remain.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(10);
-sprite.Crop(10, 10, sprite.Width - 10, sprite.Height - 10);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

will create a dynamic sprite as a copy of sprite 10, cut off the left and top 10 pixels, and then draw it onto the room background at (100,100).

-

See also: DynamicSprite.ChangeCanvasSize, DynamicSprite.Flip, DynamicSprite.Height, DynamicSprite.Width

-
-
-
-

DynamicSprite.Delete

-

(Formerly known as DeleteSprite, which is now obsolete)

-
DynamicSprite.Delete();
-

Deletes the specified dynamic sprite from memory. Use this when you are no longer displaying the sprite and it can be safely disposed of.

-

You do not normally need to delete sprites, since the AGS Sprite Cache manages loading and deleting sprites automatically.

-

However, when an extra sprite has been loaded into the game (for example, with the CreateFromFile or CreateFromScreenShot commands) then AGS does not delete it automatically, and you must call this command instead.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-object[1].Graphic = sprite.Graphic;
-Wait(200);
-object[1].Graphic = 22;
-sprite.Delete();
-

will load the file "CustomAvatar.bmp", change Object 1 to display this graphic, wait 5 seconds, then change object 1 back to its old sprite 22 and free the new image.

-

See also: DynamicSprite.CreateFromScreenShot, DynamicSprite.Graphic

-
-
-
-

DynamicSprite.Flip

-
DynamicSprite.Flip(eFlipDirection);
-

Flips the dynamic sprite according to the parameter:

-

eFlipLeftToRight flips the image from left to right
eFlipUpsideDown flips the image from top to bottom
eFlipBoth flips the image from top to bottom and left to right

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-sprite.Flip(eFlipUpsideDown);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

will load the CustomAvatar.bmp image, flip it upside down, and then draw it onto the room background at (100,100).

-

See also: DynamicSprite.Crop, DynamicSprite.Resize, DynamicSprite.Rotate

-
-
-
-

DynamicSprite.GetDrawingSurface

-
DrawingSurface* DynamicSprite.GetDrawingSurface();
-

Gets the drawing surface for this dynamic sprite, which allows you to modify the sprite by drawing onto it in various ways.

-

After calling this method, use the various DrawingSurface functions to modify the sprite, then call Release on the surface when you are finished.

-

Example:

-
DynamicSprite *sprite = DynamicSprite.CreateFromExistingSprite(object[0].Graphic);
-DrawingSurface *surface = sprite.GetDrawingSurface();
-surface.DrawingColor = 13;
-surface.DrawLine(0, 0, 20, 20);
-surface.Release();
-object[0].Graphic = sprite.Graphic;
-Wait(40);
-sprite.Delete();
-

this creates a dynamic sprite as a copy of Object 0's existing sprite, draws a pink diagonal line across it, sets this new sprite onto the object for 1 second and then removes it.

-

See also: DynamicSprite.CreateFromExistingSprite, DrawingSurface.DrawLine, DrawingSurface.Release

-
-
-
-

DynamicSprite.Resize

-
DynamicSprite.Resize(int width, int height);
-

Resizes an existing dynamic sprite to WIDTH x HEIGHT pixels.

-

NOTE: Resizing is a relatively slow operation, so do not attempt to resize sprites every game loop; only do it when necessary.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(10);
-sprite.Resize(sprite.Width * 2, sprite.Height * 2);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

will create a dynamic sprite as a copy of sprite 10, stretch it to double its original size, and then draw it onto the room background at (100,100).

-

See also: DynamicSprite.ChangeCanvasSize, DynamicSprite.Crop, DynamicSprite.Flip, DynamicSprite.Rotate, DynamicSprite.Height, DynamicSprite.Width

-
-
-
-

DynamicSprite.Rotate

-
DynamicSprite.Rotate(int angle, optional int width, optional int height)
-

Rotates the dynamic sprite by the specified angle. The angle is in degrees, and must lie between 1 and 359. The image will be rotated clockwise by the specified angle. For a counter-clockwise rotation - convert the angle to a clockwise one using formula: "angle = ((-counter_angle) + 360)".

-

Optionally, you can specify the width and height of the rotated image. By default, AGS will automatically calculate the new size required to hold the rotated image, but you can override this by passing the parameters in. Note that specifying a width/height does not stretch the image, it just allows you to set the final sprite dimensions. The rotated image will be centered in the sprite.

-

NOTE: Sprite may have to be resized in order to accomodate rotated image. This is not because the image is scaled, but because after rotation original image's corners may be positioned "outside" of the initial rectangle. Because sprite is resized, and image is centered in it, it may look like image is moving towards right-bottom. To counter that effect when you draw this sprite somewhere, you have change the sprite's position, subtracting a difference of half its width and height, for example:

-
int x = (Game.SpriteWidth[original_sprnum] - sprite.Width) / 2;
-int y = (Game.SpriteHeight[original_sprnum] - sprite.Height]) / 2;
-surface.DrawImage(x, y, sprite.Graphic);
-

NOTE: Rotating is a "lossy" operation. This means that each time you rotate a sprite it will loose a bit of image quality (except when rotated by 90, 180 and 270 degrees). High-resolution sprites will loose quality slower in general, but will nevertheless. If you have to rotate a sprite multiple times, the solution is to keep the original sprite and rotate its new copy to a new angle each time, instead of rotating same sprite over and over again.

-

NOTE: Rotating is a relatively slow operation, try keeping a number of sprites rotated each game loop low, and do it only when necessary.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(10);
-sprite.Rotate(90);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 100, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

will create a dynamic sprite as a copy of sprite 10, rotate it 90 degrees clockwise, draw the result onto the screen, and then delete the image.

-

See also: DynamicSprite.Flip, DynamicSprite.Resize, DynamicSprite.Height, DynamicSprite.Width

-
-
-
-

DynamicSprite.SaveToFile

-
DynamicSprite.SaveToFile(string filename)
-

Saves the dynamic sprite to the specified file.

-

The filename you supply must have a .PCX or .BMP extension; they are the only two file types that the engine supports.

-

Returns 1 if the sprite was saved successfully, or 0 if it failed.

-

NOTE: Since AGS 3.4.1 you can use location tokens in filename, like with File.Open and similar commands.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-sprite.Rotate(90);
-sprite.SaveToFile("RotatedAvatar.bmp");
-sprite.Delete();
-

will load the CustomAvatar.bmp image, rotate it 90 degrees clockwise, then save the result back to the disk.

-

See also: DynamicSprite.CreateFromFile, SaveScreenShot

-
-
-
-

DynamicSprite.Tint

-
DynamicSprite.Tint(int red, int green, int blue, int saturation, int luminance)
-

Tints the dynamic sprite to (RED, GREEN, BLUE) with SATURATION percent saturation. For the meaning of all the parameters, see SetAmbientTint.

-

The tint set by this function is permanent for the dynamic sprite -- after the tint has been set, it is not possible to remove it. If you call Tint again with different parameters, it will apply the new tint to the already tinted sprite from the first call.

-

NOTE: This function only works with hi-color sprites.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromExistingSprite(object[0].Graphic);
-sprite.Tint(255, 0, 0, 100, 100);
-DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawImage(100, 80, sprite.Graphic);
-surface.Release();
-sprite.Delete();
-

creates a copy of object 0's sprite, tints it red, and draws it onto the room background.

-

See also: DynamicSprite.Flip, DynamicSprite.Height, DynamicSprite.Width, SetAmbientTint

-
-
-
-

DynamicSprite.ColorDepth

-
readonly int DynamicSprite.ColorDepth;
-

Gets the color depth of this dynamic sprite. This can be 8, 16 or 32 and is not necessarily the same as the game color depth (though this usually will be the case).

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-if (sprite != null) {
-    Display("The image is %d x %d pixels, at %d-bit depth.", sprite.Width, sprite.Height, sprite.ColorDepth);
-    sprite.Delete();
-}
-

displays the color depth of the CustomAvatar.bmp image.

-

See also: DynamicSprite.Height, DynamicSprite.Width

-
-
-
-

DynamicSprite.Graphic

-
readonly int DynamicSprite.Graphic;
-

Gets the sprite slot number in which this dynamic sprite is stored. This value can then be passed to other functions and properties, such as Button.NormalGraphic.

-

Example:

-
// at top of script, outside event functions
-DynamicSprite *buttonSprite;
-
-// inside an event function
-buttonSprite = DynamicSprite.CreateFromScreenShot(80, 50);
-if (buttonSprite != null) {
-    btnScrnshot.NormalGraphic = buttonSprite.Graphic;
-}
-

places a screen grab of the current game session onto btnScrnshot.

-

Once the GUI is disposed of, Delete should be called on the sprite.

-

See also: DynamicSprite.CreateFromScreenShot, DynamicSprite.Delete

-
-
-
-

DynamicSprite.Height

-
readonly int DynamicSprite.Height;
-

Gets the height of this dynamic sprite. The height is always returned in pixels.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-if (sprite != null) {
-    Display("The image is %d x %d pixels.", sprite.Width, sprite.Height);
-    sprite.Delete();
-}
-

displays the size of the CustomAvatar.bmp image.

-

See also: DynamicSprite.Resize, DynamicSprite.Width

-
-
-
-

DynamicSprite.Width

-
readonly int DynamicSprite.Width;
-

Gets the width of this dynamic sprite. The width is always returned in pixels.

-

Example:

-
DynamicSprite* sprite = DynamicSprite.CreateFromFile("CustomAvatar.bmp");
-if (sprite != null) {
-    Display("The image is %d x %d pixels.", sprite.Width, sprite.Height);
-    sprite.Delete();
-}
-

displays the size of the CustomAvatar.bmp image.

-

See also: DynamicSprite.Height, DynamicSprite.Resize

-
-
-
- - - - - -
- - diff --git a/EditorCharacter.html b/EditorCharacter.html deleted file mode 100644 index ef5822f75..000000000 --- a/EditorCharacter.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - Character Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Character Editor

-

On the Explore Project panel, you can expand the Characters node to show the characters which are defined in your game. Right clicking on the "Characters" node itself allows you to create a new character, import a character previously exported from another project, or create a folder to help you organize things.

-

By double-clicking on a character within the tree, a new editor panel will open which allows you to inspect the NormalView and SpeechView for this character. This is also where you select whether this particular character will be used as the player character.

-

NOTE: Only one character can be the designated as the player character within this panel since this will also determine which room the game starts in. Changing the player character during the game is possible by using the script function Character.SetAsPlayer.

-

-

The properties panel shown will allow you to configure the initial properties of the character. The lighting bolt icon will switch to displaying the character's events, which may be mapped to functions within the game's Global Script.

-
-
- - - - - -
- - diff --git a/EditorCommandLineOptions.html b/EditorCommandLineOptions.html deleted file mode 100644 index d83257894..000000000 --- a/EditorCommandLineOptions.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - Editor Command Line Options - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Editor Command Line Options

-

Running AGS Editor from the command line can be useful for automation purposes.

-

We will use cmd.exe here, but you can call AGS Editor from other command lines, though they may require special handling.

-

NOTE: If you are using the MSYS2 bash prompt on Windows, remember that / command flags need two slashes. (e.g. use AGSEditor.exe //compile my-project/Game.agf).

-
-

Opening the Editor

-

You can open the Editor in the command line by simply calling its executable and passing the path to it.

-
C:\path\to\AGSEditor.exe
-

We won't use the full path in the rest of the text, but you still need to either pass it, put your AGS Editor folder in your system PATH, or change the directory to it before.

-

You can also open the editor in a specific project by passing your project's Game.agf location.

-
AGSEditor.exe path\to\Game.agf
-

As an example, in Windows, you can create a shortcut for the AGS Editor and edit its properties to put your Game.agf there so you can create a shortcut that opens AGS Editor in your project.

-
-
-

Compile Flag

-

This flag will load the AGS Editor in your project, compile it, and exit.

-
AGSEditor.exe /compile path\to\Game.agf
-

Outputs that would normally be a message box or in the output panel will instead be printed in the command line. A successful compilation will have exit code 0, and any error will give a non-zero exit code.

-

This option can be used for automation purposes, you could use it to build your AGS Game in a Continuous Integration pipeline.

-
-
-
- - - - - -
- - diff --git a/EditorCursor.html b/EditorCursor.html deleted file mode 100644 index 8bf687f02..000000000 --- a/EditorCursor.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Cursor Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Cursor Editor

-

The Cursors node of the editor shows you the current mouse cursor modes available in the game. Each cursor mode performs a different action within the game. There's always a number of precreated cursors, which editor won't allow to remove, and you also may create more if necessary. Right clicking on the "Cursors" node itself allows you to create a new custom cursor. Creating a new cursor or double clicking an existing one will open it for edit.

-

The Cursor editor pane allows to preview the cursor's graphic, set its "hotspot" (the point on the cursor's graphic which triggers interaction with underlying objects), as well as configure other properties.

-

The "StandardMode" option in the property grid tells AGS that this is a "normal" cursor mode - i.e. using this cursor will fire an event on whatever is clicked on as usual. This mode applies to the standard Walk, Look, Interact and Talk modes, but you can create others too. Do not tick it for the Use Inventory mode, since this is a special mode.

-

The "Animate" option allows you to specify that the mouse cursor will animate while it is on the screen. Choose a view number, and the cursor will animate using the first loop of that view. You can make it animate only when over something (hotspot, object or character) by enabling the "AnimateOnlyOnHotspots" option.

-

The "AnimateOnlyWhenMoving" box allows you to do a QFG4-style cursor, where it only animates while the player is moving it around.

-

Three of the cursor modes are hard-coded special meanings into AGS:

-
    -
  • Mode 4 (Use Inventory). This is special because the game decides whether to allow its use or not, depending on whether the player has an active inventory item selected.
  • -
  • Mode 6 (Pointer). This cursor is used whenever a modal dialog is displayed (i.e. a GUI that pauses the game). Normally this is a standard arrow pointer.
  • -
  • Mode 7 (Wait). This cursor is used whenever the player cannot control the action, for example during a scripted cutscene. For a LucasArts-style game where the cursor disappears completely in this state, simply import a blank graphic over the wait cursor.
  • -
-

For the standard modes,

-
    -
  • Mode 0 will cause the player to walk to the mouse pointer location when clicked.
  • -
  • Modes 1, 2, 3, 5, 8 and 9 will run the event with the same name as the cursor mode.
  • -
-
-
- - - - - -
- - diff --git a/EditorDialog.html b/EditorDialog.html deleted file mode 100644 index 37b7c7473..000000000 --- a/EditorDialog.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - Dialog Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Dialog Editor

-

In AGS conversations between characters are done using Dialogs or "dialog topics" (not to be confused with GUI dialogs).

-

On the Explore Project panel, you can expand the Dialogs node to show the dialogs which are created in your game. Right clicking on the "Dialogs" node itself allows you to create a new dialog, or create a folder to help you organize them.

-

When creating a new dialog, or double-clicking on existing dialog within the tree, a new editor panel will open.

-

The dialog editor consists of two parts: the list of options and dialog script window. At the options list use "Create new option" and "Delete last option" buttons to make as many options for this dialog topic as you need. The "Option text" field represents an option's name that will be displayed in game. "Show" checkbox to the right determines whether the option is enabled on start, while "Say" checkbox determines whether the option's text will be said by the player's character when chosen in game.

-

NOTE: The options may be enabled or disabled at runtime in script using both special dialog script's syntax (option-on, option-off, option-off-forever) or regular script command Dialog.SetOptionState.

-

The dialog script window is where you can write the actual conversation script, would that be what characters say, or performing any other actions. This script consists of parts each starting with a @ label. The @S label defines a dialog's entry point, this part will be executed immediately as a dialog starts and before any options were shown. For each existing option there's a @X label, where X is a option's number. These define "jump points", and this is where the script will continue to execute whenever corresponding option is chosen. Thus you may think of options as of "table of contents" for this conversation.

-

Please refer to the Dialog Script topic for more detailed information on how to write dialog scripts.

-

NOTE: conversation lines from the dialog script are played in game using standard Character.Say command by default. If you prefer to script your custom speech system in your game, you may tell the dialog system to use your own script function instead. Go to General Settings and look for the "Custom Say function in dialog scripts" option.

-
-
- - - - - -
- - diff --git a/EditorFont.html b/EditorFont.html deleted file mode 100644 index 000f2eb22..000000000 --- a/EditorFont.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - Font Preview - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Font Preview

-

You cannot exactly edit fonts from within the AGS itself at the time being (unless you are using a plugin that allows that), but AGS lets you to preview the imported fonts and configure their runtime display properties.

-

On the Explore Project panel, you can expand the Fonts node to show the fonts which are imported for your game. Right clicking on the "Fonts" node itself allows you to create a new font. When creating a new font, or double-clicking on existing font within the tree, a new preview panel will open.

-

When a new font is created it clones the last one in the list. To overwrite an existing font, press the "Import over this font..." button.

-

AGS supports two kinds of fonts: TrueType (TTF) and bitmap fonts, which are: SCI fonts (Sierra's font format) and WFN fonts (extended bitmap font format).

-

NOTE: On Windows you cannot import fonts directly from the Windows Fonts folder. Unfortunately there is nothing that can be done about this, you must manually copy the font to another folder and import it from there.

-

Fonts can have outlines. For LucasArts-style speech, outlines are really a necessity since they stop the text blending into the background and becoming un-readable. To outline a font, either set the OutlineStyle to "Automatic" to have AGS do it for you, or you can use a specific font slot as the outline font (it will be drawn in black behind the main font when the main font is used).

-

Every font have following optional properties:

-
    -
  • LineSpacing - defines default difference (in pixels) between two lines of wrapped text. Setting this to 0 will make font use its own height as a vertical spacing. Having line spacing lower than font's height will make lines partially overlap.
  • -
  • SizeMultiplier - an integer scale multiplier applied to this font. Note that it commonly makes sense to assign this for the bitmap fonts, as TTF fonts may be reimported with different font size. When set for a TTF font it will simply be initialized with a higher point-size in game.
  • -
  • VerticalOffset - defines additional vertical offset applied to every drawn line of text (when using this font). This property is mainly meant to override particular font's misbehavior.
  • -
-
-
- - - - - -
- - diff --git a/EditorGUI.html b/EditorGUI.html deleted file mode 100644 index 56ce7cb4a..000000000 --- a/EditorGUI.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - GUI Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

GUI Editor

-

A game's user interface is typically split up into multiple GUIs. Each GUI is a rectangular region on the screen which is drawn on top of the background scene, typically configured with one of the following behaviors:

-
    -
  • always be displayed (for example the Sierra status-line)
  • -
  • pop-up when the mouse moves to a certain position (e.g. Sierra icon-bar)
  • -
  • pop-up on script command only
  • -
-

The default interface for the Sierra game templates is made up of two GUIs - the status line, and the icon bar.

-

Go to the "GUIs" node in the main project tree. This is where all the GUIs in the game are listed - double-click one to edit it. To create a new one, right-click on the main "GUIs" node and choose "New GUI".

-

Once you've opened up a GUI, you'll notice the GUI itself in the main window, and its settings can be edited in the Properties grid. This allows you to change the background color of the GUI, set a background image, and set the position, width, and height amongst other things.

-

The "Visibility" property allows you to set whether the GUI will be initially visible or not.

-

The "PopupStyle" property defines some pre-configured behaviors for managing GUI visibility:

- - - - - - - - - - - - - - - - - - - - - - - - - -
SettingBehavior
NormalCan be automatically hidden when user interface is disabled
When mouse moves to top of screenShown and hidden based on cursor position and "PopupYPos"
Pause game when shownAutomatically pause the game whilst the GUI is visible
Always shownNever hidden when the user interface is disabled
-

NOTE: The user interface is automatically disabled during blocking actions but the same result is achieved by using the script function DisableInterface(). To automatically hide a GUI during these times, the General Settings option When player interface is disabled, GUIs should needs to be set as Be hidden.

-

NOTE: Depending on how scripts are configured, pausing the game may also disable the calls to input handling functions, such as on_mouse_click and on_key_press.

-

The "Z-Order" setting allows you to set which order the GUIs are drawn in, i.e. when there are two GUIs that overlap this determines which one will be drawn in front of the other. The Z-order setting is an arbitrary number between 0 and 1000. AGS draws the GUIs in order, from the lowest value (0) at the back to the highest value (1000) at the front.

-

The "Clickable" setting allows you to set whether the GUI and buttons on it respond to mouse clicks. This is on by default, but if you turn it off and the player clicks on the GUI, the game will actually process the click as if they clicked through the GUI onto the actual screen. This is useful for transparent GUIs which are only used to display information.

-

You'll notice that the GUIs also have names. These can be used in the script in a similar way to using character names. For example, if a GUI is called "gIconBar", you can use reference it in a script by using this name. For example, to configure the visibility of GUI when the game starts:

-
function game_start()
-{
-    gIconBar.Visible = true;
-}
-
-
-

GUI buttons

-

To provide interactivity with the interface, the most common type of GUI control to use is a button.

-

To add a button, click the "Add button" button in the toolbar, and then drag a rectangle with the mouse to draw one onto the GUI. You will see it displayed as a text button, with the text "New button" written on it. Notice that the Properties window is now displaying properties for your new button rather than the GUI.

-

Using the Properties window, you can choose an image to use for the button instead of the text, and you can also set various other self-explanatory attributes. You set what happens when the player clicks on the button by using the "Click Action" attribute. This can be set to "Run Script" (the default), and also "Set mode", which sets the cursor mode to whatever value has been specified in the "New mode number" property.

-

To delete a GUI button, right-click it and choose Delete.

-
-
-
-

Interface text

-

You can easily display static text on a GUI. For example, the Sierra-style interface displays the current score in its status bar.

-

To show text on a GUI, you need a label. Click the "Add label" button in the toolbar, then drag out a rectangle like you did when adding a button. You can change the text displayed in the label by editing the "Text" property. Notice that the text automatically wraps around to fit inside the rectangle that you've drawn.

-

As well as typing normal text into the label, you can add some special values which will automatically be updated during the game. The following tokens will be replaced with the relevant values in the game:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TokenDescription
@GAMENAME@The game's name, specified on the Game Settings pane
@OVERHOTSPOT@The name of the hotspot which the cursor is over
@SCORE@The player's current score
@SCORETEXT@The text "Score: X of XX" with the relevant numbers filled in
@TOTALSCORE@The maximum possible score, specified on the Game Settings pane
-

Example: "You have @SCORE@ out of @TOTALSCORE@ points."

-

The Properties window also allows you to align the text to the left, to the right or center it, as well as change its font and color.

-
-
-
-

Customized Text Windows

-

If you want to add a personal touch to the standard white text-boxes which display all the messages during the game, you can create a border using the GUI Editor. Right-click the "GUIs" node, and choose "New Text Window GUI".

-

The element will be resized to about 1/4 of the screen, and you will see 8 images - one in each corner and one on each side. These are the border graphics. You can change each of these in the normal way, by setting the image number in the properties panel. You can give every corner and side a name to more easily identify it, although the current selection will be indicated by by surround the image with bright red squares.

-

In the game, the corner graphics will be placed in the respective corners of the text window, and the side graphics will be repeated along the edge of the window. To tell the game to use your custom text window style, go to the General Settings pane, and check the "Text windows use GUI" box. Then, enter the number of the GUI which you used.

-

You can also set a background picture for the text window. In the GUI editor, simply set a background picture for the GUI itself. The graphic you specify will not be tiled or stretched in the game; however, it will be clipped to fit the window. You should use a graphic of at least about 250x80 pixels to make sure that it fills up the whole window.

-

To set the text color in the window, simply set the Foreground Color of the GUI and that will be used for any text that it displays.

-

Additionally, you may configure padding - the distance kept between the text window's border and text inside of it.

-

For example editing the GUI Borders of the [Display] Command in the [New Sierra Style Template] looks like this:

-

Editing the GUI Borders

-

After compiling it looks like this in game (with x2 Scaling):

-

In-game GUI Borders

-
-
-
-

Custom inventory

-

Another option you may have noticed in the GUI editor is the Add Inventory button. This allows you to drag out a rectangle which will display the player's current inventory, in the same way as the LucasArts games did. To make the inventory window scrollable, you will need to add Up and Down arrow buttons, and attach script code to those buttons to use the available functions such as InvWindow.ScrollUp and InvWindow.ScrollDown.

-

To see a full list of commands available for inventory windows, see the GUI Inv Window Functions and Properties section.

-
-
-
-

Sliders

-

You can now add sliders to your GUIs. This allows you to have a nice interface for the player to change settings such as volume and game speed. To add a slider, click the "Add slider" button and drag out its rectangle just like you would for a button. You can also resize it by dragging the bottom-right corner out in the same way you would with a button.

-

Sliders can be either vertical or horizontal. The direction that it is drawn in is automatic depending on the size that you stretch the slider box to - if it is wider than it is tall you will get a horizontal slider, otherwise you'll get a vertical slider.

-

For the properties of a slider you can set the minimum, maximum and current values that the slider will have. In the game, the user will be able to drag the handle from MIN to MAX, and the slider will start off set to VALUE. For horizontal sliders, MIN is on the left and MAX on the right, for vertical sliders MAX is at the top and MIN is at the bottom.

-

Whenever the user moves the handle's position on the slider, the OnChange event is called. This means that if they continually drag the handle up and down, the event will get called repeatedly.

-

Your script can find out the value of the slider using the Slider.Value script property.

-

See also: Sliders Functions and Properties

-
-
-
-

Text Boxes

-

A text box is a simple GUI control that allows the player to type information into your game. Adding a text box works like adding the other types of control.

-

If a text box is on a currently displayed GUI, all standard keypresses (i.e. letter keys, return and backspace) are diverted to the textbox instead of being passed to the on_key_press function. When the player presses Return in the text box, the OnActivate event is called. You can then use the TextBox.Text property to retrieve what they've typed in.

-
-
-
-

List Boxes

-

List box controls allow you to add a list of items to your GUI. These can be useful for allowing the player to make a selection from a list of options, but a common use is in the implementation of a custom save/load dialog box.

-

You use the ListBox script object to manipulate the list box - for example, ListBox.AddItem to add an item, or ListBox.SelectedIndex to get the current selection.

-

The ListBox.Translated property defines whether a game's translation to another language will also be applied to list items or not. It is recommended to disable translation for lists containing saved games.

-

The OnSelectionChanged event is fired when the player clicks on an item in the list. You may wish to ignore this or do something useful with it.

-
-
-
- - - - - -
- - diff --git a/EditorInventoryItems.html b/EditorInventoryItems.html deleted file mode 100644 index 5d8827090..000000000 --- a/EditorInventoryItems.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - Inventory Items Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Inventory Items Editor

-

A place to edit Items that can be added to a character's inventory by the player.

-

Screenshot Inventory Item Editor

-
-

Cursor Image

-

The image number from the Sprite Manager that is displayed as the active cursor image when selecting this inventory item from the inventory. This could be to use it on another inventory item or to use it somewhere inside your room. You can also set the active hotspot of the mouse-cursor image, which is where the click from the mouse cursor will be registered when using this image. This can be done by left clicking on the mouse-cursor image itself, or by entering the appropriate into the HotspotX and HotspotY properties (see below).

-

It is generally good practice to add some kind of crosshair or a single pixel marker in an easy to spot color to the image and align the click hotspot to this. This way the player should be able to tell exactly where they are pointing. Figuring out bad controls is no puzzle!

-
-
-

Description

-

The name of the item. This is also the value used by the @OVERHOTSPOT@ token when the mouse cursor is hovering over this item, whilst still in the inventory.

-
-
-

Image

-

The image displayed for the inventory item within the character's inventory. This is typically larger than the mouse cursor image of the inventory item, depending on how the GUI that is used for the inventory window has been configured.

-
-
-

HotspotX

-

Select the X value for the hotspot of the active cursor image. It's the distance from the left edge of the sprite, measured in pixels. You can also set this value by clicking on the "Mouse cursor image" display.

-
-
-

HotspotY

-

Select the Y value for the hotspot of the active cursor image. It's the distance from the top edge of the sprite, measured in pixels. You can also set this value by clicking on the "Mouse cursor image" display.

-
-
-

ID

-

The internal ID of this inventory Item. This value cannot be changed, it can be read only by the script property InventoryItem.ID.

-
-
-

Name

-

The script name of the inventory item. Usually the convention is to start inventory item names with an 'i', so a key might be named iKey. This convention sure gets tricky when you give your game characters some Apple products...

-
-
-

PlayerStartsWithItem

-

This is a boolean value which sets whether the player character starts with this inventory item in their inventory or not. In the majority of cases, where items are collected during gameplay, the default setting of no is probably the one to use.

-
-
-

Properties

-

Configure any custom properties for this inventory item. A common use is to use an additional boolean flag to indicate that an inventory item should be 'used' by itself, without needing to combine it with another inventory item.

-
- -

Within the game the player can pick up and store inventory items into his inventory by interacting with the scene or other characters. You add a new inventory item to his inventory with the cChar.AddInventory(iInvItem) function. When the player uses or gives away the item you remove it from the character's inventory with the cChar.LoseInventory(iInvItem) function. Make sure you check the Mouse.Mode afterwards, especially when the active cursor is the inventory item the player just lost.

-

See also: InventoryItem

-
-
-
- - - - - -
- - diff --git a/EditorLogPanel.html b/EditorLogPanel.html deleted file mode 100644 index eb1f1272d..000000000 --- a/EditorLogPanel.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - Log Panel - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Log Panel

-

The Log Panel is present in AGS Editor starting with version 3.6.1.

-

The Log Panel can be useful for understanding and troubleshooting issues in your game, when the debugger alone isn't enough. It provides a runtime log that includes warning messages and other notifications raised by the AGS engine or your own messages in your own scripts.

-

The Log Panel displays messages from three Log Groups:

-
    -
  • Script: These messages are generated by calling the System.Log function. Use it for debugging purposes and understanding the flow of your code.
  • -
  • Game: Messages in this group are generated by the AGS engine's internal game logic, they can also warn you if something in your script is misbehaving and being corrected by the engine without aborting the game.
  • -
  • Main: Messages in this group are generated by the AGS engine concerning the interface between the engine and the platform or system it's running on.
  • -
-

NOTE: Log messages can also be read through the command line, passing the necessary flags, see the run-time engine.

-

To control the log output, you can pause or resume the log display by clicking the pause or run buttons located at the top left of the Log Panel.

-

By default, the log panel will scroll to show the latest message added, but this behavior can be disabled by clicking on the auto glue button.

-

Additional functionality includes the ability to copy and clear the message buffer. When starting a new debug session, the log messages are cleared by default, ensuring a fresh log for each session.

-

The font size of the log panel can be adjusted according to your preferences in the Editor Preferences.

-

See also: System.Log, LogLevel

-
-
- - - - - -
- - diff --git a/EditorPlugins.html b/EditorPlugins.html deleted file mode 100644 index 19d8be700..000000000 --- a/EditorPlugins.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - Editor Plugins - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Editor Plugins

-

AGS allows external utilities to enhance the Editor's functionality by the use of .NET plugins. These plugins can be written in any .NET language including C#, VB.NET, Visual C++ .NET and more.

-

NOTE: .NET plugins are only supported for enhancing the editor functionality. Any plugins which need to be included with the game at run-time must be written with as plain DLLs using the Plugin API.

-

NOTE: .NET plugins require AGS 3.0 or later. They are not supported by AGS 2, and replace the old COM-based editor plugin API from AGS 2.x which is no longer supported.

-

Firstly, I'll explain very briefly what is required of an AGS plugin, for people who are already familiar with .NET. Then, I'll walk you through creating one with C#.

-
-

Plugin Requirements

-
    -
  • The AGS Editor scans through its folder when it starts up, for all files AGS.Plugin.*.dll. Therefore, your plugin's file name must start with "AGS.Plugin." . Place it in the AGS Editor folder.
  • -
  • Add a reference to the AGS.Types.dll file from the main AGS folder. This will import all the types you need for your plugin. You must have one class in your plugin that implements the AGS.Types.IAGSEditorPlugin interface. It must have a constructor that takes one argument, an AGS.Types.IAGSEditor object. It must also have a RequiredAGSVersion attribute on the class, set to the minimum version of AGS that the plugin requires.
  • -
  • The editor will find your class and construct it, passing in the IAGSEditor object that you can use to access editor methods. You have access to various parts of game data, but be very careful if you change anything. AGS makes certain assumptions about the data, in particular the ID's of items, so don't add or remove things unless you're sure about what you're doing.
  • -
  • You work with AGS using Components. A component represents one area of functionality, so your plugin may well only need a single component. This class should implement the AGS.Types.IEditorComponent interface. Within the component's constructor you should do the work to add tree items, menu options, etc. See the plugin sample for an example.
  • -
-

Sample code for a plugin is available to download. Note that you may need to remove and re-add the reference to AGS.Types after opening the project.

-
-
-

Creating a plugin with Visual C#

-

The following tutorial will walk you through creating a plugin with Visual C#. I'll be using Visual Studio 2005 in this tutorial, but the further versions should likely work very similarly.

-

Start up Visual Studio, and select to create a new project (File, New, Project). In the "New project" window which appears, make sure "Visual C#" is selected in the left hand list, and then choose "Class Library" on the right. Type a name that starts with AGS.Plugin. for example I'm going to use AGS.Plugin.Example:

-

Creating a new Class Library project

-

Now, we need to add a class that will be created when the plugin is loaded. Choose "Add Class" from the Project menu, and give it a name. This will be the main plugin class, so I'm going to call mine "PluginMain".

-

Next, we need access to the AGS libraries. Choose "Add Reference" from the Project menu. Go to the Browse tab, and find the directory where you installed AGS. There, you should find a file called "AGS.Types.dll". Add a reference to this file.

-

Visual Studio has given us a pretty bare class file. We need to make a couple of adjustments. First, add "public" to the class definition so that AGS can find it. Second, we need to tell AGS that this is our main class. We do this by making it implement the IAGSEditorPlugin interface, so add that to the class definition too:

-

New class, now public and implementing the interface

-

There's one other requirement for our main class. We need to add a RequiredAGSVersion attribute to the class, defining what the minimum version of AGS is that our plugin needs. You can just set it to "3.0.0.0" if your plugin works with the basic editor functionality, but if you use any new features added in later versions then you'll need to change the version number to match.

-

The next thing we need is a constructor so that our class can be created. AGS requires it to have one parameter, of the type IAGSEditor. This will be the main object that we will use to communicate with the editor, so we'll save a copy in a member variable for future reference:

-

Added attribute and basic plumbing

-
-
-

Components

-

Ok, so the basic plugin class is written. If you want, you can compile it and copy the DLL to the AGS folder; but if you do so, you won't notice any difference in the editor. That's because it doesn't actually do anything yet.

-

The AGS Editor works with classes called Components. A component deals with one area of functionality -- for example, AGS contains a Characters component, a Fonts component, and so on. Your plugin will need to provide its own component for whatever type of functionality you're providing. In this example I'm going to call it MathsComponent because it's going to do some very complex logic!

-

Create a new class in the project, and name it appropriately. Make it public, and this time it needs to implement the IEditorComponent interface. Do this, and allow Visual Studio to automatically create the members for you.

-

Create a constructor for the component, and you'll probably want it to take in the IAGSEditor object. Then, construct the component from within the main plugin constructor that we wrote earlier. The component should create any menu items and project tree entries that it needs.

-

For now, that's the end of this tutorial. For more information, please download and take a look at the sample code.

-
-
-
- - - - - -
- - diff --git a/EditorPreferences.html b/EditorPreferences.html deleted file mode 100644 index 098d82724..000000000 --- a/EditorPreferences.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - Editor Preferences - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Editor Preferences

-
-

Android

-
    -
  • ANDROID_HOME - The path to your Android SDK directory usually C:\Users\user\AppData\Local\Android\Sdk. Leave empty if your ANDROID_HOME environment variable is set.

  • -
  • JAVA_HOME - The path to your JRE and JDK directory, usually C:\Program Files\Android\Android Studio\jre. Leave empty if your JAVA_HOME environment variable is set.

  • -
  • Key Alias - Keystore Key Alias.

  • -
  • Key Password - Keystore Key Password. Must be the same as Keystore Password for now.

  • -
  • Keystore File Path - Your Keystore File absolute path, it's usually a file ending in .jks or .store.

  • -
  • Keystore Password - Keystore Password. Must be the same as Key Password for now.

  • -
  • Use gradle daemon - Gradle daemon can severily improve building speed, but it may increase ram usage even when it's not actively used. If you are recurrently building for Android, consider turning it on to speed build times.

  • -
-
-
-

Debug Log

-
    -
  • Log Font - Font used in the debug log panel.

  • -
  • Log Font Size - Size of the font used in the debug log panel.

  • -
-
-
-

Editor Appearance

-
    -
  • Ask before closing multiple tabs - Prompt dialog on closing multiple tabs.

  • -
  • Color Theme - Select which theme the editor should be using.

  • -
  • Editor Startup Action - What editor should do at startup.

  • -
  • Keep Help window on top - Should Help window always be on top of the Editor window when shown?

  • -
  • Pop-up messages on Compile - In which cases the editor should show pop-up windows when compiling.

  • -
  • Show view preview by default in view editors - Wheter view preview is always shown when a view editor is loaded.

  • -
-
-
-

Import Directory

-
    -
  • Import Directory - When you import files, where do you want to look first?
  • -
-
-
-

Import of 8-bit background

-
    -
  • Remap palette of room backgrounds - Remap palette of room background into allocated background palette slots (8-bit games only).
  • -
-
-
-

Misc

-
    -
  • Backup Warning Interval - Interval of days the Editor will warn you should backup your game.
  • -
-
-
-

New Game Directory

-
    -
  • New Game Directory - When you create a new game, where do you want it to go?
  • -
-
-
-

Script Editor

-
    -
  • Indent Uses Tabs - Should editor use tabs instead of spaces when indenting?

  • -
  • Script file modified externally, should it reload? - If a script is open for editing and is modified by another program, should it reload?

  • -
  • Script Font - Font used in the script editor.

  • -
  • Script Font Size - Size of the font used in the script editor.

  • -
  • Script Tip Font - Font used in description tips in the script editor.

  • -
  • Script Tip Font Size - Size of the font used in description tips in the script editor. Script editor line height uses biggest height accross fonts.

  • -
  • Tab width - How many space characters a tab width should be. This setting requires editor restart to be applied.

  • -
-
-
-

Sprite Editor

-
    -
  • Default image editor - When you double-click a sprite, what program do you want to use to edit it? This program must support PNG and BMP files.

  • -
  • Default sprite import transparency - Sprite transparency import method to use by default.

  • -
-
-
-

Test Game

-
    -
  • Test Game Style - A setting if the game should run in window or full-screen when you test it. When using F5 game will always run in a window.
  • -
-
-
-
- - - - - -
- - diff --git a/EditorRoom.html b/EditorRoom.html deleted file mode 100644 index fe3b0875c..000000000 --- a/EditorRoom.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - Room Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Room Editor

-

The Room Editor is where you can define the various properties and data that make up a room. This includes:

-
    -
  • Objects
  • -
  • Hotspots
  • -
  • Walkable areas
  • -
  • Walkbehinds
  • -
  • Regions
  • -
  • ...and more!
  • -
-

NOTE: Currently only one room can be open for editing at a time

-

Editor Room

-
-

Controls

-

Pan

-

If your room is large enough that scrollbars are shown and required to move around in the room, you can also pan by either holding spacebar and left-click dragging the room background, or alternatively holding your mouse middle click button.

-

Zoom

-

In the upper top of the room bar there is a zoom slider than can be used to adjust the zoom, but alternatively holding ctrl and using the mouse scrollwheel (or scroll gesture in some touchpads) will also adjust zoom.

-

Context Menu

-

Right clicking should bring the context menu. There is a special case for area editing modes (Hotspots, Walkable areas, and alike) in which right click works as a "eraser"; in these modes context menu is called by a Shift + RMB combination. The context menu will usually contain the "Copy mouse coordinates to clipboard" command, but it can contain additional options depending on active layer or what is right clicked - like a character or an object.

-
-
-

Background

-

By selecting a background on the Display Background combo box, you can select which background of a room to display: Main Background, frame 2, 3, 4, 5. With one background selected, click Change... button to replace the background image with a new image. If a room has more than one background, by default, they are animated. To prevent that assign "BackgroundAnimtionEnabled" to "False" in the room properties. Also, you may lock background to a particular frame in script using SetBackgroundFrame command.

-

NOTE: If the background images are replaced with ones of a different size this will clear all of the mask (hotspot, walkbehind, region, and walkable) areas which have been are defined so far.

-
-
-

Edit this room's control

-

This control allows you to view characters, objects, and edges, simultaneously along with one of the room masks: hotspots, walkable areas, walk-behinds or regions. Moving a character or object already in the room is done by clicking and dragging it.

-

Editor Room

-

You can select any element in the room by navigating on the bar using the down arrows, which will reveal the available elements of the chosen category.

-

Characters and objects can also be selected directly in the room, by clicking on them, as long as the corresponding layer is active.

-

To select any mask-type layer, first select the layer you are interested and then use the Select area tool (picker icon on toolbar) to pick the specific element.

-

Placing a new object

-

If you want to place a new object, you can do so by selecting Objects in the layer menu and right clicking on the screen where you would like to create it. A new context menu should open and you can choose the option "Place New Object Here".

-

Editor Room

-

Placing a character

-

Characters will only be shown if this room is their 'starting room'. You can modify this by expanding the "Characters" node in the Explore Project tree, and configuring the property StartingRoom for a particular character.

-

Layer and element Visibility (eye icon)

-

Each layer can be made visible/hidden by toggling its visibility button on and off. In addition, for the object, character, and edge layers, each element in the layer can also be made be hidden in the same way.

-

NOTE: This will only affect the editor, not the actual game

-

Layer and element Locking (padlock icon)

-

Each layer can be locked/unlocked by by toggling its locking button. In addition, for each layer, each element in the layer can also be locked/unlocked in a similar way. A locked element cannot be moved until it is unlocked, this is useful to prevent accidentally moving something when designing the room.

-

NOTE: This will only affect the editor, not the actual game

-
-
-

Properties control

-

The properties control will adapt to whichever element is selected on the current layer. If no element is selected or the edges layer is selected, this control will show the current Room properties and events.

-

The list button switches the control to show Properties and the button with a lighting bolt on it switches the control to show Events. Both can be navigated either in categorical order or alphabetical order.

-

Positional changes on the properties of an element (e.g. its x or y position) will instantly be updated in the room area, which is useful for pixel positioning.

-
-
-

Room Properties

-
    -
  • Description - this is an optional room description, which may also serve as a room's name.
  • -
  • Number - room's number is it's ID. Changing this property will renumber the room and rename its files.
  • -
  • BackgroundAnimationDelay - the delay between room background frames switch, in game ticks. This value only has a meaning when room has multiple backgrounds, and BackgroundAnimationEnabled is turned on.
  • -
  • BackgroundAnimationEnabled - whether the background frames will switch automatically over time. This value only has a meaning when room has multiple backgrounds.
  • -
  • MaskResolution - defines the ratio of masks (walkable, hotspot and region) vs room background size. Default is 1:1, but few other choice are available, like 1:2, 1:3 and 1:4. The higher the last number is, the less precise the mask is. This setting exists mostly for the backwards compatibility, or for exotic scenarios where you may want to have hotspot or walkable area to have lower resolution than the room itself. Note that walk-behind mask is not affected by this, and always has 1:1 ratio with the room background.
  • -
  • PlayerCharacterView - when set to a non-zero value, the player character will be changed to this View when the room is loaded. Note that you may also use script command "ChangeView" for the same purpose.
  • -
  • Properties - lets you configure room's Custom Properties. Please see respective topic for more information on this subject.
  • -
  • ShowPlayerCharacter - if set to FALSE, then the player character will be disabled (turned invisible and immobile) when the room is loaded. Also the standard "WalkTo" cursor mode will be disabled. Note that you may achieve similar effect using property "Character.on" and function "Mouse.DisableMode" in script.
  • -
-
-
-

Edges

-

Edges are moved by clicking and dragging them, once their layer is selected. If you have trouble locating them, the properties which correspond to each edge's position are:

-
    -
  • TopEdgeY
  • -
  • BottomEdgeY
  • -
  • LeftEdgeX
  • -
  • RightEdgeX
  • -
-
-
-

Objects

-

As described above, right clicking on the room when the Object layer is active allows you to create a new object. Objects can be freely positioned in the room, and whilst an object is selected you can edit its properties within the Properties control. While dragging an Object its x and y position will be shown on screen. The anchor point for positioning is the object's bottom left corner.

-
-
-

Characters

-

As described above, a character will only be available to show in a room if the character is configured to start in this room. Whilst dragging a Character its x and y position will be shown on screen. The anchor point for positioning is at the bottom-middle point of the character - the position should roughly match the middle of the characters feet.

-
-
-

Room masks (Hotspot, Walkable areas, Walk-behinds and Regions)

-

AGS offers a simple drawing editor when one of these layers is selected, so that you can directly edit these mask areas. The tools offered include a picker, a line tool, a freehand tool, a rectangle tool, and an area fill tool.

-

Also available is a way to import and export all mask areas as a bitmap image. These options are offered in-case you prefer to draw these areas in your preferred external image editor.

-

NOTE: Mask images must be using a 16-color (4-bit) or 256-color (8-bit) indexed color palette, where color 0 signifies transparency and colors 1-15 are used as the respective hotspot/walk-behind/walkable area numbers

-

See also: Room, Global functions (room actions)

-
-
-
- - - - - -
- - diff --git a/EditorSprite.html b/EditorSprite.html deleted file mode 100644 index 41ace6b3f..000000000 --- a/EditorSprite.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - Sprite Manager - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Sprite Manager

-

The sprite manager is where you can import sprites and organize them into folders. Each sprite that is imported will be assigned a sprite number which is used as its unique identifier.

-

-

The sprite manager has two panes, on the left are the sprite folders. Right click here to create a subfolder, rename an existing subfolder, or delete a subfolder (losing all of its contents).

-

-

The pane on the right, is where imported sprites are displayed. Right clicking on an empty area will give you the possibility to "import new sprite(s) from files...". This allows you to import one or more compatible image files into your game project.

-

NOTE: Unlike other game development tools, once a sprite is imported using AGS it is added to the sprite data inside your game project's directory and the source file isn't read again unless you choose to re-import it. This is done by right clicking a sprite and choosing the "Replace sprite(s) from source..." option.

-

NOTE: You can quickly select all files in a folder by selecting the first file and then pressing Shift+End.

-
-

Import Sprite

-

Once a file or files are selected, AGS will bring up the Import Sprite window.

-

-

In this window, AGS will offer you controls which determine exactly how the images files will be used. The most crucial choice is usually to choose how transparency will be determined for the imported sprite, as well as whether to import the entire sprite or use a tiled selection.

-

If multiple files are being imported they can be processed individually by using the 'Import' button, or all in one go by using the 'Import All' button. The combobox near the bottom left corner of the screen will allow you to change which source image file is currently being displayed.

-

NOTE: if using the 'Import All' button all remaining images will be imported using the currently selected import options

-

NOTE: animated GIF frames are treated as separate images, so a 5 frame GIF imported as 2 tiles will result in 10 new sprites being created.

-
-
-

Tiled sprite import

-

You may have noticed a checkbox called "Tiled sprite import". Some people find this a useful way of importing many frames of a character's animation at once.

-

In order for this to work, you need to have all your sprites lined up on your source bitmap at even intervals. Then, use the "Import from file" option and import it as usual. Check the "Tiled sprite import" box, and select the upper-left frame.

-

When you click the left mouse button, the selection rectangle will become un-filled and now you can drag the mouse to define how many frames to import - they'll all be enclosed by selection rectangles. Once you have the correct number, click the left button again and they will all be imported.

-
-
-

Alpha blended sprites

-

AGS supports alpha blended sprites if your game is 32-bit color. In this case, you need to import a PNG image with an alpha channel (you cannot paste alpha-blended images from the clipboard).

-

When you do so, AGS will prompt you asking whether you want to use the image's alpha channel or not. If you select Yes, then the sprite will be drawn alpha blended in the game if it is used for a character, object, mouse cursor or GUI.

-

NOTE: Currently, alpha blended sprites cannot be antialiased, so if you have the Anti Alias Sprites option turned on in Setup, it will not be applied to alpha-blended characters.

-
-
-

Updating sprites

-

When you import a sprite all the import settings are saved as sprite's properties. This includes the path to the source image file (if you imported from a file; no path is saved if you imported from a clipboard, for instance). It's strongly recommended to keep the source files along with the game, as they will let you to update your sprites easily, and also let fully restore the sprites in game (see the explanation below). Another thing that we recommend is to store the source images inside the project folder, for example, in a subfolder called "Sprites", or any other convenient name. That is because AGS can remember these paths as relative, and if you move your project elsewhere (onto another PC), or share it with your team members, these paths will be kept relative and so sprites may be still updated and restored from these files. If the image files are located outside of the project folder, then they will be remembered using absolute paths, which may become inconvenient.

-

All the import settings (including source path!) may be edited by hand at any later time by selecting a sprite and refering to the "Properties" panel. The import settings are found in the "Import" category. Multiple sprites may be adjusted at once too, although in that case the "Properties" grid will display only those values that match in all selected sprites, and blank field for the rest.

-

In order to update the sprite(s) open a context menu and select command "Replace sprite(s) from source". That will reload the images from the source files using latest Import settings.

-

It is also possible to fully reimport all sprites at once using existing settings, would the sprite images be missing, or corrupted for any reason. This is done by either using "File" -> "Restore all sprites from sources" menu command, or a "Restore all sprites from sources" command from the Sprite Manager's context menu.

-
-
-

Sprite Storage

-

In AGS project sprites are stored in two separate parts. The sprite's properties, including import settings, are saved in the project's main document (Game.agf), while the images themselves are saved in a file called acsprset.spr (also called "spritefile").

-

Sprite storage can be configured through Enable sprite storage optimization and Sprite file compression in General Settings, in Compiler category.

-
    -
  • Enable sprite storage optimization, stores sprites in a format that requires less space.
  • -
  • Sprite file compression, can be set to no compression, RLE or LZW.
  • -
-

All of these options do not affect how sprites look in game, and may be changed or reverted anytime, so don't worry if you realized that you need sprite compression at a later time.

-

If you have all the source files for your sprites available along with your project, then it is possible to fully recreate acsprset.spr as described in a section above ("File" -> "Restore all sprites from sources" menu command). This also means that you might exclude acsprset.spr file when copying or moving your project elsewhere, like sharing with your team, or putting the project under source control. Remember: this is a good option only if you have sources available. Sprites imported from a clipboard do not have file source and cannot be restored like that.

-
-
-
- - - - - -
- - diff --git a/EditorView.html b/EditorView.html deleted file mode 100644 index 54de00507..000000000 --- a/EditorView.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - View Editor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

View Editor

-
-

Views

-

In the view editor you add sprites from the Sprite Manager to animation strips called Loops. This is the way that you create the walkcycles for your Characters as well as all other in-game animations.

-

-

For walking views you will typically have 4 or 8 Loops, to represent the different directions for walking in. If your character will only be walking left, right, up, and down , then you probably just want 4 Loops. If a character needs separate animations for diagonal movement then you might need 8 Loops. You assign the 4 or 8 walking animations per character in the Character Editor.

-

It is good practice to use a new loop for every character and also for special character animations. For object animations, you could add a lot of animation Loops to one single View - sometimes this can be useful for organisation purposes (e.g. one Object animation View for every chapter of your game). You can name the View by right-clicking it in the project explorer.

-

Newer versions of AGS can have unlimited Views, unlimited Loops per view and unlimited Frames per loop. Still, there is some overhead with the way the AGS Editor previews them, so when you have a lot of large Frames you should consider using a new View for each animation.

-
-
-

Right Click Context Menu

-

-

When you right-click on a single frame in a loop you get the following options:

-
    -
  • Flip frame

    -

    Flips a single frame.

  • -
  • Delete frame

    -

    Remove that single frame

  • -
  • Insert frame before this

    -

    Useful when you added your animation but forgot that first frame is the idle frame.

  • -
  • Insert frame after this

    -

    Inserts a frame after the one you right clicked.

  • -
  • Cut loop

    -

    Good for moving things around when you did everything right but in the wrong loop.

  • -
  • Copy loop

    -

    Copies an entire loop!

  • -
  • Paste over this loop

    -

    You need this to place the loop after you cut or copied it.

  • -
  • Paste over this loop flipped

    -

    If you have copied the loop with the character going right, this will make him go to left!

  • -
  • Flip all frames in loop

    -

    You already did the character going right and copied this loop and want to flip the sprites in the whole loop, then use this option! This is a good timesaver.

  • -
  • Add all sprites from folder

    -

    Put all the sprites to be used in a loop, in a folder in the sprite manager, ordered (probably with a consecutive number sequence at the end), then you can use this option to quickly add all image files from that folder to the loop in the order they are in the folder. This is useful when you have many frames for a loop.

  • -
-
-
-

Show Preview

-

When you tick the checkbox above the Loops called Show Preview you will see an extra panel appear where the animation can be previewed. You can either manually browse through all the frames of the Loop or you check the animate checkbox to see it in motion.

-

The Skip Frame 0 (standing Frame) checkbox does exactly that, it skips Frame 0 for the preview animation. This is only important for previews of views that are used as walking views for a character.

-

When you animate a game object or you want the character to animate for something other than walking (like picking up an Inventory Item) Frame 0 is always included in the animation. When the view is used as a walking view Frame 0 is skipped for the animation until the character reaches the endpoint of the walk and stops there. Then Frame 0 is displayed for the direction that the character is currently facing.

-

-
-
-

Properties

-

-

Delay
-With the delay setting you delay the displaytime of the selected frame by a set amount. This delay is in game frames, so how long the delay is in time depends on how many frames per second your game is running at. You can check the game-speed with the GetGameSpeed function. By default AGS games run at 40 FPS, but this can be configured by setting the desired frame rate using the SetGameSpeed function. This delay value is specific to this single frame only. To add delay to an entire animation, use the delay parameter of the Animate function instead. This frame delay is added to the overall loop delay.

-

Flipped
-You can flip a single frame with this property. This is very useful for mirrored animations, such as walkcycles, where a flipped version of the walk-left animation and be used to walk right, for example. Note that instead of flipping just a single frame you can also flip the whole loop by using the Right Click Context Menu.

-

Image
-The sprite number for this frame's image, as displayed in the Sprite Manager.

-

ID
-The will display the frame number within the loop, for the selected frame. This value is not directly editable.

-

Sound
-Play a sound when this frame is displayed. This is typically used to add footsteps to character walkcycles.

-
-
-
- - - - - -
- - diff --git a/EngineConfigFile.html b/EngineConfigFile.html deleted file mode 100644 index eef801bbf..000000000 --- a/EngineConfigFile.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - Engine Config File - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Engine Config File

-

The Engine can be adjusted through a configuration file. This config file for historical reasons is called acsetup.cfg.

-
-

Configuration file locations

-

The engine supports three configuration files that are read in the following order, every next overriding values from the previous one:

-
    -
  1. Default config file, found in the game's installation directory, applied for the game loaded from that directory;
  2. -
  3. Current user's global config file, applied for any AGS game.
  4. -
  5. Current user's game config file, applied only for the game of particular title. This config file is also the one supposed to be written to when the engine or setup application modifies game configuration.
  6. -
-

Locations of two latter files differ between running platforms:

-
    -
  • Linux: -
      -
    • user's global config: $XDG_DATA_HOME/ags/acsetup.cfg
    • -
    • user's game config: $XDG_DATA_HOME/ags/GAMENAME/acsetup.cfg
    • -
    • NOTE: if $XDG_DATA_HOME is not defined, then $HOME/.local/share is used instead.
    • -
  • -
  • Windows: -
      -
    • user's global config: %USERPROFILE%/Saved Games/Adventure Game Studio/acsetup.cfg
    • -
    • user's game config: %USERPROFILE%/Saved Games/GAMENAME/acsetup.cfg
    • -
  • -
-
-
-

Configuration file options

-
    -
  • [graphics] - display mode and various graphics options -
      -
    • driver = [string] - id of the graphics renderer to use. Supported names are: -
        -
      • D3D9 - Direct3D9 (MS Windows only);
      • -
      • OGL - OpenGL;
      • -
      • Software - software renderer.
      • -
    • -
    • software_driver = [string] - optional id of the SDL2 driver to use for the final output in software mode, leave empty for default. IDs are provided by SDL2, not all of these will work on any system: -
        -
      • direct3d, opengl, opengles, opengles2, metal, software.
      • -
    • -
    • fullscreen = [string] - a fullscreen mode definition, which may be one of the following: -
        -
      • WxH - explicit window size (e.g. 1280x720);
      • -
      • xS - integer game scaling factor (e.g. x4);
      • -
      • desktop - use current system's desktop resolution;
      • -
      • native - use game's native resolution;
      • -
      • full_window - a borderless window covering whole desktop, as opposed to the exclusive fullscreen mode;
      • -
      • default - use engine defaults, which is full_window.
      • -
    • -
    • window = [string] - a windowed mode definition; the options are same as for the fullscreen, except for full_window, and following differences: -
        -
      • desktop - will try to create largest possible resizing window, while keeping game scaling style (see game_scale_win);
      • -
      • default - use engine defaults, which is desktop.
      • -
    • -
    • windowed = [0; 1] - when enabled, runs game in windowed mode.
    • -
    • game_scale_fs = [string] - game scaling rule for fullscreen mode, and...
    • -
    • game_scale_win = [string] - game scaling rule for windowed mode, where -
        -
      • round - deduce the maximal integer multiplier that fits into the current desktop/device size;
      • -
      • stretch - stretch to current desktop/device size;
      • -
      • proportional - similar to stretch, but keep the game's aspect ratio.
      • -
    • -
    • filter = [string] - id of the scaling filter to use. Supported filter names are: -
        -
      • stdscale - nearest-neighbour scaling;
      • -
      • linear - anti-aliased scaling; not usable with software renderer.
      • -
    • -
    • refresh = [integer] - refresh rate for the display mode.
    • -
    • render_at_screenres = [0; 1] - whether the sprites are transformed and rendered in native game's or current display resolution;
    • -
    • supersampling = [integer] - super-sampling multiplier, default is 1, used with render_at_screenres = 0 (currently supported only by OpenGL renderer);
    • -
    • vsync = [0; 1] - enable or disable vertical sync.
    • -
    • rotation = [string | integer] - screen rotation. Possible values are: -
        -
      • unlocked (0) - device can be freely rotated if possible. -
          -
        • portrait (1) - locks the screen in portrait orientation.
        • -
        • landscape (2) - locks the screen in landscape orientation.
        • -
      • -
    • -
    • sprite_cache_size = [integer] - max size the engine will allocate for the sprite cache, in kilobytes of RAM. Default is 131072 (128 MB).
    • -
    • texture_cache_size = [integer] - max size the engine will allocate for the texture cache, in kilobytes of VRAM (video memory). Default is 131072 (128 MB).
    • -
  • -
  • [sound] - sound options -
      -
    • enabled = [0; 1] - enable or disable game audio.
    • -
    • driver = [string] - audio driver id, leave empty for default. Driver IDs are provided by SDL2 and are platform-dependent. -
        -
      • For Linux: -
          -
        • pulseaudio, alsa, arts, esd, jack, pipewire, disk, dsp, dummy
        • -
      • -
      • For Windows: -
          -
        • wasapi, directsound, winmm, disk, dummy
        • -
      • -
    • -
    • cache_size = [integer] - max size the engine will allocate for sound cache, in kilobytes. Default is 32768 (32 MB).
    • -
    • stream_threshold = [integer] - max size of the sound clip that engine is allowed to load in memory at once, as opposed to continuously streaming one. In the current implementation this also defines the max size of a clip that may be put into the sound cache. Default is 1024 (1 MB).
    • -
    • usespeech = [0; 1] - enable or disable in-game speech (voice-overs).
    • -
  • -
  • [mouse] - mouse options -
      -
    • auto_lock = [0; 1] - enables mouse autolock in window: mouse cursor locks inside the window whenever it receives input focus.
    • -
    • control_when = [string] - determines when the mouse cursor speed control is allowed, acceptable values are: -
        -
      • never - self-explanatory;
      • -
      • fullscreen - only when the game is run in fullscreen (this is default);
      • -
      • always - both in fullscreen and windowed mode.
      • -
    • -
    • control_enabled = [0; 1] - enables or disables mouse control. Note that this setting may be overriden by control_when.
    • -
    • speed_def = [string] - determines how the cursor speed value is interpreted, possible modes are: -
        -
      • absolute - use precisely the speed value provided by config;
      • -
      • current_display - keep cursor's speed by screen size relation by increasing actual cursor speed when running game in low resolution and decreasing when running in higher than the current user's dekstop resolution (this is default).
      • -
    • -
    • speed = [real] - mouse cursor speed (default is 1.0).
    • -
  • -
  • [touch] - touch input options -
      -
    • emul_mouse_mode = [string | integer] - touch-to-mouse emulation (whether touch input should emulate the mouse input and how): -
        -
      • off (0) - disabled;
      • -
      • one_finger (1) - one finger maps directly to left click;
      • -
      • two_fingers (2) - tap 1 finger for left click, hold 1st finger and tap 2nd for right click, double tap 1 finger for drag mode.
      • -
    • -
    • emul_mouse_relative = [0; 1] - enable or disable relative emulated mouse movement.
    • -
  • -
  • [language] - language options -
      -
    • translation = [string] - name of the translation to use. A <name>.tra file should be present in the game directory.
    • -
  • -
  • [misc] - various options -
      -
    • datafile = [string] - path to the game file.
    • -
    • datadir = [string] - path to the game directory.
    • -
    • localuserconf = [0; 1] - read and write user config in the game's directory rather than using standard system path. Game directory must be writeable for this option to work, otherwise engine will fall back to standard path.
    • -
    • user_data_dir = [string] - custom path to savedgames location.
    • -
    • shared_data_dir = [string] - custom path to shared appdata location.
    • -
    • antialias = [0; 1] - anti-alias scaled sprites.
    • -
    • clear_cache_on_room_change = [0; 1] - whether to clear all resource caches (sprite, texture, sound) on every room change.
    • -
    • load_latest_save = [0; 1] - whether to load latest save on game launch.
    • -
    • background = [0; 1] - whether the game should continue to run in background, when the window does not have an input focus (does not work in exclusive fullscreen mode).
    • -
    • show_fps = [0; 1] - whether to display fps counter on screen.
    • -
    • titletext = [string] - the title of the winsetup window.
    • -
  • -
  • [log] - log options, allow to setup logging to the chosen OUTPUT with given log groups and verbosity levels. -
      -
    • [outputname] = GROUP[:LEVEL][,GROUP[:LEVEL]][,...];
    • -
    • [outputname] = +GROUPLIST[:LEVEL]; Groups may be defined either by name or by a LIST of one-letter IDs, preceded by '+', e.g. +ABCD:LEVEL. Verbosity may be defined either by name or a numeric ID. -
        -
      • OUTPUTs are: -
          -
        • stdout, file, debugger (external debugging program);
        • -
      • -
      • GROUPs are: -
          -
        • all, main (m), game (g), manobj (o), sdl (l), script (s), sprcache (c);
        • -
      • -
      • LEVELs are: -
          -
        • all, alert (1), fatal (2), error (3), warn (4), info (5), debug (6);
        • -
      • -
      • Examples: -
          -
        • file=all:warn
        • -
        • file=main:warn,game:all
        • -
        • stdout=+mg:debug
        • -
      • -
    • -
    • file-path = [string] - custom path to the log file.
    • -
    • sdl = LEVEL - setup SDL's own logging level, defined either by name or numeric ID: -
        -
      • verbose (1), debug (2), info (3), warn (4), error (5), critical (6).
      • -
    • -
  • -
  • [override] - special options, overriding game behavior. -
      -
    • multitasking = [0; 1] - lock the game in the "single-tasking" or "multitasking" mode. In the nutshell, "multitasking" here means that the game will continue running when player switched away from game window; otherwise it will freeze until player switches back.
    • -
    • os = [string] - trick the game to think that it runs on a particular operating system. This may come handy if the game is scripted to play differently depending on OS. Possible choices are: -
        -
      • dos - MS DOS;
      • -
      • win - Windows;
      • -
      • linux - Linux;
      • -
      • mac - MacOS.
      • -
    • -
    • legacysave_assume_dataver = [integer] - when restoring a save of a legacy format, lets engine assume certain game data version ID. This may be necessary because of a mistake in pre-3.5.0 save formats, where contents depended on a game data version rather than a save version.
    • -
    • legacysave_let_gui_diff = [0; 1] - when restoring a save of a legacy format, lets engine read less gui elements than are registered by the current game. This was a (possibly unintended) effect in pre-3.5.0 save format.
    • -
    • restore_game_key = [integer] - key for calling built-in restore game dialog. Key value corresponds to the AGS script keycode.
    • -
    • save_game_key = [integer] - key for calling built-in save game dialog.
    • -
    • upscale = [0; 1] - run game in the "upscale mode". The earlier versions of AGS provided support for "upscaling" low-res games to hi-res. The script API has means for detecting if the game is running upscaled, and game developer could use this opportunity to setup game accordingly (e.g. assign hi-res fonts, etc). This options works only for games created before AGS 3.1.0 with low-res native resolution, such as 320x200 or 320x240, and it may somewhat improve game looks.
    • -
  • -
  • [disabled] - special instructions for the setup program hinting to disable particular options or lock some in the certain state. Ignored by the engine. -
      -
    • gfxdrivers = [0; 1] - tells to lock "Graphics driver" selection in a default state;
    • -
    • <gfxdriver id> = [0; 1] - tells to remove particular graphics driver from the selection list;
    • -
    • filters = [0; 1] - tells to lock "Graphics filter" selection at the value set in the config file;
    • -
    • <filter id> = [0; 1] - tells to remove particular graphics filter from the selection list;
    • -
    • fullscreen = [0; 1] - tells to disable fullscreen desktop checkbox and fullscreen mode selection list;
    • -
    • antialias = [0; 1] - tells to lock "Smooth scaled sprites" selection at the value set in the config file;
    • -
    • render_at_screenres = [0; 1] - tells to lock "Render sprites in screen resolution" selection at the value set in the config file;
    • -
    • speechvox = [0; 1] - tells to lock "Use digital speech pack" selection at the value set in the config file;
    • -
    • translation = [0; 1] - tells to lock "Game language" selection at the value set in the config file;
    • -
  • -
-
-
-
- - - - - -
- - diff --git a/EnginePluginDesign-timeAPI.html b/EnginePluginDesign-timeAPI.html deleted file mode 100644 index 08fe4e11e..000000000 --- a/EnginePluginDesign-timeAPI.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - Engine Plugin Design-time API - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Engine Plugin Design-time API

-

Since the AGS Editor is currently windows only, you can use a macro to not include the design-time parts when building the plugin for other platforms.

-
-

DllMain

-

Your DLL should have the following entry points:

-

The standard Windows DLL entry point, you know how to use this.

-

This will get called once when the editor first starts up, and once when it finally shuts down. The plugins are kept in memory at all times, so you will not get lots of load-unloads during the editor's lifetime.

-
-
-

Design-time events

-
-

AGS_GetPluginName

-
DLLEXPORT LPCSTR AGS_GetPluginName ();
-

Called by the editor to retrieve a user-friendly name for the plugin. This is the very first function the editor calls as soon as it starts up, in order to build its list of plugins.

-

Normally, you will implement this as a simple one-line function that returns a static string with the plugin description.

-
-
-

AGS_EditorStartup

-
DLLEXPORT int AGS_EditorStartup (IAGSEditor *lpEditor);
-

Called by the editor when the user selects to add the plugin to their game. This function should perform any initialization necessary for design-time operation.

-

The parameter passed to the function is a pointer to the editor interface, which your plugin can execute various methods on to communicate with the editor.

-

In particular, this function should register any additions to the script header files that it uses.

-

You should return 0 to indicate success; any other value indicates that a problem occurred, and the editor will not attempt any further communication with the plugin unless the user tries to start it again.

-
-
-

AGS_EditorShutdown

-
DLLEXPORT void AGS_EditorShutdown ();
-

Called by the editor when the user elects to remove the plugin from their game. The plugin should un-register anything that it registered at startup, since if the user later decides to add the plugin again, the Startup function will be run again.

-
-
-

AGS_EditorProperties

-
DLLEXPORT void AGS_EditorProperties (HWND parent);
-

(Optional - plugin does not have to have this function)

-

Called by the editor when the user highlights the plugin and clicks the Properties button. You can use this to display a copyright message, or allow the user to set options for your plugin, for instance. This will only be called when the plugin is selected (i.e. EditorStartup has been called).

-

The parameter gives you the parent window handle you should use if you want to pop up a dialog. You should make any dialogs modal so that this function does not return until they are dismissed.

-
-
-

AGS_EditorSaveGame

-
DLLEXPORT int AGS_EditorSaveGame (char *buffer, int bufsize);
-

(Optional - plugin does not have to have this function)

-

Called by the editor when the current game is saved to disk. This will only be called if your plugin is selected into the current game.

-

buffer is a byte array of size bufsize, which you can write any data to as you see fit. The buffer will then be written into the user's game file. You must return the number of bytes actually used, which can be up to and including bufsize.

-

If you need more storage space than bufsize provides, you will have to write your own separate file out to disk, store in the registry, or do some compression.

-

The current version of AGS gives you a 5120 byte buffer, but future versions may increase or decrease this amount, so be sure to check bufsize before using it.

-

You will probably only need this function if you have some options in the Properties that the user can set, otherwise there's no need to use it.

-
-
-

AGS_EditorLoadGame

-
DLLEXPORT void AGS_EditorLoadGame (char *buffer, int bufsize);
-

(Optional - plugin does not have to have this function)

-

Called by the editor when a game is loaded from disk. This will only be called if your plugin is selected into the new game.

-

buffer is a byte array of size bufsize, which contains any data you wrote out in a previous session with AGS_EditorSaveGame. Note that the buffer is not persistent - when your function returns, the buffer is freed, so you should copy any important data you need to elsewhere.

-
-
-

AGS_PluginV2

-
DLLEXPORT int AGS_PluginV2 ();
-

This entry point is never called by AGS, but it must be present and exported from your DLL in order to let AGS know that it is a valid plugin that supports version 5 and later of the engine interface. If you don't export this, AGS won't load the plugin.

-
-
-
-

The IAGSEditor interface

-

This interface is provided to the plugin as the way of calling back to the editor. It provides these members:

-
-

IAGSEditor.version

-
int version;
-

Specifies the interface version. You should check this to determine what version of the editor is being used, because certain interface methods will have been added in later versions, and attempting to use them with an earlier version will crash the system.

-

The current version number for the latest version of AGS is 1.

-
-
-

IAGSEditor.GetEditorHandle

-
HWND GetEditorHandle ();
-

Returns the window handle to the AGS Editor's main frame. This might be useful if you wanted to add extra menu options to the editor, for example.

-

Added in version: 1

-
-
-

IAGSEditor.GetWindowHandle

-
HWND GetWindowHandle ();
-

Returns the window handle to the current active window. If you want to pop up a messagebox, for instance, you should always use this handle as the parent, because using the main frame's handle would un-modal any dialog boxes currently displayed.

-

Added in version: 1

-
-
-

IAGSEditor.RegisterScriptHeader

-
void RegisterScriptHeader (const char * header);
-

Adds the contents of header to the built-in script header, which is compiled into every script in the game. The idea here is that you would use this to register your text script functions, for example:

-
char *header = "import int Add (int, int);
-                import int Substract(int, int); ";
-RegisterScriptHeader (header);
-

Note that the editor only keeps a reference to this string rather than a copy, so do not overwrite or destroy the string after calling this function.

-

Added in version: 1

-
-
-

IAGSEditor.UnregisterScriptHeader

-
void UnregisterScriptHeader (const char *header);
-

Unregisters the specified script header, which you earlier used with RegisterScriptHeader.

-

Added in version: 1

-
-
-
-
- - - - - -
- - diff --git a/EnginePluginRun-timeAPI.html b/EnginePluginRun-timeAPI.html deleted file mode 100644 index 0c858ea6b..000000000 --- a/EnginePluginRun-timeAPI.html +++ /dev/null @@ -1,1381 +0,0 @@ - - - - - - - Engine Plugin Run-time API - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Engine Plugin Run-time API

-
-

Run-time events

-
-

AGS_EngineStartup

-
DLLEXPORT void AGS_EngineStartup (IAGSEngine *lpGame);
-

Called by the game engine when the game is loading. This function is called once AGS has loaded everything it needs to into memory, but before it loads the global script.

-

Your plugin should use this opportunity to register any text script functions that it provides, and to request hooks for any game events that it wants to handle.

-

Once this function completes, the plugin will only regain program control when one of its text script functions is called, or when one of the hooks it registered is executed.

-

NOTE: This function is called before the graphics subsystem is started, so functions like GetScreenDimensions and GetGraphicsDriverID will not work if called from this event.

-
-
-

AGS_EngineShutdown

-
DLLEXPORT void AGS_EngineShutdown();
-

Called by the game engine just before it exits. This gives you a chance to free any memory and do any cleanup that you need to do before the engine shuts down.

-

(Shutdown is only called by engine interface version 13 and above.)

-
-
-

AGS_EngineOnEvent

-
DLLEXPORT int AGS_EngineOnEvent (int event, int data);
-

Called by the game engine when one of the events which the plugin has requested via RequestEventHook is triggered.
-data is an event-specific parameter - see RequestEventHook below for more information.

-

Return 0 to tell the engine to continue processing the event as normal. Return 1 to tell the engine not to call any other handlers, whether in other plugins or the text script, for this event.

-

For example, if you were handling a Keypress event, and you did something in response to the keystroke, you may wish to return 1 to stop anything else also dealing with the keystroke.

-

IMPORTANT: Only return 1 when absolutely necessary since it may interfere with other plugins operation.

-
-
-

AGS_EngineDebugHook

-
DLLEXPORT int AGS_EngineDebugHook(const char * scriptName, int lineNum, int reserved);
-

Called by the game engine when a new line of text script is about to be executed. This will only be called if you have requested the AGSE_SCRIPTDEBUG event with the RequestEventHook function (see below).

-

scriptName contains which script is running (either "Global script" or "Room XX script" (where XX is the room number)). lineNum contains the line number that is about to be run.

-

This callback is designed to allow you to create some form of script debugger using a plugin. Note that just having this hook enabled will cause a performance hit in the game - so if the plugin is not actively debugging, it should use UnregisterEventHook to unregister itself until such time as it needs to know again.

-

This callback is also called with lineNum set to 0 when a script finishes running.

-

Return 1 if you handled the debug, or 0 to allow other plugins to have a go.

-

(Supported by engine interface version 13 and above)

-
-
-

AGS_EngineInitGfx

-
DLLEXPORT void AGS_EngineInitGfx(const char *driverID, void *data);
-

Called by AGS just before the graphics driver is initialized. This allows you to make changes to how the driver starts up.

-

driverID is the ID of the graphics driver in use. This can either be "D3D9" if the player is using the Direct3D driver, or "DX5" if they are using the standard DirectDraw driver.

-

If driverID is "D3D9", then the data parameter is a pointer to the D3DPRESENT_PARAMETERS structure that AGS is about to pass into CreateDevice. If you need to enable extra features such as the Auto Depth Stencil, then you can do so by changing the member variables at this point.

-

For other graphic drivers then the data parameter will currently be passed as NULL.

-

NOTE: This event is called just as the graphics subsystem is starting, so functions that like GetScreenDimensions that rely on the screen being initialized will not work if called from this event.

-

NOTE: This event can be called more than once. It is called every time AGS tries to initialize the screen, so if the first resolution is not supported for example then it will get called again as AGS retries.

-

(Supported by engine interface version 23 and above)

-
-
-
-

The IAGSEngine interface

-

This interface is provided to the plugin as the way of calling back to the editor. It provides the following methods.

-

IMPORTANT: Very little error checking is performed on these functions for performance reasons, as they provide direct entry into AGS - therefore, mistakes in your code can crash the engine.

-

The text script currently supports char, short and int types. These are 1, 2 and 4 byte integers respectively. Text script strings are implemented as standard C-style char* pointers, but with preallocated buffers of 200 bytes per string. Therefore, if you write a function which takes a string from the text script, make sure that if you add anything to it you don't write past 200 characters, or problems will result.

-
-

IAGSEngine.version

-
int version;
-

Specifies the interface version. You should check this to determine what version of the engine is being used, because certain interface methods will have been added in later versions, and attempting to use them with an earlier version will crash the system.

-

AGS v2.51 (the first version to support plugins) was distributed with interface version 7, so you can reasonably expect that as a minimum for your plugin.

-
-
-

IAGSEngine.AbortGame

-
void AbortGame (const char * reason);
-

Aborts the game, presenting the standard AGS "An error has occured, please correct the problem" message box to the user, with the error description being the string supplied.

-

To indicate that it was a user error (for example, they provided an invalid parameter to your text script function), prepend a ! to the message. For example,

-
AbortGame ("!MyScriptFunction: Not a valid color");
-

This will use the "Please contact the game author for support" heading message.

-

If you need to exit the game, you should always use this instead of the standard VC++ exit() functions.

-

Added in version: 1

-
-
-

IAGSEngine.GetEngineVersion

-
const char* GetEngineVersion ();
-

Returns the full build number of the engine, for example "2.51.400". You can use this with strcmp if your plugin requires a specific engine version.

-

Added in version: 1

-
-
-

IAGSEngine.RegisterScriptFunction

-
void RegisterScriptFunction (const char *name, void *address);
-

Allows you to add your own text script functions to AGS. name is the name of the function as the script knows it, for example "AddNumbers". address is a pointer to your function that implements the command. For example:

-
int AddNumbers (int a, int b) { return a + b; }
-...
-RegisterScriptFunction ("AddNumbers", AddNumbers);
-

Note that it is possible to override the built-in functions with this command. If you do, for example,

-
RegisterScriptFunction ("GetLocationType", AddNumbers);
-

then any calls from the script to GetLocationType will be intercepted by your plugin (and in this case a stupid result returned).

-

IMPORTANT: If you want to override built-in functions, make sure that yours have identical parameters, otherwise the stack could get messed up and crash the engine.

-

AGS 2.7 and later support object-based scripting. In order to export an object from your plugin, you'll need to include its struct definition in the RegisterScriptHeader editor call. Then, you export functions as follows:

-
int PluginObject_DoSomething(PluginObject *obj, int a) {
-  return a + 10;
-}
-...
-RegisterScriptFunction("PluginObject::DoSomething^1",
-                         PluginObject_DoSomething);
-

In other words, the function takes the object as its first parameter. The exported name is "structname::functionname^numparams", where numparams is the number of parameters it takes (excluding the object itself).

-

Added in version: 1

-
-
-

IAGSEngine.GetWindowHandle

-
HWND GetWindowHandle ();
-

IMPORTANT: This function is only supported on Windows.

-

Returns the window handle of the main game window.

-

Added in version: 1

-
-
-

IAGSEngine.GetGraphicsDriverID

-
const char* GetGraphicsDriverID();
-

Returns an ID string representing the current graphics driver. This can either be "D3D9" if the player is using the Direct3D driver, or "DX5" if they are using the standard DirectDraw driver.

-

If the engine interface version is less than 19, this function is not available; however, in that case you can safely assume that the DX5 driver is in use since earlier versions of AGS only supported that driver.

-

IMPORTANT: Your AGS_EngineStartup event is called before the graphics system is initialized. Therefore, you cannot call GetGraphicsDriverID from within AGS_EngineStartup as no driver is loaded at that point.

-

NOTE: When the Direct3D driver is in use, the screen is redrawn each frame using 3D accelerated blits, and therefore there is no virtual screen. You can only manipulate the virtual screen when running with the DX5 driver.

-

Added in version: 19

-
-
-

IAGSEngine.GetDirectDraw2

-
LPDIRECTDRAW2 GetDirectDraw2 ();
-

IMPORTANT: This function is only supported on Windows.

-

Returns the main IDirectDraw2 interface that the game is using.

-

This function is only supported if the player is using the DX5 graphics driver.

-

Added in version: 1

-
-
-

IAGSEngine.GetBitmapSurface

-
LPDIRECTDRAWSURFACE2 GetBitmapSurface (BITMAP *bmp);
-

IMPORTANT: This function is only supported on Windows.

-

Returns the IDirectDrawSurface2 interface associated with the specified bitmap.

-

This function is only supported if the player is using the DX5 graphics driver.

-

IMPORTANT: This is the Allegro BITMAP structure, not the Win32 GDI BITMAP. Do not try and use a win32 BITMAP with this function, as it will crash the system.

-

Added in version: 1

-
-
-

IAGSEngine.GetScreen

-
BITMAP * GetScreen ();
-

Returns a reference to the main screen bitmap (as an Allegro BITMAP). You can use this via DDraw with the GetBitmapSurface method, or use the various AGS drawing functions which are documented later.

-

This function is only supported if the player is using the DX5 graphics driver.

-

Added in version: 1

-
-
-

IAGSEngine.RequestEventHook

-
void RequestEventHook (int event);
-

Requests that the engine calls the plugin's AGS_EngineOnEvent function when the specified event occurs in future. Possible values are:

-
-
IAGSEngine event AGSE_KEYPRESS
-

triggered when the user presses a key on the keyboard.

-

data value: ASCII value of keystroke, as text script on_key_press (but lower case a-z are passed as 97..122)

-
-
-
IAGSEngine event AGSE_MOUSECLICK
-

triggered when the user clicks a mouse button.

-

data value: mouse button pressed (1=left, 2=right, 3=middle)

-
-
-
IAGSEngine event AGSE_POSTSCREENDRAW
-

triggered every frame after the entire game has been drawn each frame, but before the mouse cursor is painted on top.

-

data value: ** See Note 1 below

-
-
-
IAGSEngine event AGSE_PRESCREENDRAW
-

(version 4 and later only)

-

triggered every frame right after the room background has been drawn, but before anything else.

-

data value: ** See Note 1 below

-
-
-
IAGSEngine event AGSE_SAVEGAME
-

(version 5 and later only)

-

triggered when the game position is saved. You can then use the interface FWrite function to write your own data. The script engine is in an invalid state at this point, so do not call any script functions.

-

data value: file handle of save game

-
-
-
IAGSEngine event AGSE_RESTOREGAME
-

(version 5 and later only)

-

triggered when the game position is loaded. You then use the FRead function to read the data back. You must read back the same number of bytes as you wrote. The script engine is in an invalid state at this point, so do not call any script functions.

-

data value: file handle of save game

-
-
-
IAGSEngine event AGSE_PREGUIDRAW
-

(version 6 and later only)

-

triggered every frame once the room viewports have been constructed, but before the GUIs and screen overlays have been drawn over.

-

data value: ** See Note 1 below

-
-
-
IAGSEngine event AGSE_LEAVEROOM
-

(version 6 and later only)

-

triggered when the player leaves the current room, after the Player Leaves Screen event but before the screen fades out.

-

data value: old room number

-
-
-
IAGSEngine event AGSE_ENTERROOM
-

(version 6 and later only)

-

triggered when the player enters a new room, before the screen fades in.

-

data value: new room number

-
-
-
IAGSEngine event AGSE_TRANSITIONOUT
-

(version 6 and later only)

-

triggered when the screen is about to fade out as the player changes rooms. If you return 1, AGS will not perform its screen transition.

-

data value: (unused, currently 0)

-
-
-
IAGSEngine event AGSE_TRANSITIONIN
-

(version 6 and later only)

-

triggered when the screen is about to fade in as the player changes rooms. If you return 1, AGS will not perform its screen transition.

-

data value: (unused, currently 0)

-
-
-
IAGSEngine event AGSE_FINALSCREENDRAW
-

(version 12 and later only)

-

triggered every frame after the mouse cursor is painted and immediately before the game is presented on the screen.

-

data value: ** See Note 1 below

-
-
-
IAGSEngine event AGSE_TRANSLATETEXT
-

(version 12 and later only)

-

triggered whenever there is some in-game text that might need translating. If you return 0, AGS will translate it as usual; otherwise, you can return a char * pointer with the replacement text (the return pointer must point to some static memory since AGS does not take a copy)

-

data value: the text to translate (cast this parameter to const char *)

-
-
-
IAGSEngine event AGSE_SCRIPTDEBUG
-

(version 13 and later only)

-

triggers the AGS_ EngineDebugHook function every time the game script advances to a new line.

-

data value: N/A

-
-
-
IAGSEngine event AGSE_SPRITELOAD
-

(version 18 and later only)

-

triggered whenever a sprite is loaded into memory. This allows you to modify sprites as soon as they are loaded into the sprite cache. Do not attempt to access any other sprites from this event, since the sprite cache may be in an inconsistent state.

-

data value: sprite number

-
-
-
IAGSEngine event AGSE_PRERENDER
-

(version 21 and later only)

-

triggered every frame after the game logic has run but before anything is drawn.

-

data value: (unused, currently 0)

-
-
-
IAGSEngine event AGSE_PRESAVEGAME
-

(version 24 and later only)

-

triggered just before a save game is created. The script engine is still working at this point, so you can perform any tasks that you need to prior to the game data being saved

-

data value: (unused, currently 0)

-
-
-
IAGSEngine event AGSE_POSTRESTOREGAME
-

(version 24 and later only)

-

triggered after a save game has been restored. By the time this event occurs, all the game data has been restored and the script engine is operational again.

-

data value: (unused, currently 0)

-
-
-
IAGSEngine event AGSE_POSTROOMDRAW
-

(version 26 and later only)

-

triggered every frame per each room camera once the room contents have been drawn. This event allows to draw over whole room graphic layer.

-

data value: ** See Note 1 below

-

NOTE: Each frame (or game loop), AGS redraws the screen from scratch. The sequence is as follows:

-
    -
  1. Call AGSE_PRERENDER

  2. -
  3. Update in-memory cache of current character and object images

  4. -
  5. Begin constructing scene (Direct3D renderer calls BeginScene)

  6. -
  7. Per each room viewport-camera pair:

    -

    4.1. Draw current background scene
    4.2. Call AGSE_PRESCREENDRAW
    4.3. Draw room objects, characters and room overlays
    4.4 Call AGSE_POSTROOMDRAW

  8. -
  9. Call AGSE_PREGUIDRAW

  10. -
  11. Draw GUIs and screen overlays

  12. -
  13. Call AGSE_POSTSCREENDRAW

  14. -
  15. Draw mouse cursor and finalize.

  16. -
  17. Call AGSE_FINALSCREENDRAW

  18. -
  19. Ends constructing scene and presents new frame on screen (Direct3D renderer calls EndScene)

  20. -
-

** Note 1: The data parameter to these events is 0 when using the Software driver; when using the D3D9 driver it is a pointer to the IDirect3DDevice9 that is currently being used for rendering. You can render extra primitives by calling all the normal methods on this interface.
-(Interface version 20 and above only).

-

Added in version: 2

-
-
-
-

IAGSEngine.GetSavedData

-
int GetSavedData (char *buffer, int bufsize);
-

Gets the plugin data that was originally saved with AGS_EditorSaveGame. If your plugin had options that the user could set in the editor, this is how to retrieve them.

-

buffer is a byte array of bufsize, which the engine will copy the saved data into. It returns the number of bytes actually used.

-

Added in version: 2

-
-
-

IAGSEngine.GetVirtualScreen

-
BITMAP * GetVirtualScreen ();
-

Returns a reference to the virtual screen bitmap (as an Allegro BITMAP) which you may draw upon.

-

There's a lot of difference depending on a active graphics renderer. If the game is being run using Software renderer, then this function will return the actual virtual screen of the game, with all the game frame drawn on it. In such case you might both "read" game frame's contents from it, and perform blending by combining pixels of your images with the game's image underneath.

-

On the other hand, if this is a texture-based renderer (Direct3D, OpenGL), then this function will return a "stage screen", which is an empty screen filled with nothing but transparent pixels. After you are done drawing on it, this "stage screen" will be added to the collection of textures to be rendered. The position of this texture among other sprites depends on the render stage event you called this function upon, such as AGSE_PRESCREENDRAW, AGSE_PREGUIDRAW and so forth.

-

Added in version: 3

-
-
-

IAGSEngine.GetRawBitmapSurface

-
unsigned char ** GetRawBitmapSurface (BITMAP *bmp);
-

Gets a reference to the linear bank of memory that contains the surface of bmp. This allows you to directly plot pixels and so forth, simply by writing to the surface as an array.

-

This function locks the surface for you, which means you must call ReleaseBitmapSurface to release it when you are done. Failure to do so will most likely hang the engine.

-

IMPORTANT: If the bitmap color depth is 15/16 bit, the return value should be cast to unsigned short**.
-If the bitmap color depth is 32 bit, the return value should be cast to unsigned long**.
-If the bitmap color depth is 24 bit, the return value needs to be accessed in blocks of 3 bytes. The best method of doing this is left up to you.

-

IMPORTANT: If you change any areas of the virtual screen bitmap via this raw surface, you should call MarkRegionDirty with the affected area, so that AGS redraws that part of the screen.

-

IMPORTANT: Be careful when using this surface, since writing outside it will crash the engine. Make sure you use GetBitmapDimensions to find out how big the bitmap is.

-

IMPORTANT: This function cannot be used with the real screen bitmap - it can only be used with the virtual screen and any other bitmaps you may have access to.

-

Added in version: 3

-
-
-

IAGSEngine.ReleaseBitmapSurface

-
void ReleaseBitmapSurface (BITMAP *bmp);
-

Releases a bitmap previously locked with GetRawBitmapSurface.

-

Added in version: 3

-
-
-

IAGSEngine.GetScreenDimensions

-
void GetScreenDimensions (int *width, int *height, int *coldepth);
-

Fills in the supplied variables with the game's native screen resolution. You can pass any of the parameters as NULL if you don't want to know them. Color depth is reported in bits (8, 16 or 32).

-

NOTE: this is native resolution of the game, NOTE the final display mode. For example, 320x200 games may be run scaled up to 1920x1080, and 8-bit and 16-bit games may be displayed in 32-bit display mode. This function only tells the game's internal parameters, and therefore is mostly useful if your plugin is doing drawing over a "virtual screen" bitmap (see GetVirtualScreen()).

-

Added in version: 3

-
-
-

IAGSEngine.DrawText

-
void DrawText (int x, int y, int font, int color, char *text);
-

Writes the string text to the current virtual screen at (x, y), using game font number font in color color.

-

NOTE: The x and y parameters are in actual screen co-ordinates, unlike the text script commands which always use 320-scale co-ordinates. You will need to use GetScreenDimensions and multiply up the co-ordinates accordingly if you wish to draw to a specific location.

-

Added in version: 3

-
-
-

IAGSEngine.GetMousePosition

-
void GetMousePosition (int *x, int *y);
-

Fills the supplied variables with the current mouse cursor co-ordinates. Note that these are real screen size co-ordinates, and so at 640x480 resolution these variables can go up to 640 and 480, unlike the text script system.

-

Added in version: 3

-
-
-

IAGSEngine.GetBitmapDimensions

-
void GetBitmapDimensions (BITMAP *bmp, int *width, int *height, int *coldepth);
-

Fills in the supplied integer variables with the properties of the specified bitmap. You can pass any of the last three parameters as NULL if you don't want to know them.

-

width is the width of the bitmap, in pixels. height is the height of the bitmap, in pixels. coldepth is the color depth of the bitmap. Note that this is not necessarily the same as the game color depth, since it is possible to use 256-color backgrounds in a hi-color game. Before doing any direct bitmap drawing, you should check this to make sure that you cast the pointer correctly.

-

Added in version: 4

-
-
-

IAGSEngine.GetNumBackgrounds

-
int GetNumBackgrounds ();
-

Returns the number of background frames that the current room has (a normal room will return 1).

-

Added in version: 4

-
-
-

IAGSEngine.GetCurrentBackground

-
int GetCurrentBackground ();
-

Returns the number of the currently displayed background frame. (0 is the default frame, 1 the first animated background, and so forth).

-

Added in version: 4

-
-
-

IAGSEngine.GetBackgroundScene

-
BITMAP * GetBackgroundScene (int frame);
-

Returns a reference to the specified background frame (0 is the default frame, 1 the first animated background, and so on).

-

Added in version: 4

-
-
-

IAGSEngine.GetCurrentRoom

-
int GetCurrentRoom ();
-

Returns the room number that the game is currently in.

-

Added in version: 4

-
-
-

IAGSEngine.FRead

-
int FRead (void *buffer, int length, int handle);
-

Similar to the C function fread, this reads length bytes of buffer from file handle, returning the number of bytes actually read. The handle you use here must have been passed to you by AGS. For any other I/O, you can simply use the standard C functions.

-

Added in version: 5

-
-
-

IAGSEngine.FWrite

-
int FWrite (void *buffer, int length, int handle);
-

Similar to the C function fwrite, this writes length bytes of buffer to file handle, returning the number of bytes actually written. The handle you use here must have been passed to you by AGS. For any other I/O, you can simply use the standard C functions.

-

Added in version: 5

-
-
-

IAGSEngine.SetVirtualScreen

-
void SetVirtualScreen (BITMAP *bmp);
-

Sets bmp as the current virtual screen, so that all drawing routines will draw onto it. You should restore the virtual screen to its original setting before returning from your plugin function. (Use GetVirtualScreen first to save the old reference).

-

Added in version: 5

-
-
-

IAGSEngine.DrawTextWrapped

-
void DrawTextWrapped (int x, int y, int width, int font, int color, const char *text);
-

Prints text to the current virtual screen at (x, y), using width pixels wide to do so, wrapping the text to ensure it does not exceed the width.

-

Added in version: 5

-
-
-

IAGSEngine.BlitBitmap

-
void BlitBitmap (int x, int y, BITMAP *bmp, int masked);
-

Draws graphic bmp to the current virtual screen at (x,y).
-If masked is 0, the image is copied straight across.
-If masked is 1, then transparent pixels are skipped.

-

Added in version: 5

-
-
-

IAGSEngine.LookupParserWord

-
int LookupParserWord (const char *word);
-

Checks the text parser dictionary for word, and returns its word number. All synonyms of a word have the same word number, as shown in the Text Parser pane in the AGS Editor.
-Returns -1 if the word was not in the dictionary.

-

Added in version: 5

-
-
-

IAGSEngine.PollSystem

-
void PollSystem ();
-

Updates the internally stored mouse co-ordinates, and checks for mouse clicks and keypresses (and triggers the relevant plugin events). Also runs the music decoder to make sure that there is enough data to play.

-

Call this function if you have a long plugin function which takes more than half a second to execute, or if you need to get mouse and keypress events while still inside your function.

-

NOTE: AGS is single-threaded; this means that any background music has to be played by updating the buffer at regular intervals. Therefore, if your function takes a while to execute you should call this to make sure the music doesn't skip.

-

Added in version: 5

-
-
-

IAGSEngine.GetNumCharacters

-
int GetNumCharacters ();
-

Returns the number of characters in the current game. Valid character ID's range from 0 to the return value minus 1.

-

Added in version: 6

-
-
-

IAGSEngine.GetCharacter

-
AGSCharacter * GetCharacter (int charid);
-

Returns the character state struct for character charid. This struct is documented in the header file, but is mostly identical to the character[] text script variable.

-

IMPORTANT: Beware when modifying character state structs. There are some caveats to watch out for, such as altering the X and Y values while the character is moving.
-Also, remember that all view numbers stored are 1 less than the numbers shown in the editor and used in the text script.

-

Added in version: 6

-
-
-

IAGSEngine.GetGameOptions

-
AGSGameOptions * GetGameOptions ();
-

Returns a reference to the game state structure. This is similar to the text script game. variables.

-

NOTE: One handy member here is the AGSGameOptions.fast_forward variable. This is set to 1 while a cut-scene is being skipped, so if you have any lengthy graphical effects you should not perform them if this is set. All operations which update any game state must still be performed however, or skipping the cut-scene will desync the game.

-

Added in version: 6

-
-
-

IAGSEngine.GetPalette

-
AGSColor * GetPalette ();
-

Returns a reference to the current palette. This is an array of 256 elements of the AGSColor struct.

-

NOTE: In a game with animating backgrounds, the palette can change quite often, so you should generally only rely on the palette remaining consistent for the length of your function.

-

Added in version: 6

-
-
-

IAGSEngine.SetPalette

-
void SetPalette (int start, int finish, AGSColor *palette);
-

Sets the current screen palette to palette, which must be an array of 256 AGSColor structs. The elements from start to finish are updated. Pass start as 0 and finish as 255 to update the entire palette.

-

Added in version: 6

-
-
-

IAGSEngine.GetPlayerCharacter

-
int GetPlayerCharacter ();
-

Returns the number of the current player character.

-

Added in version: 7

-
-
-

IAGSEngine.GetNumObjects

-
int GetNumObjects ();
-

Returns the number of objects in the current room.

-

Added in version: 7

-
-
-

IAGSEngine.GetObject

-
AGSObject * GetObject (int number);
-

Returns the state structure for object number.

-

IMPORTANT: Unlike the character structs, object state pointers are not constant throughout the game. Any time the room changes, these structs get reallocated. Therefore, do not keep a pointer that you get with this command after your function ends.

-

Added in version: 7

-
-
-

IAGSEngine.RoomToViewport

-
void RoomToViewport (int *x, int *y);
-

Converts the room co-ordinates (x, y) into current viewport co-ordinates. The input co-ordinates are room co-ordinates using the 320x200-style scheme that the text script uses and that object and character co-ordinates are stored as.

-

When you call this function, the variables you pass will be converted to hold the equivalent viewport co-ordinates. These are real resolution-sized co-ordinates within the current viewable area of the screen.

-

NOTE: You should check the resulting co-ordinates with the screen size to determine whether they are currently visible on the screen.

-

Added in version: 7

-
-
-

IAGSEngine.ViewportToRoom

-
void ViewportToRoom (int *x, int *y);
-

Converts the viewport co-ordinates (x, y) into room co-ordinates. The input co-ordinates are screen resolution scale co-ordinates within the current viewable area of the room.

-

When you call this function, the variables you pass will be converted to hold the equivalent room co-ordinates, such as stored in the character and object structs, and used in the text script.

-

Added in version: 7

-
-
-

IAGSEngine.GetSpriteGraphic

-
BITMAP * GetSpriteGraphic (int slot);
-

Returns the bitmap with the graphic for sprite slot number slot.

-

NOTE: This method will automatically load the sprite from disk into the sprite cache if it is not already present.

-

IMPORTANT: The AGS Sprite Cache may destroy any sprite from memory at any time. Therefore, never keep a pointer obtained with this command. Always call this method again if you need to perform multiple operations with the bitmap.

-

Added in version: 7

-
-
-

IAGSEngine.CreateBlankBitmap

-
BITMAP * CreateBlankBitmap (int width, int height, int coldepth);
-

Creates a blank bitmap sized width x height pixels at coldepth-bit color. The bitmap will initially be filled with the transparent color for the color depth.

-

Returns NULL if the bitmap could not be created. You should always check the return value to avoid crashes.

-

NOTE: To draw onto the bitmap either use GetRawBitmapSurface, or the SetVirtualScreen command followed by one of the drawing commands such as DrawText or BlitBitmap.

-

IMPORTANT: The bitmap will remain in memory until you explicitly free it with FreeBitmap. Use this command sparingly, as each bitmap you create eats into the engine's available memory.

-

Added in version: 7

-
-
-

IAGSEngine.FreeBitmap

-
void FreeBitmap (BITMAP *bmp);
-

Frees the bitmap bmp from memory.

-

IMPORTANT: Only use this command with bitmaps you created with CreateBlankBitmap. Using it with an AGS system bitmap, such as one obtained with GetVirtualScreen, GetScreen or GetSpriteGraphic will crash the engine.

-

Added in version: 7

-
-
-

IAGSEngine.GetRoomMask

-
BITMAP * GetRoomMask (int which);
-

Returns a reference to the requested mask for the current room. which is one of the following values: MASK_WALKABLE
-MASK_WALKBEHIND
-MASK_HOTSPOT
-MASK_REGIONS

-

The walk-behind mask is exactly the same size as the room. The walkable area, hotspot and region masks can be the size of the current room if a Mask Resolution of 1:1 was set in the Editor when making the game, but it can be smaller if a different resolution was set.

-

All of the masks are bitmaps with 8-bit color depth, irrespective of what color depth the game is running at.

-

IMPORTANT: The area masks are re-allocated when the player changes rooms, so do not keep a pointer returned by this function longer than you need it.

-

Added in version: 8 (MASK_REGIONS requires version 11).

-
-
-

IAGSEngine.GetViewFrame

-
AGSViewFrame* GetViewFrame (int view, int loop, int frame);
-

Returns the view frame structure for the specified frame. view is the number you get from the editor (that's used in Character.ChangeView and so forth), not the view minus 1.

-
    -
  • Interface version 10 and later: If frame is not valid (e.g. there aren't that many frames in the specified loop), returns NULL.
  • -
  • Interface version 9: If frame is not valid (e.g. there aren't that many frames in the specified loop), AGS will exit with an error message.
  • -
-

If view or loop are invalid, AGS will exit with an error message.

-

Added in version: 9

-
-
-

IAGSEngine.GetWalkbehindBaseline

-
int GetWalkbehindBaseline (int area);
-

Returns the baseline for walk-behind area number area. This is always in character-resolution, i.e. the maximum value is 200 in all resolutions.

-

Added in version: 9

-
-
-

IAGSEngine.GetScriptFunctionAddress

-
void* GetScriptFunctionAddress (const char *funcName);
-

Returns the memory address of the text script exported function funcName. This allows you to call any of the functions which AGS makes available to the text scripts.

-

Returns NULL if you specify a function that doesn't exist.

-

The funcName is formed using following syntax:

-
    -
  • For regular, global functions: FunctionName^N;
  • -
  • For struct's member functions: StructName::FunctionName^N;
  • -
  • For struct's attribute: StructName::get_AttributeName, StructName::set_AttributeName.
  • -
  • For struct's indexed (array) attribute: StructName::geti_AttributeName, StructName::seti_AttributeName.
  • -
-

The ^N suffix is specifying the expected number of arguments, and is useful if there are several variants of the same function with shorter and longer argument list. It may be omitted, but that is only safe if the script function does not have variants.

-

Attribute's getters and setters do not need ^N, because their argument list is always exact:

-
    -
  • Regular attribute's getter has no args; setter has 1 arg: the new value;
  • -
  • Indexed attribute's getter has 1 arg, which is the index; setter has 2 args: the index and the new value.
  • -
-

IMPORTANT: You must cast the result to the correct function type in order to call it - i.e. you must know how many parameters the function expects, and call it appropriately. Failure to do so will corrupt the stack and likely crash the engine.

-

IMPORTANT: If you specify the name of an actual function in the script, for example repeatedly_execute, it will return an address - however, this will be a script address and attempting to call it will crash the game. Only use this feature to obtain the address of AGS's script functions as documented in the manual.

-

Added in version: 9

-
-
-

IAGSEngine.GetBitmapTransparentColor

-
int GetBitmapTransparentColor (BITMAP *bmp);
-

Returns the pixel color which is skipped when rendering the bitmap. This is 0 in 256-color bitmaps and RGB (255,0,255) in hi-color bitmaps, so this function returns the pixel value to check for if you need to know.

-

Added in version: 9

-
-
-

IAGSEngine.GetAreaScaling

-
int GetAreaScaling (int x, int y);
-

Returns the walkable area scaling level at the specified co-ordinates. This ranges from 5 to 200, and specifies the scaling percentage, as set in the editor. The co-ordinates are specified as room co-ordinates.

-

Added in version: 9

-
-
-

IAGSEngine.IsGamePaused

-
int IsGamePaused ();
-

Equivalent to the text script IsGamePaused function. This returns non-zero if the game is paused, or 0 if it is not paused.

-

Added in version: 9

-
-
-

IAGSEngine.GetRawPixelColor

-
int GetRawPixelColor (int color);
-

Converts color, as specified in the AGS Editor, to the appropriate raw pixel color for the current graphics mode.

-

If the user is running 8-bit color, the value is returned unchanged.

-

If the user is running 16-bit color, the value is returned unchanged unless it is less than 32, in which case it is converted to be the appropriate locked color from the editor.

-

If the user is running 15-bit color, the value is converted to an appropriate 15-bit RGB pixel value.

-

Added in version: 10

-
-
-

IAGSEngine.GetSpriteWidth

-
int GetSpriteWidth (int slot);
-

Returns the width, in pixels, of sprite number slot.

-

This is faster than using GetBitmapDimensions with GetSpriteGraphic, since the image does not need to be retrieved from the sprite cache.

-

Added in version: 11

-
-
-

IAGSEngine.GetSpriteHeight

-
int GetSpriteHeight (int slot);
-

Returns the height, in pixels, of sprite number slot.

-

This is faster than using GetBitmapDimensions with GetSpriteGraphic, since the image does not need to be retrieved from the sprite cache.

-

Added in version: 11

-
-
-

IAGSEngine.GetTextExtent

-
void GetTextExtent (int font, const char *text, int *width, int *height);
-

Calculates the width and height, in pixels, of displaying text in game font number font.

-

width or height can be NULL if you only want to know the other one.

-

Added in version: 11

-
-
-

IAGSEngine.PrintDebugConsole

-
void PrintDebugConsole (const char *message);
-

Prints message to the in-game debug console (which the user can pop up with the ~ key).

-

The debug console is designed to help the user find problems by tracing through what's happening in the game - so do not pump messages out to this debug console too quickly or they will scroll past too fast for the user to read. Use the console to say one-off events like "Requested move character to X,Y" and so forth.

-

Added in version: 11

-
-
-

IAGSEngine.IsChannelPlaying

-
int IsChannelPlaying (int channel);
-

Equivalent to the text script function of the same name, returns 1 if the channel is currently in use, 0 if not.

-

Added in version: 11

-
-
-

IAGSEngine.PlaySoundChannel

-
void PlaySoundChannel (int channel, int soundType, int volume, int loop, const char *filename);
-

Plays a new sound on the sound channel number channel. volume can be from 0 to 255, loop is 0 or 1.

-

soundType determines which sound driver is used to load the file:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
soundType
PSND_WAVEUncompressed .WAV file
PSND_MP3STREAMMP3, streamed from disk
PSND_MP3STATICMP3, loaded into memory before playing
PSND_OGGSTREAMOGG, streamed from disk
PSND_OGGSTATICOGG, loaded into memory before playing
PSND_MIDIMIDI file
PSND_MODMOD/XM/S3M file
-

NOTE: You should normally just use the AudioClip.Play function (via GetScriptFunctionAddress) to play sounds - only use this function in specific circumstances.

-

IMPORTANT: Only one MIDI file, and one MOD/XM file can be playing at a time. You should generally keep away from these two sound types unless you are sure about what you are doing.

-

Added in version: 11

-
-
-

IAGSEngine.MarkRegionDirty

-
void MarkRegionDirty(int left, int top, int right, int bottom);
-

Marks the rectangle (left, top) - (right, bottom) on the virtual screen as dirty. Use this if you make any changes to the virtual screen via its raw bitmap surface, to tell AGS to repaint that area of the screen.

-

NOTE: All engine API functions such as DrawText and BlitBitmap call this automatically, so you only need to call it if you manually modify the bitmap surface.

-

Added in version: 12

-
-
-

IAGSEngine.GetMouseCursor

-
AGSMouseCursor* GetMouseCursor(int cursor);
-

Returns the mouse cursor struct which AGS uses to store details about the specified cursor mode.

-

IMPORTANT: The returned struct is read-only. You should not modify any members of it directly; rather, call the script functions such as Mouse.ChangeModeGraphic which ensure that the game state is updated properly.

-

Added in version: 12

-
-
-

IAGSEngine.GetRawColorComponents

-
void GetRawColorComponents(int coldepth, int color,int *red, int *green, int *blue, int *alpha);
-

Given a raw color (from a bitmap's raw surface, or from GetRawPixelColor) at a given color depth, returns the red, green, blue and alpha components, as values from 0-255.

-

You can pass any of the pointers as NULL if you don't want to know that value. The alpha value only has meaning for 32-bit pixels; for all other color depths, it will just be returned as 0.

-

Added in version: 12

-
-
-

IAGSEngine.MakeRawColorPixel

-
int MakeRawColorPixel(int coldepth, int red, int green, int blue, int alpha);
-

Given a color depth, and RGB values (from 0-255), this function returns the raw pixel value needed to display the requested color on a bitmap of coldepth bits per pixel.

-

The alpha value is only meaningful for 32-bit color alpha channel bitmaps, and it allows you to set the alpha value for the pixel. For bitmaps without an alpha channel, pass alpha as 0.

-

Added in version: 12

-
-
-

IAGSEngine.GetFontType

-
int GetFontType(int fontNum);
-

Returns what type of font fontNum is, as one of the following values:

- - - - - - - - - - - - - - - - - - - - - -
valuedescription
FNT_INVALIDinvalid font number supplied
FNT_SCIfont is a SCI font
FNT_TTFfont is a TTF font
-

Added in version: 12

-
-
-

IAGSEngine.CreateDynamicSprite

-
int CreateDynamicSprite(int coldepth, int width, int height);
-

Creates a new dynamic sprite with the supplied color depth, width and height. A dynamic sprite is not controlled by the AGS Sprite Cache, and so is not removed from memory until you manually call DeleteDynamicSprite. Thus, you can write to its bitmap surface without a problem.

-

You must remember to free the memory when you are done with the sprite, by calling DeleteDynamicSprite.

-

Returns 0 if the sprite could not be created, or the sprite slot number on success.

-

Added in version: 12

-
-
-

IAGSEngine.DeleteDynamicSprite

-
void DeleteDynamicSprite(int slot);
-

Removes the previously created dynamic sprite from memory. It can no longer be used in the game.

-

Added in version: 12

-
-
-

IAGSEngine.IsSpriteAlphaBlended

-
int IsSpriteAlphaBlended(int slot);
-

Determines whether the supplied sprite has an alpha channel or not. Returns 1 if it does, 0 if it does not.

-

This function is useful for determining whether you can ignore the alpha value when doing raw bitmap manipulations. If a sprite does have an alpha channel, you cannot ignore it since the default alpha value of 0 means totally invisible and the pixel would disappear.

-

Only 32-bit bitmaps can have an alpha channel. For all other color depths, this function will always return 0.

-

Added in version: 12

-
-
-

IAGSEngine.UnrequestEventHook

-
void UnrequestEventHook(int event)
-

Tells the engine not to call this plugin any longer when the specified event occurs. The values of event are the same as for RequestEventHook.

-

This is useful to call for performance reasons if you no longer require notification of an event.

-

Added in version: 13

-
-
-

IAGSEngine.BlitSpriteTranslucent

-
void BlitSpriteTranslucent(int x, int y, BITMAP *spr, int trans);
-

Draws graphic spr to the current virtual screen at (x,y), with translucency over the background.

-

trans is the translucency level, from 0 to 255 (where 0 is fully transparent, and 255 is fully opaque). Pixels in the bitmap's transparent color are skipped completely.

-

Added in version: 13

-
-
-

IAGSEngine.BlitSpriteRotated

-
void BlitSpriteRotated(int x, int y, BITMAP *spr, int angle);
-

Draws graphic spr to the current virtual screen at (x,y), but rotated to angle. Pixels in the bitmap's transparent color are skipped completely.

-

The sprite is positioned with its upper-left corner at (x,y), then it is rotated about its center by angle. The angle is specified as a number from 0 to 255, where 128 would turn it 180 degrees, and 64 would turn it 90 degrees.

-

Added in version: 13

-
-
-

IAGSEngine.GetDirectSound

-
LPDIRECTSOUND GetDirectSound();
-

IMPORTANT: This function is only supported on Windows.

-

Returns the main IDirectSound interface that the engine is using. This command does not AddRef the pointer it returns, so you don't need to Release it.

-

This function returns NULL if sound is disabled, or if the player is using the WaveOut driver rather than the DirectSound one.

-

Added in version: 14

-
-
-

IAGSEngine.DisableSound

-
void DisableSound();
-

Disables AGS's sound system completely. Use this if you want your plugin to take over all audio functionality.

-

Added in version: 14

-
-
-

IAGSEngine.CanRunScriptFunctionNow

-
int CanRunScriptFunctionNow();
-

Determines whether a game script function can be run now. Returns 0 if there is currently a script running, or 1 if there isn't.

-

Added in version: 14

-
-
-

IAGSEngine.CallGameScriptFunction

-
int CallGameScriptFunction(const char *name, int globalScript, int numArgs, int arg1 = 0, int arg2 = 0, int arg3 = 0);
-

Runs a script function in the game's script. name is the name of the function to call. If globalScript is 1, it will call the function in the global script; if it is 0, the function will be run in the room script.

-

numArgs specifies how many arguments the function takes - this can be from 0 to 3. The following parameters then allow you to pass the contents of the function parameters. They are all 32-bit ints, so the user should declare their script function as taking int parameters.

-

This function returns 0 on success, and a non-zero value otherwise. This will always fail when CanRunScriptFunctionNow returns 0.

-

Added in version: 14

-
-
-

IAGSEngine.QueueGameScriptFunction

-
void QueueGameScriptFunction(const char *name, int globalScript, int numArgs, int arg1 = 0, int arg2 = 0);
-

Queues a script function to be run in the game's script. name is the name of the function to call. If globalScript is 1, it will call the function in the global script; if it is 0, the function will be run in the room script.

-

numArgs specifies how many arguments the function takes - this can be from 0 to 2. The following parameters then allow you to pass the contents of the function parameters. They are all 32-bit ints, so the user should declare their script function as taking int parameters.

-

If no scripts are currently running, the requested script will be run straight away. If there are scripts running, however, then the requested script will be queued up to run when the current one finishes.

-

Added in version: 15

-
-
-

IAGSEngine.NotifySpriteUpdated

-
void NotifySpriteUpdated(int slot);
-

Notifies the engine that the specified sprite has been updated by the plugin. You would call this if you changed the contents of a dynamic sprite, to make sure that the screen is updated to reflect your changes.

-

Added in version: 15

-
-
-

IAGSEngine.SetSpriteAlphaBlended

-
void SetSpriteAlphaBlended(int slot, int isAlphaBlended);
-

Allows you to specify whether the sprite is alpha blended or not. This allows you to create dynamic 32-bit RGBA sprites. Pass isAlphaBlended as 1 to enable the sprite's alpha channel, or pass it as 0 to disable the alpha channel.

-

IMPORTANT: This function should only be used with 32-bit dynamic sprites. Using it with sprites of lower color depths, or of sprites created in the AGS Editor, can have unpredictable results.

-

Added in version: 15

-
-
-

IAGSEngine.RegisterManagedObject

-
int RegisterManagedObject(const void *object, IAGSScriptManagedObject *callback);
-

Registers a new managed object with the script engine. object points to the actual object itself, and callback points to the class implementing the IAGSScriptManagedObject interface, which will be called to perform operations on the object.

-

callback and object can, but do not have to, point to the same thing (i.e. it is possible to have the actual object implement the interface; but if you do so, beware that you should not expose any normal variables from the class due to the vtable occupying the first part of the memory).

-

The object is added to the managed object pool, with a reference count of zero. Once this function has been called, object can be returned to the script and will be automatically picked up by the script engine.

-

See further down this page for a description of the IAGSScriptManagedObject interface.

-

From engine interface version 16 and later, this function returns the managed pool key for the object. You will not normally need this, but it can be useful to link a parent and child object if your structure is complex.

-

Added in version: 15

-
-
-

IAGSEngine.AddManagedObjectReader

-
void AddManagedObjectReader(const char *typeName, IAGSManagedObjectReader *reader);
-

Registers the specified managed object type with the script engine, and supplies an IAGSManagedObjectReader, which provides the functionality for de-serializing objects of that type. This is used when the user restores a save game, in order to recreate any managed objects that were in existence when the game was saved.

-

See further down this page for a description of the IAGSManagedObjectReader interface.

-

IMPORTANT: AGS only keeps a pointer to typeName and does not copy the string, so make sure you do not supply a temporary or local variable as the type name.

-

Added in version: 15

-
-
-

IAGSEngine.RegisterUnserializedObject

-
void RegisterUnserializedObject(int key, const void *object, IAGSScriptManagedObject *callback);
-

Used from within the IAGSManagedObjectReader, this function re-registers a managed object after it has been read back from disk (for example, when the player restores a save game).

-

The key parameter is the object's key, supplied to the ObjectReader, which allows AGS to match up the object internally. You should pass the key in here exactly as it is passed to the ObjectReader.

-

Added in version: 15

-
-
-

IAGSEngine.GetManagedObjectKeyByAddress

-
int GetManagedObjectKeyByAddress(const char *address);
-

Gets the managed pool key of the specified object address. You will not normally need to use this function, however it can be useful to link up related objects after de-serialization.

-

Returns -1 if there is no such object in the pool.

-

This function is quite slow so you should avoid using it wherever possible.

-

Added in version: 16

-
-
-

IAGSEngine.GetManagedObjectAddressByKey

-
void* GetManagedObjectAddressByKey(int key);
-

Gets the memory address of the specified object from the managed pool. You will not normally need to use this function, however it can be useful to link up related objects after de-serialization.

-

Returns NULL if the key is invalid.

-

Added in version: 16

-
-
-

IAGSEngine.CreateScriptString

-
const char * CreateScriptString(const char *fromText);
-

Creates a new script String object, containing a copy of fromText. This allows you to declare your plugin functions as returning a String - simply return the result of CreateScriptString to the calling script.

-

The new string becomes part of the AGS Managed Object Pool and will be freed automatically when there are no longer any script references to it. Note that it creates a copy of fromText, so it is safe for you to free the contents of fromText after calling this function.

-

Added in version: 17

-
-
-

IAGSEngine.IncrementManagedObjectRefCount

-
int IncrementManagedObjectRefCount(const char *address);
-

Increments the reference count of the specified object in the managed object pool. This should be used if you are storing a reference to a managed object between script function calls, in order to ensure that the object does not get deleted.

-

Returns the new reference count of the object.

-

IMPORTANT: Be very careful when using this function. If you adjust the reference count incorrectly, you could cause a memory leak or the game could crash.

-

Added in version: 18

-
-
-

IAGSEngine.DecrementManagedObjectRefCount

-
int DecrementManagedObjectRefCount(const char *address);
-

Decrements the reference count of the specified object in the managed object pool. This should be used if you are storing a reference to a managed object between script function calls, in order to ensure that the object does not get deleted.

-

Returns the new reference count of the object.

-

IMPORTANT: Be very careful when using this function. If you adjust the reference count incorrectly, you could cause a memory leak or the game could crash.

-

Added in version: 18

-
-
-

IAGSEngine.SetMousePosition

-
void SetMousePosition(int x, int y);
-

Changes the mouse cursor position to (x,y). As with GetMousePosition, these co-ordinates are specified in real resolution units, so in a 640x480 game the co-ordinates do go up to 640,480 (unlike the script function of the same name).

-

Added in version: 18

-
-
-

IAGSEngine.SimulateMouseClick

-
void SimulateMouseClick(int button);
-

Simulates the mouse being clicked by the player. button is which mouse button (1=left, 2=right, 3=middle) to simulate. The effect should be identical to the user clicking the equivalent button on their mouse.

-

Added in version: 18

-
-
-

IAGSEngine.GetMovementPathWaypointCount

-
int GetMovementPathWaypointCount(int pathId);
-

Gets the number of waypoints on the specified movement path.

-

The GetMovementPath family of functions allow you to access the paths for moving characters and objects in the game; and therefore allow you to anticipate where they will end up. The pathId is the value found in the AGSCharacter.walking and AGSObject.moving variables (but only if these variables are greater than 0; 0 or less means they are not moving).

-

Added in version: 18

-
-
-

IAGSEngine.GetMovementPathLastWaypoint

-
int GetMovementPathLastWaypoint(int pathId);
-

Gets the last waypoint that was passed on this movement path. The starting point is waypoint 0, and the destination is the WaypointCount minus 1 (though this can never be returned, since the move is marked as finished once the last waypoint is reached).

-

Added in version: 18

-
-
-

IAGSEngine.GetMovementPathWaypointLocation

-
void GetMovementPathWaypointLocation(int32 pathId, int32 waypoint, int32 *x, int32 *y);
-

Gets the X and Y co-ordinates of the specified waypoint on the specified path.

-

IMPORTANT: No error checking is done on these functions for performance reasons, so make sure you supply a valid pathId and waypoint.

-

Added in version: 18

-
-
-

IAGSEngine.GetMovementPathWaypointSpeed

-
void GetMovementPathWaypointSpeed(int32 pathId, int32 waypoint, int32 *xSpeed, int32 *ySpeed);
-

Gets the X and Y speed at which the character/object will move from the specified waypoint to the next. The speeds are returned as 32-bit fixed point numbers. This means that the high 16 bits is the whole part of the number, and the low 16 bits is the fractional part. For example, if xSpeed is 0x00038000, that would represent a speed of 3.5 pixels per frame.

-

Added in version: 18

-
-
-

IAGSEngine.IsRunningUnderDebugger

-
int IsRunningUnderDebugger();
-

Returns whether the game is currently running under the AGS Editor's debugger. If it is, then you are able to use the BreakIntoDebugger command.

-

Added in version: 22

-
-
-

IAGSEngine.BreakIntoDebugger

-
void BreakIntoDebugger();
-

Tells AGS to stop and break out into the editor's debugger. This will not happen immediately, but will happen when the next line of script code is run. This function will only work if IsRunningUnderDebugger returns 1.

-

Added in version: 22

-
-
-

IAGSEngine.GetPathToFileInCompiledFolder

-
void GetPathToFileInCompiledFolder(const char *fileName, char *buffer)
-

Fills in buffer with a path that you can use to open the specified file that resides in the Compiled folder.

-

If the game is running under the debugger, buffer will end up containing Compiled/fileName . Otherwise, buffer will simply be set to a copy of fileName.

-

You should allocate buffer at least as MAX_PATH bytes long.

-

IMPORTANT: this function is considered unsafe to use, and is deprecated since interface version 27. Prefer to use ResolveFilePath instead.

-

Added in version: 22

-
-
-

IAGSEngine.GetDirectInputKeyboard

-
LPDIRECTINPUTDEVICE GetDirectInputKeyboard();
-

IMPORTANT: This function is only supported on Windows.

-

Returns a pointer to the IDirectInputDevice interface that AGS is using to control the keyboard. This command does not AddRef the pointer it returns, so you don't need to Release it.

-

Added in version: 23

-
-
-

IAGSEngine.GetDirectInputMouse

-
LPDIRECTINPUTDEVICE GetDirectInputMouse();
-

IMPORTANT: This function is only supported on Windows.

-

Returns a pointer to the IDirectInputDevice interface that AGS is using to control the mouse. This command does not AddRef the pointer it returns, so you don't need to Release it.

-

Added in version: 23

-
-
-

IAGSEngine.ReplaceFontRenderer

-
IAGSFontRenderer* ReplaceFontRenderer(int fontNumber, IAGSFontRenderer* newRenderer)
-

Replaces the font renderer that AGS is currently using to draw the specified font with one of your own. The old renderer is returned.

-

This allows you to override AGS's built-in font rendering with your own system. For example, if you didn't want to use SCI or TTF fonts, this allows you to provide a custom implementation. See further down this page for a description of the IAGSFontRenderer interface.

-

IMPORTANT: This function is superceded by ReplaceFontRenderer2. We recommend you use the new function, and implement the IAGSFontRenderer2 interface instead.

-

Added in version: 23

-
-
-

IAGSEngine.GetRenderStageDesc

-
void GetRenderStageDesc(AGSRenderStageDesc* desc)
-

Fills the provided AGSRenderStageDesc struct with the current render stage description. AGSRenderStageDesc is declared as:

-
struct AGSRenderMatrixes {
-  float WorldMatrix[16];
-  float ViewMatrix[16];
-  float ProjMatrix[16];
-};
-
-// Render stage description
-struct AGSRenderStageDesc {
-  int Version;
-  AGSRenderMatrixes Matrixes;
-};
-

AGSRenderStageDesc's first field is Version, which must be filled by the plugin itself before calling this function. This field's value corresponds to the required engine's interface and tells which struct's fields should be assigned by the engine. It should be 25 or higher for this function to have any effect at all.

-

As of interface version 25 the only other meaningful field in AGSRenderStageDesc is Matrixes of type AGSRenderMatrixes. This is another struct that contains three arrays, 16 floating point values each. They represent three main transformation matrixes for the current render stage: World, View and Projection. The matrix format will correspond to the internal format of the current renderer that engine runs (OpenGL, Direct3D, and so on). Thus, if your plugin works with the same renderer as the engine it may safely use these matrixes with that renderer's functions.

-

NOTE: You may know which renderer is run by the engine if you call GetGraphicsDriverID.

-

NOTE: Software renderer will always fill these matrixes with zeroes.

-

NOTE: This function is only guaranteed to return useful data if you call it in one of the render stage events.

-

IMPORTANT: Plugin must fill the struct's Version field before passing it into the function.

-

Added in version: 25

-
-
-

IAGSEngine.GetGameInfo

-
void GetGameInfo(AGSGameInfo* ginfo)
-

Fills the provided AGSGameInfo struct with the game's description. AGSGameInfo is declared as:

-
// Game info
-struct AGSGameInfo {
-  // Which version of the plugin interface the struct corresponds to;
-  // this field must be filled by a plugin before passing the struct into the engine!
-  int Version;
-  // Game title (human-readable text)
-  char GameName[50];
-  // Game's GUID
-  char Guid[40];
-  // Random key identifying the game (deprecated)
-  int UniqueId;
-};
-

AGSGameInfo's first field is Version, which must be filled by the plugin itself before calling this function. This field's value corresponds to the required engine's interface and tells which struct's fields should be assigned by the engine. It should be 26 or higher for this function to have any effect at all.

-

The rest of the fields are for informational purposes. GameName is a human-readable game's title, which is displayed on the game window's caption. Its value corresponds to the Game.Name script property. Guid is a unique string identifying the game. UniqueId is a deprecated game's identifier, which was used in the older versions of AGS. It may be refered to in case Guid is empty.

-

IMPORTANT: Plugin must fill the struct's Version field before passing it into the function.

-

Added in version: 26

-
-
-

IAGSEngine.ReplaceFontRenderer2

-
IAGSFontRenderer* ReplaceFontRenderer2(int fontNumber, IAGSFontRenderer2* newRenderer)
-

Replaces the font renderer that AGS is currently using to draw the specified font with one of your own. The previously used renderer is returned.

-

This allows you to override AGS's built-in font rendering with your own custom implementation.

-

This function supercedes ReplaceFontRenderer and allows to install an extended renderer type, which implements IAGSFontRenderer2 interface (see further down this page for its description).

-

NOTE: The old renderer is still returned as a pointer to the base interface IAGSFontRenderer. This is to keep things compatible in case someone sets an old interface, so that this pointer could be used to set it back if necessary (in which case you need to use ReplaceFontRenderer). The engine is capable of detecting when the pointer refers to one of the internal renderers, and convert it as necessary. If you would like to tell if the returned pointer refers to one of the plugin's own renderers, you may do so by comparing the memory addresses, for example.

-

Added in version: 26

-
-
-

IAGSEngine.NotifyFontUpdated

-
void NotifyFontUpdated(int fontNumber)
-

Notifies the engine about the certain font being modified. This is useful when you implement your own custom font loading and rendering (see ReplaceFontRenderer2). When you tell the engine that the font has changed, it recalculates font metrics by quering the active font renderer about font's parameters, and forces game GUI to redraw.

-

Added in version: 26

-
-
-

IAGSEngine.ResolveFilePath

-
size_t ResolveFilePath(const char *script_path, char *buf, size_t buf_len);
-

Resolves a script path to a system filepath, same way as script command File.Open does. Caller should provide an output buffer and buffer's length in bytes. Returns a number of bytes written into the buffer, or 0 on failure. Passing NULL instead of a buffer pointer will make function calculate and return length necessary to store a resulting path (in bytes).

-

Added in version: 27

-
-
-

IAGSEngine.OpenFileStream

-
IAGSStream* OpenFileStream(const char *script_path, int file_mode, int work_mode);
-

Opens a data stream, resolving a script path and returns IAGSStream object pointer, or NULL on failure. Script path may contain same location tokens as script command File.Open. File mode should contain one of the AGSSTREAM_FILE_* values, work mode should contain flag set of the AGSSTREAM_MODE_* values. The returned stream object is owned by the caller, and must be deleted by calling its Dispose() method.

-

IMPORTANT: Plugin must call IAGSStream.Dispose() for streams returned by OpenFileStream() when these are no longer needed, otherwise stream objects will remain in memory undeleted.

-

File mode may be one of the following values:

-
    -
  • AGSSTREAM_FILE_OPEN - Opens existing file, fails if there's no such file.
  • -
  • AGSSTREAM_FILE_CREATE - Opens existing file, but creates one if it did not exist.
  • -
  • AGSSTREAM_FILE_CREATEALWAYS - Always creates a new blank file.
  • -
-

Work mode is a combination of following values:

-
    -
  • AGSSTREAM_MODE_READ - Stream supports reading data.
  • -
  • AGSSTREAM_MODE_WRITE - Stream supports writing data.
  • -
  • AGSSTREAM_MODE_SEEK - Stream supports seeking (that is - changing cursor position).
  • -
-

NOTE: only AGSSTREAM_MODE_READ and AGSSTREAM_MODE_WRITE are essential to be used with the OpenFileStream(). AGSSTREAM_MODE_SEEK value is ignored, and only used by IAGSStream::GetMode() to indicate seekable streams.

-

Added in version: 28

-
-
-

IAGSEngine.GetFileStreamByHandle

-
IAGSStream* GetFileStreamByHandle(int32 fhandle);
-

Returns IAGSStream object identified by the given stream handle, or NULL if handle is invalid. This lets to retrieve IAGSStream object from a handle received in a event callback, such as AGSE_SAVEGAME and AGSE_RESTOREGAME. The returned stream's ownership is NOT passed to the caller, and should be kept and used only in the duration of the event callback.

-

IMPORTANT:: A stream received from GetFileStreamByHandle() should NOT be closed or disposed, doing so will lead to errors in the engine.

-

Added in version: 28

-
-
-
-

IAGSScriptManagedObject interface

-

The IAGSScriptManagedObject interface is implemented for objects which the plugin wants to return to the game script. It allows a callback mechanism for AGS to request various operations on the object. You must implement the following:

-
-

IAGSScriptManagedObject.Dispose

-
int Dispose(const char *address, bool force);
-

Called when the reference count of the specified object reaches zero. The address parameter points to the particular object that is no longer referenced.

-

If force is zero, then you are merely being informed that the reference count has reached zero. Either you can destroy the object (in which case you should return 1), or you can leave it (return 0). If you leave it, then this function will be called again at various intervals to give you another opportunity to destroy the object.

-

If force is non-zero, then this is the object's last chance to free its memory and it will not be called again. This is the case if the player is about to restore a saved game, or is quitting the game, and so forth.

-

You must return 1 from this function if you destroy the object at address - in which case, it will be removed from the managed object pool. Return 0 if you do not destroy the object, in which case it will stick around.

-

Added in version: 15

-
-
-

IAGSScriptManagedObject.GetType

-
const char* GetType();
-

Returns the type name of the object. This must match the type name supplied to AddManagedObjectReader for the corresponding reader.

-

Added in version: 15

-
-
-

IAGSScriptManagedObject.Serialize

-
int Serialize(const char *address, char *buffer, int bufsize);
-

Called when the player saves the game. You must write any persistent data for the object at address into the supplied buffer. The buffer is bufsize bytes long, and you must not write any more data than that.

-

You must return the number of bytes written to the buffer.

-

Added in version: 15

-
-
-
-

IAGSManagedObjectReader interface

-

The IAGSManagedObjectReader interface is implemented for each managed object type, to enable the objects to be reconstructed after being read back from disk. You must implement the following:

-
-

IAGSManagedObjectReader.Unserialize

-
void Unserialize(int key, const char *serializedData, int dataSize);
-

Called for each managed object when a saved game is restored. serializedData is the buffer that you wrote to in Serialize, and dataSize is the length of this buffer.

-

You should re-construct the object from the serialized data, and then re-register it using the RegisterUnserializedObject function. The key supplied to you here should be passed on unmodified to RegisterUnserializedObject in order for the object to be fully restored.

-

Added in version: 15

-
-
-
-

IAGSFontRenderer interface

-

The IAGSFontRenderer interface can be implemented to override AGS's built-in text rendering with a custom system. The methods on the interface are as follows:

-
-

IAGSFontRenderer.LoadFromDisk

-
bool LoadFromDisk(int fontNumber, int fontSize);
-

Used internally by AGS to load the font from disk. However, you currently cannot insert a custom renderer early enough in the process to override this method, therefore it will never be called.

-

Added in version: 23

-
-
-

IAGSFontRenderer.FreeMemory

-
void FreeMemory(int fontNumber);
-

Called when the engine is shutting down, to free the memory associated with this font. You should perform your own clean-up here, and then call onto the FreeMemory method of the old renderer that you replaced.

-

Added in version: 23

-
-
-

IAGSFontRenderer.SupportsExtendedCharacters

-
bool SupportsExtendedCharacters(int fontNumber);
-

AGS will call this method to determine whether the specified font supports extended characters (i.e. characters with a ASCII value of 128 or above). Return true or false, depending on your implementation.

-

IMPORTANT: If you return false from this function, AGS will not necessarily strip extended characters out of text. If you do not support extended characters, then you should implement the EnsureTextValidForFont method (below) to strip them out.

-

Added in version: 23

-
-
-

IAGSFontRenderer.GetTextWidth

-
int GetTextWidth(const char *text, int fontNumber);
-

AGS will call this method to find out the width, in pixels, of drawing the specified text in the specified font. You should return the number of pixels that this will take up (assuming the text is all on one line and does not wrap).

-

Added in version: 23

-
-
-

IAGSFontRenderer.GetTextHeight

-
int GetTextHeight(const char *text, int fontNumber);
-

AGS will call this method to find out the height, in pixels, of drawing the specified text in the specified font. You should return the number of pixels that this will take up (assuming the text is all on one line and does not wrap).

-

Added in version: 23

-
-
-

IAGSFontRenderer.RenderText

-
void RenderText(const char *text, int fontNumber, BITMAP *destination, int x, int y, int color);
-

AGS calls this method to render text to a bitmap. destination is the bitmap surface that AGS is rendering to (you can use this with other functions like GetBitmapDimensions and GetRawBitmapSurface), and you need to draw the text starting with its top-left position at (x, y) on this surface.

-

color is a raw pixel color, not an AGS color Number.

-

Added in version: 23

-
-
-

IAGSFontRenderer.AdjustYCoordinateForFont

-
void AdjustYCoordinateForFont(int *ycoord, int fontNumber);
-

This method is a workaround introduced for TTF fonts, which allows you to adjust the Y-position of the rendered text. You should implement this method so that it does nothing unless you have problems with text positioning.

-

Added in version: 23

-
-
-

IAGSFontRenderer.EnsureTextValidForFont

-
void EnsureTextValidForFont(char *text, int fontNumber);
-

AGS calls this method prior to actually rendering text, and allows you to check that all the characters in the text are supported by the font. If not, text is a writable buffer and you could replace them with question marks.

-

By default, you should implement this method so that it does nothing.

-

Added in version: 23

-
-
-
-

IAGSFontRenderer2 interface

-

The IAGSFontRenderer2 interface is an extension to the IAGSFontRenderer, therefore contains all the parent's methods, but also adds a number of its own:

-
-

IAGSFontRenderer2.GetVersion

-
int GetVersion();
-

Tells the engine API version to which this renderer implementation corresponds to. This is a very important method, as engine will use it to know what functionality of this interface is safe to use. The return value must not be lower than 26 (as this is the first version in which this interface was introduced).

-

IMPORTANT: You must make sure your renderer returns a correct version, corresponding to which version of interface you implement, otherwise engine may try calling non-existing methods and crash.

-

Added in version: 26

-
-
-

IAGSFontRenderer2.GetRendererName

-
const char *GetRendererName();
-

Returns the name of this renderer implementation. This is for informational purposes only. Engine may use this method, for example, to print current active font renderer names into the log.

-

Added in version: 26

-
-
-

IAGSFontRenderer2.GetFontName

-
const char *GetFontName(int fontNumber);
-

Returns the name of the given font, if it's supported. Should return an empty string or null otherwise. This is for informational purposes only.

-

Added in version: 26

-
-
-

IAGSFontRenderer2.GetFontHeight

-
int GetFontHeight(int fontNumber);
-

Returns the font's height. This method supercedes IAGSFontRenderer.GetTextHeight, and does not require to pass a string. The returned height should be a maximal height the font may occupy.

-

Added in version: 26

-
-
-

IAGSFontRenderer2.GetLineSpacing

-
int GetLineSpacing(int fontNumber);
-

Returns the font's custom line spacing, if any. Return 0 to tell that the font does not have any particular line spacing set, in which case font's height will be used instead.

-

Added in version: 26

-
-
-
-

IAGSStream interface

-

The IAGSStream interface represents an open stream for reading or writing data. This interface may be implemented by the engine or plugin. The interface has following methods:

-
-

IAGSStream.GetMode

-
int GetMode();
-

Tells which mode the stream is working in. The mode defines supported i/o operations, such as reading, writing, seeking. Returns combination of AGSSTREAM_MODE_* flags. Invalid or non-functional streams return 0.

-

See IAGSEngine.OpenFileStream for the list of potential mode values.

-

Added in version: 28

-
-
-

IAGSStream.GetPath

-
const char *GetPath();
-

Returns an optional stream's source description. This may be a file path, or a resource name, or anything of that kind, and is meant purely for diagnostic purposes.

-

NOTE: you should not rely on this method to return anything in particular. It is allowed to return empty string, or NULL pointer.

-

Added in version: 28

-
-
-

IAGSStream.EOS

-
bool EOS();
-

Tells whether this stream's position is at its end. Unlike standard C feof this does not wait for a read attempt past the stream end, and reports positive when stream's position = length.

-

Added in version: 28

-
-
-

IAGSStream.GetError

-
bool GetError();
-

Tells if there were errors during previous i/o operation(s). The call to GetError() resets the error record, so if there are two consecutive GetError() calls, the second will always return "no error".

-

NOTE: this method is mostly intended for the cases when the stream is being used to read many chunks of data in a loop, or read data periodically with waits in between. In such case you may call GetError periodically too, to find out whether stream operations are still being successful.

-

Added in version: 28

-
-
-

IAGSStream.GetLength

-
int64_t GetLength();
-

Returns the total stream's length in bytes.

-

Added in version: 28

-
-
-

IAGSStream.GetPosition

-
int64_t GetPosition();
-

Returns stream's position. Position is valid in range 0 to (length-1).

-

Added in version: 28

-
-
-

IAGSStream.Read

-
size_t Read(void *buffer, size_t len)
-

Reads number of bytes into the provided buffer. Returns number of bytes that were actually copied. If return value is less than len parameter, that means that either end of stream is reached, or there has been an error.

-

Added in version: 28

-
-
-

IAGSStream.ReadByte

-
int32_t ReadByte()
-

Reads a single byte and returns either its value (0-255), or -1 on end of stream or error. This method is intended for getting data byte-by-byte.

-

Added in version: 28

-
-
-

IAGSStream.Write

-
size_t Write(const void *buffer, size_t len)
-

Writes number of bytes, copying them from the provided buffer. Returns number of bytes that were actually written. If return value is less than len parameter, that means that there has been an error.

-

Added in version: 28

-
-
-

IAGSStream.WriteByte

-
int32_t WriteByte(uint8_t b)
-

Writes a single byte (0-255) and returns either its value, or -1 on error. This method is intended for putting data byte-by-byte.

-

Added in version: 28

-
-
-

IAGSStream.Seek

-
int64_t Seek(int64_t offset, int origin)
-

Moves stream cursor to the requested offset, counting from the "origin", where "origin" defined by AGSSTREAM_SEEK_* constants:

-
    -
  • AGSSTREAM_SEEK_SET - offset from beginning of the stream, basically, from 0. Offset must be strictly positive.
  • -
  • AGSSTREAM_SEEK_CUR - offset relative to the current position. Offset may be either positive (go forward) or negative (go backward).
  • -
  • AGSSTREAM_SEEK_END - offset from end of stream. Offset must be strictly negative.
  • -
-

Returns new stream position, or -1 on error.

-

NOTE: seeking to forbidden positions (outside of valid stream range) is not counted as error. In such case the stream will simply clamp the destination offset to the valid range and return the actual position it ended on. Error is only reported if there was a failure to seek at all. Stream's implementation guarantees that stream's position remains unchanged in case of error.

-

Added in version: 28

-
-
-

IAGSStream.Flush

-
bool Flush()
-

Flushes stream, forcing it to write any buffered data to the underlying device. Does nothing in read-only mode. Returns if operation was successful.

-

Some streams may have a internal memory buffer where they keep recently written data instead of passing them to the device (file, etc) right away. This is done for performance reasons. In such case the written data may not get to the device until the internal buffer is full. There are situations where you may want to force the stream to write to device at once. For example, if you are writing a log, you would like the log messages to appear in the file instantly, so that you could read them. This is where you need to use Flush().

-

NOTE: when stream is being closed, it is also flushed automatically, so you don't have to call it yourself then.

-

Added in version: 28

-
-
-

IAGSStream.Close

-
void Close()
-

Flushes and closes the stream, but does not delete the stream object just yet. Usually you do not have to call this, and should use Dispose() to close and delete stream object instead.

-

Added in version: 28

-
-
-

IAGSStream.Dispose

-
void Dispose()
-

Flushes, closes the stream, and deletes the stream object, freeing all the associated memory.

-

After calling this the IAGSStream pointer becomes INVALID and should not be used (unless assigned a new stream object later on).

-

Added in version: 28

-
-
-
-
- - - - - -
- - diff --git a/EnginePlugins.html b/EnginePlugins.html deleted file mode 100644 index 08b054940..000000000 --- a/EnginePlugins.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Engine Plugins - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Engine Plugins

-

AGS supports a plugin interface, whereby you can write your own add-ons if AGS doesn't support all the features you need.

-

AGS supports two different types of plugins - plain API plugins, for writing plugins that add extra functionality to games and need to be included with the games at runtime; and .NET plugins, for enhancing the editor. Editor .NET plugins are explained on this separate page; here we will continue talking about the plain API.

-

IMPORTANT: Plugins are non-portable. This means that if you write a plugin, you will not be able to compile a Linux version of any game that uses the plugin, unless you supply a Linux version of it yourself, and same for other platforms.

-

Supported compiler per platform These follows the compilers used for the binaries of the Engine:

-
    -
  • MSVC on Windows
  • -
  • GCC on Linux
  • -
  • Other platforms don't have binaries provided with the editor, but currently are built with Clang.
  • -
-

Now, if you want to continue, on to the technical details.

-

AGS plugins are implemented as Windows DLL files, which must have filenames beginning with "AGS". Therefore, you will need to create your plugin as a standard Windows DLL project. When the editor starts up, it reads through all the ags*.dll files in the editor directory, and adds them to its plugin list. More information about using plugins in this page.

-

The plugin can be started in two modes - design-time and run-time. Design-time mode is used when the plugin is loaded by the AGS Editor, and Run-time mode is used when the game is actually run.

- -
-
- - - - - -
- - diff --git a/EventTypes.html b/EventTypes.html deleted file mode 100644 index 27628c13a..000000000 --- a/EventTypes.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - Event Types - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Event Types

-

In AGS certain types of game objects may have individual events, that is - events that are run for a particular object when something happens to it. These events do not have predefined functions, unlike Global event handlers. Instead each object has an event table, where you may connect a script function to some event.

-

In the Editor the event tables may be found in the "Events" section of the Properties Window (when clicking the lightning bolt icon).

-

It's important to note that each event type corresponds to its own function type, which defines function arguments. To give an example, Button's OnClick event demands a function that looks like:

-
function ButtonName_Click(GUIControl *control, MouseButton button)
-

If two or more events have same function type, then it is also possible to connect one function to all of them. Similarily, it is possible to connect one function to events from multiple objects. This may be useful in case you prefer to have a generic behavior for them. In such case the function arguments may usually be used to tell which object and which event called the function.

-

For example, if multiple Buttons are connected to the same Click function, mentioned above, then you may use control argument to refer to the button that was clicked, and button argument to know which mouse button performed the click.

-

Following is a list of events per game object type.

-
-
-

Room events

-

Enters room before fade-in

-
function room_Load()
-

Occurs just after the room is loaded into memory. This event occurs every time the player enters the screen, and it happens BEFORE the screen has faded in, which allows you to change object graphics and do other things to the screen which the player won't notice.

-

NOTE: This event is ONLY meant for adjusting things such as object and character placement. Do NOT use this event for any sort of automated intro to the room - use the "Enters Room After Fade In" event for that instead.

-

Enters room after fade-in

-
function room_AfterFadeIn()
-

Occurs every time the player enters the room, AFTER the screen has faded-in. Suitable for playing cutscenes.

-

First time enters room

-
function room_FirstLoad()
-

Occurs the first time the player enters the room. This event occurs AFTER the screen has faded in, and right before the "Player enters room (after fade-in)" event.

-

Leaves room before fade out

-
function room_Leave()
-

Occurs when the player leaves the screen, just BEFORE the screen fades out.

-

Leaves room after fade out

-
function room_Unload()
-

Occurs when the player leaves the screen, AFTER the screen has faded-out. This event is suitable for stopping room music and deleting temporary resources, such as Dynamic Sprites.

-

Repeatedly execute

-
function room_RepExec()
-

Occurs repeatedly on every game cycle, at a frequency defined by the game speed (for example if game speed is 40, then this event will occur 40 times per second, about every 25 milliseconds). This event is a equivalent of a global repeatedly_execute callback, as repeatedly_execute is not run in room scripts.

-

Walk off left edge

-
function room_LeaveLeft()
-

occurs when the player character walks off the left Room Edge.

-

Walk off right edge

-
function room_LeaveRight()
-

occurs when the player walks off the right Room Edge.

-

Walk off bottom edge

-
function room_LeaveBottom()
-

occurs when the player character walks off the bottom Room Edge.

-

Walk off top edge

-
function room_LeaveTop()
-

occurs when the player character walks off the top Room Edge.

-
-
-
-

Character events

-

Look at character

-
function cChar_Look(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "look" mode.

-

Interact character

-
function cChar_Look(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "interact" mode.

-

Talk to character

-
function cChar_Talk(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "talk" mode.

-

Pick up character

-
function cChar_PickUp(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "pick up" mode.

-

Use inventory on character

-
function cChar_UseInv(Character *theCharacter, CursorMode mode)
-

Occurs when the player uses an inventory object on a character. This event could be used to allow the player to give items to characters. You can use the player.ActiveInventory property to distinguish which item they used.

-

Usermode1 character

-
function cChar_Mode8(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "usermode1" mode.

-

Usermode2 character

-
function cChar_Mode9(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on a character while in the "usermode2" mode.

-

Any click on character

-
function cChar_AnyClick(Character *theCharacter, CursorMode mode)
-

Occurs when the player clicks on the character in any mode. It's run right after the specific mode event, except if there was a room change command. This allows you to process custom modes like smell, taste, push, pull, and so on.

-
-
-
-

Object events

-

Look at object

-
function cObject_Look(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "look" mode.

-

Interact object

-
function cObject_Look(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "interact" mode.

-

Talk to object

-
function cObject_Talk(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "talk" mode.

-

Pick up object

-
function cObject_PickUp(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "pick up" mode.

-

Use inventory on object

-
function cObject_UseInv(Object *theObject, CursorMode mode)
-

Occurs when the player uses an inventory object on a object. You can use the player.ActiveInventory property to distinguish which item they used.

-

Usermode1 object

-
function cObject_Mode8(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "usermode1" mode.

-

Usermode2 object

-
function cObject_Mode9(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on a object while in the "usermode2" mode.

-

Any click on object

-
function cObject_AnyClick(Object *theObject, CursorMode mode)
-

Occurs when the player clicks on the object in any mode. It's run right after the specific mode event, except if there was a room change command. This allows you to process custom modes like smell, taste, push, pull, and so on.

-
-
-
-

Hotspot events

-

Look at hotspot

-
function cHotspot_Look(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "look" mode.

-

Interact hotspot

-
function cHotspot_Look(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "interact" mode.

-

Talk to hotspot

-
function cHotspot_Talk(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "talk" mode.

-

Pick up hotspot

-
function cHotspot_PickUp(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "pick up" mode.

-

Use inventory on hotspot

-
function cHotspot_UseInv(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player uses an inventory hotspot on a hotspot. You can use the player.ActiveInventory property to distinguish which item they used.

-

Usermode1 hotspot

-
function cHotspot_Mode8(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "usermode1" mode.

-

Usermode2 hotspot

-
function cHotspot_Mode9(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on a hotspot while in the "usermode2" mode.

-

Any click on hotspot

-
function cHotspot_AnyClick(Hotspot *theHotspot, CursorMode mode)
-

Occurs when the player clicks on the hotspot in any mode. It's run right after the specific mode event, except if there was a room change command. This allows you to process custom modes like smell, taste, push, pull, and so on.

-

Stands on hotspot

-
function hHotspot_WalkOn(Hotspot *theHotspot)
-

Occurs repeatedly while the player character is standing on the hotspot.

-

Mouse moves over hotspot

-
function hHotspot_MouseMove(Hotspot *theHotspot)
-

Pccurs repeatedly while the mouse cursor is over the hotspot. You can use this to highlight the cursor, and for other various effects.

-
-
-
-

Inventory item events

-

Look at inventory item

-
function iInvItem_Look(InventoryItem *theItem, CursorMode mode)
-

Occurs when the player clicks on the inventory item while in the "look" mode.

-

Interact inventory item

-
function iInvItem_Interact(InventoryItem *theItem, CursorMode mode)
-

Currently, because the Interact mode selects the inventory item, this event can only be triggered by manually calling the InventoryItem.RunInteraction script function (i.e. you have to use the Handle Inv Clicks in Script option).

-

Talk to inventory item

-
function iInvItem_Talk(InventoryItem *theItem, CursorMode mode)
-

Only applies to the LucasArts-style inventory, occurs when the player clicks the Talk icon on the inventory item.

-

Use inventory on this item

-
function iInvItem_UseInv(InventoryItem *theItem, CursorMode mode)
-

Occurs when the player uses another inventory object on this one. You can use the player.ActiveInventory property to distinguish which item they used.

-

This event allows the player to combine items, and so on. For example, if they had picked up a laptop computer and a battery separately, then you could use this to allow them to insert the battery into the computer.

-

Other click on inventory

-
function iInvItem_OtherClick(InventoryItem *theItem, CursorMode mode)
-

Occurs when the player clicks any other cursor mode (apart from the ones listed above) on the item.

-
-
-
-

Region events

-

Walks onto region

-
function region_WalksOff(Region *theRegion)
-

Occurs when the player moves from another region onto this one. Will also activate on whichever region they start on when they enter the screen.

-

Walks off region

-
function region_WalksOnto(Region *theRegion)
-

Occurs when the player leaves the current region. Does not occur if they go to a different room.

-

While standing on region

-
function region_Standing(Region *theRegion)
-

Occurs repeatedly while the player character stands on this region.

-
-
-
- - - - - -
- - diff --git a/ExtenderFunctions.html b/ExtenderFunctions.html deleted file mode 100644 index 877ddf1d0..000000000 --- a/ExtenderFunctions.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - Extender functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Extender functions

-

Extender functions allow you to "add" new functions to existing types, including built-in AGS types, which lets you call them as if they were part of that type.

-

Let's look at the following example:

-
function Scream(Character *c)
-{
-    c.Say("AAAAARRRRGGGGHHHHHH!!!!");
-}
-

This is a regular function that accepts a Character as a parameter, and makes it say something. You would call this function as:

-
Scream(cEgo); // pass cEgo character as a function parameter
-

Now, the extender function would instead be declared like:

-
function Scream(this Character*)
-{
-    this.Say("AAAAARRRRGGGGHHHHHH!!!!");
-}
-

Notice the this keyword. It means that we are addressing a character, from which we called this function.

-

The extender function may now be called as:

-
cEgo.Scream(); // call the function Scream from character cEgo
-

Extender functions exist purely for convenience (in programming this is called "syntax sugar"). They do not add any new abilities, rather than to be able to call the function from an object instead of passing this object as a parameter. They use this keyword to address the object they were called from. Besides that, extender functions are just like ordinary functions: they may have multiple parameters, and return some value.

-

The common use-case for extender functions is writing custom behavior for built-in types. Consider following, more sophisticated example:

-
function SayAndAnimate(this Character*, String text, int view, int loop)
-{
-    this.LockView(view);
-    this.Animate(loop, 4, eRepeat, eNoBlock);
-    Overlay *bg_speech = this.SayBackground(text);
-    while (bg_speech.IsValid)
-    {
-        Wait(1); // keep updating the game
-    }
-    this.UnlockView();
-}
-
player.SayAndAnimate("Hello, my name is Roger.", VROGERANIMS, 5);
-

Above will make character run a custom animation and display a speech (using Background speech to keep animation going in this example, but there may be other solutions to this).

-

NOTE: just like with any other functions that your write, remember to declare the function as import in the script header, if you like it to be usable in other scripts throughout your game. See "Importing a function" for more details.

-
-

Static extenders

-

Since AGS 3.4.0 you may also create static extender functions, that is functions that are called directly from a type, rather than an actual object of that type. Static extender declaration is a bit different, for example:

-
int AbsInt(static Maths, int value)
-{
-    if (value < 0)
-        return -value;
-    return value;
-}
-

and you use such function as:

-
int x = Maths.AbsInt(-10);
-
-
-
- - - - - -
- - diff --git a/FAQ.html b/FAQ.html deleted file mode 100644 index 9b38ebcaa..000000000 --- a/FAQ.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - Frequently Asked Questions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Frequently Asked Questions

-

This section of the manual is very rarely updated. Please visit the AGS Forums or AGS Discord server if you need more answers on beginner questions.

-
-

Q. Can I make commercial games with AGS?

-

A. Yes, absolutely. AGS is completely free to use for creating any kind of games, whether commercial or not.

-
-

Q. Can I make non-adventure games with AGS (platformer, strategy, card game, roguelike, ...)?

-

A. Yes, and such games were made with AGS in the past. But you should know that AGS was created as a point'n'click adventure Engine and Editor, and the way it works prioritizes this genre. In order to make something different you will have to apply considerably bigger effort.

-
-

Q. What resolution should I make my game in?

-

A. AGS games are not different from any other games. Think on what resolution would match your chosen game design and graphic style. Experiment, make few test games to find out what's best fit.
It's important to know the difference between "native resolution" and "window resolution". Your game itself may be as small as 320 x 200, but AGS allows players to stretch the game window to any size, scaling your game up (or down, although that usually is not a good thing), without any extra effort from you. So if you want to use "old-school" low-res graphics you don't have to worry about how to display your game on larger monitors.

-
-

Q. I just started making a new game, but Editor throws an error at me: "The game is set to start in room -1 which does not exist". What does that mean?

-

A. Each game has a main character, aka "player character", and starts in the room this character is assigned to. Open your main character for editing and make sure its "StartingRoom" property is valid (of course we assume that you've created at least one room already).

-
-

Q. On my screen, I can't move the main character. Wherever I click to move him, he just stands there.

-

A. If the main character isn't on a walkable area, he will not be able to move. Load the room in the editor, and check that the location where the character starts is on a walkable area.

-
-

Q. I have a function for a Room event or an object interaction, but commands inside do not work.

-

A. In AGS the Room events and Object (Character, GUI, and so on) interactions must be "wired" to the script using the event grid. This is true for all events, so for example a 'room_Load' script function won't trigger if it's not wired on the room events.

-

Open the Editor, load the room or select the object, then under the object properties, in events, the field should be filled with the function to execute. If it's empty, clicking on the three dots button (...) the respective script will be open with the new function for you to fill the details. If it has a value, clicking on the same button will direct you to it on the respective script file. Optionally, you may type or copy the existing function's name into the field. But it's usually easier to click on the three dots button of the event you want to implement, which will generate the function in the script file for you.

-
-

Q. I click on a GUI button, but nothing happens. It doesn't seem to register clicks!

-

A. There are some different immediate suspects here.

-
    -
  • Is the button set to Run Script? Go to the GUI Editor, select the button, and make sure that in its properties window, "Click Action" is set to "Run Script".
  • -
  • Is your script wired to the button's event? In the button properties, in events, the "OnClick" field should be filled with the function to execute.
  • -
  • Is the GUI and the button clickable? Make sure that the "Clickable" property is set to "True" for both of them.
  • -
  • Alternatively, if you are creating many GUIs, check if you have created a transparent, clickable GUI that is on top of the GUI you are clicking.
  • -
-
-

Q. Mouse clicks do not seem to work in my game, no matter what I click on!

-

A. Make sure that there's no big transparent GUI covering the game screen. In AGS transparent pixels on GUIs do not let clicks through, unless you set that GUI's Clickable property to "false". If that's the case, but that GUI has interactive controls on it (such as buttons), then either shrink GUI to only have enough size for those controls to fit, or make several smaller GUIs and organize controls on them.

-
-

Q. When I enter a certain room, I just get a black screen.

-

A. Make sure that you haven't used a blocking script command such as "Display", "Character.Say", "Character.Walk" or similar in the "Enters room before fade-in" event for that room. Remember that this event happens BEFORE the screen fades in.

-

To make sure, when you get the black screen, try pressing enter, or clicking the left mouse button. If nothing happens then something more serious may have happened. If this is the case, while running the game from the Editor, switch to the Editor and click on "Pause" button on toolbar: that will stop game execution and may allow you to trace which line of script it has stuck on.

-
-

Q. How do I make a main menu for my game?

-

A. There are various ways to do this, depending on how do you want your menu to work, but in general there's no dedicated "menu screen" feature in AGS, so you have to use any combination of common items. You could begin with creating a new room, assign a plain coloured background, and place objects to act like menu options. Or you could create a GUI with buttons. But you also may do a full scene with animating objects, characters and minigames, and force player to solve a puzzle in order to start a "real" game.

-
-

Q. Can I hide player character in particular room (main menu, intro, credits screen)?

-

A. Open your room in the Room Editor and set its "ShowPlayerCharacter" property to "False".
If you want to hide player character only for some time, you may set that character's Transparency to "100" in script, or just move him/her out of the room borders, for example, by assigning x position to a large negative value.

-
-

Q. The character isn't drawn behind my walk-behind areas!

-

A. You need to define the baseline for these areas, baselines determine the order things (characters, objects and walk-behinds) are arranged in the room.

-
-

Q. There's a bunch of identical script commands I need to execute on several events, is there a way to not copy/paste same 5 (20, 50, 100) lines everywhere I need them?

-

A. Sure, create your own custom function in script, put these commands there, and call this functions each time you want these commands executed. Refer to Scripting Tutorial for more on this subject.

-
-

Q. I created a script function, but I get "function is undefined" error trying to call it elsewhere.

-

A. If you have a function written in script file my_script_A.asc, and you want to call it from a different script file my_script_B.asc, you need to correctly declare it as import on its header my_script_A.ash. Additionally, make sure the function is declared/defined above your call in script or placed in a higher script module, move function up if necessary.

-
-

Q. Can I use script commands on my dialogues?

-

A. Yes, you can. The dialog lines that start with at least one space character are interpreted as plain script, and the ones that don't are treated as special dialog commands. All special dialog commands are actually converted into real AGS script before compiling into your game.

-
-

Q. How do I change object's "Name" or "Description" at runtime so that I could display a different one after a game event?

-

A. At the time of writing this answer AGS does not let you change these values, as well as few other properties at runtime (this may be fixed in future versions). The common solution is to use "Custom Properties", which you define in the Editor and may modify in script using SetProperty and SetTextProperty functions for the respective object type.

-
-

Q. How do I keep animations running while I am showing a message on screen using Display function?

-

A. "Display" command pauses whole game, use an Overlay or GUI with a label instead. You may make them look similar to Display by defining background and border colours, or assigning a sprite. Then use "Wait" or "WaitMouseKey" command to halt the game while this Overlay or GUI is on screen.

-
-

Q. How do I do an action when animation reaches certain frame?

-

A. In repeatedly_execute function test whether an object is animating, and what it's current View, Loop and Frame properties (Characters and Buttons have similar values). Execute an action when these properties match your condition.

-
-

Q. How do I put a variable on a GUI label?

-

A. String.Format script function allows to create a string with variable printed in it. You may then use that string anywhere, such as assign it to a label's Text property, for example:

-
myLabel.Text = String.Format("Coins: %d / %d", current_coins, total_coins);
-
-

Q. My game EXE file seems to have disappeared.

-

A. For some reason AGS Editor deletes a game exe from Compiled/Windows folder each time when you make a test run (F5). To get this compiled exe back, simply build the game again by using the "Build EXE" command on the Build menu.

-
-

Q. I change settings in Default Setup pane in the Editor, but in game nothing changes.

-

A. Default Setup affects only default configuration. If you ran game's own setup program at least once and saved, there's already personal configuration written in your user documents, which overrides defaults. Also some of the settings are written by the game itself on exit. Change the setting by running setup program as well, or delete user config file to reset everything to defaults.

-
-

Q: I loaded my old game in a newer version of AGS, and now I get errors about some AGS functions are "undefined".

-

A: These functions were probably deprecated. Check the "Upgrading from a previous version" topics in the manual to learn about possible breaking changes and how can you adjust your script to the new standard.
There's also a big table of outdated functions and properties where you may find suggested replacements.
But if you're in a real hurry, go to game's General Settings and set "Script compatibility level" to the version you were making game in previously (that usually works).

-
-

Q. How should I name my views, objects, ...

-

A. When you are looking into your objects in the Room Editor, they are obviously an object. When you are referencing them on script, you can get lost. It's a good and common practice when using AGS to precede the name of an element with a lower case letter of its type, make it easier to find them in the Editor with auto complete (ctrl+space) and the consistency will make easier to remember. So for a view, something like vRogerWalking is a good name, and the v at start tells you it's a view; A character with real name Joe, is a good idea to have the script name be cJoe, now the c reminds of character; a GUI for a lever puzzle could be called gLeverPuzzle; An object that is a flower as oFlower; A hotspot of the exit door as hExitDoor.

-
-

Q. Can I create games that use a text parser, similar to the classic Sierra adventure games, such as King's Quest and Space Quest?

-

A: Yes, AGS allows for the development of games that use text parser input. It is possible to create games that use an "always on" text parser (used in AGI games, such as Kings Quest I) as well as a "pop up" text parser (used in SCI games such as Space Quest 3). See more in the Text Parser topic in the manual.

-
-
- - - - - -
- - diff --git a/File.html b/File.html deleted file mode 100644 index 39970584e..000000000 --- a/File.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - File functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

File functions and properties

-
-

File.Open

-

(Formerly known as FileOpen, which is now obsolete)

-
static File* File.Open(string filename, FileMode)
-

Opens a disk file for reading or writing, and returns a File object pointer which you may use to perform operations on this file, or null if engine failed to open a file for whatever reasons.

-

MODE is either eFileRead, eFileWrite or FileAppend, depending on whether you want to write to or read from the file. If you pass eFileWrite and a file called FILENAME already exists, it will be overwritten.

-

eFileAppend opens an existing file for writing and starts adding information at the end (i.e. the existing contents are not deleted).

-

When specifying a file path you may use tags that define either a special file or location.

-

Following file tags are supported:
$CONFIGFILE$, which allows you to open player's configuration file for reading or writing. This is recommended to be used instead of telling exact path, because config file may be found in different places depending on game settings or personal player's setup.

-

Example:

-
File.Open("$CONFIGFILE$", eFileRead);
-

Following location tags are supported:

-
    -
  • $DATA$, which allows you to read files that are packaged inside the game package, originally from a directory specified in the General Settings, in the Package custom data folder(s) option, on the Compiler category. Files stored in this way can only be opened in read mode.
  • -
  • $INSTALLDIR$, which allows you to explicitly read files in the game installation directory.
  • -
  • $SAVEGAMEDIR$, which allows you to write/read files in the save game directory.
  • -
  • $APPDATADIR$, which allows you to write/read files to a folder on the system which is accessible by and shared by all users. The example of their use is below.
  • -
-

Examples:

-
File.Open("$DATA$/datadir/book.txt", eFileRead);
-File.Open("$INSTALLDIR$/game.dat", eFileRead);
-File.Open("$SAVEGAMEDIR$/userinfo.txt", eFileWrite);
-File.Open("$APPDATADIR$/scoretable.dat", eFileAppend);
-

IMPORTANT: For security reasons, if you open the file for writing, then you can ONLY work with files in either $SAVEGAMEDIR$ or $APPDATADIR$ locations. An attempt to write file in $INSTALLDIR$ will result in failure, and null is returned. Similarily, if you try to open a file for writing using an absolute path, or relative path that points to location outside of the game directory, it will be automatically rejected, and null is returned.

-

IMPORTANT: An attempt to write file into relative path without specifying any location tag will make AGS automatically remap such path into $APPDATADIR$. This is done for backward compatibility. To ensure that your script does exactly what you want, please use location tags.

-

NOTE: You are allowed to have subdirectories in the path. If the file is opened for writing, AGS will be responsible for creating these subdirectories. If it fails to do so for any reason, the the file won't be opened.

-

File.Open returns a File* pointer, which you should store in a variable of that type. You may then use that pointer to perform reading or writing operations. After finishing work you should close the file with the Close function. There are only a limited number of file handles, and forgetting to close the file can lead to problems later on.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/temp.tmp", eFileWrite);
-if (output == null)
-    Display("Error opening file.");
-else {
-    output.WriteString("test string");
-    output.Close();
-}
-

will open the file temp.tmp in the save game folder for writing. An error message is displayed if the file could not be created. Otherwise, it will write the string "test string" to the file and close it.

-

NOTE: Open file pointers are not persisted across save games. That is, if you open a file, then save the game; then when you restore the game, the File will not be usable and you'll have to open it again to continue any I/O. The safest practice is not to declare any global File variables.

-

Compatibility:

-

Subdirectories are created when opening a file for writing by AGS 3.5.0 and later versions. $CONFIGFILE$ tag supported by AGS 3.5.1 and later versions. $DATA$ tag supported by AGS 3.6.0 and later versions.

-

See also: File.Close, File.Exists, File.ReadStringBack, File.WriteString, General Settings

-
-
-
-

File.ResolvePath

-
static String File.ResolvePath(string filename)
-

Resolves the script path into the system filepath, this should be used only for diagnostic purposes.

-

This will process all tokens and all rules described in File.Open and return the resulting path, which can be helpful when debugging or when you want to present this information somewhere to help debugging some problem in the game. This resolved path should not be re-used in subsequent File.Open calls.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: File.Open, File.Path

-
-
-
-

File.Close

-

(Formerly known as FileClose, which is now obsolete)

-
File.Close()
-

Closes the file, and commits all changes to disk. You must call this function when you have finished reading/writing the file.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/test.dat", eFileWrite);
-output.WriteString("test string");
-output.Close();
-

will open the file test.dat, write the string "test string", and close it.

-

See also: File.Open

-
-
-
-

File.Delete

-
static File.Delete(string filename)
-

Deletes the specified file from the disk.

-

For security reasons this command only works with files in the $SAVEGAMEDIR$ and $APPDATADIR$ directories.

-

NOTE: This is a static function, therefore you don't need an open File pointer to use it. See the example below.

-

Example:

-
File.Delete("$SAVEGAMEDIR$/temp.tmp");
-

will delete the file "temp.tmp" from the app data directory, if it exists.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: File.Exists, File.Open

-
-
-
-

File.Exists

-
static bool File.Exists(string filename)
-

Checks if the specified file exists on the file system.

-

NOTE: This is a static function, therefore you don't need an open File pointer to use it. See the example below.

-

Example:

-
if (!File.Exists("$SAVEGAMEDIR$/temp.tmp"))
-{
-    File *output = File.Open("$SAVEGAMEDIR$/temp.tmp", eFileWrite);
-    output.WriteString("some text");
-    output.Close();
-}
-

will create the file "temp.tmp" if it doesn't exist

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: File.Delete, File.Open

-
-
-
-

File.ReadInt

-

(Formerly known as FileReadInt, which is now obsolete)

-
File.ReadInt()
-

Reads an integer from the file, and returns it to the script. Only integers written with File.WriteInt can be read back.

-

Example:

-
int number;
-File *input = File.Open("$SAVEGAMEDIR$/stats.dat", eFileRead);
-number = input.ReadInt();
-input.Close();
-

will open the file stats.dat, read an integer into number and then close the file.

-

See also: File.ReadStringBack, File.WriteInt

-
-
-
-

File.ReadRawChar

-

(Formerly known as FileReadRawChar, which is now obsolete)

-
File.ReadRawChar()
-

Reads a raw character from the input file and returns it. This function allows you to read from files that weren't created by your game, however it is recommended for expert users only.

-

Example:

-
File *input = File.Open("$SAVEGAMEDIR$/stats.txt", eFileRead);
-String buffer = String.Format("%c", input.ReadRawChar());
-input.Close();
-

will read a raw character from file stats.txt and writes it to the string 'buffer'.

-

See also: File.ReadStringBack, File.ReadRawInt, File.WriteRawChar

-
-
-
-

File.ReadRawInt

-

(Formerly known as FileReadRawInt, which is now obsolete)

-
File.ReadRawInt()
-

Reads a raw 32-bit integer from the input file and returns it to the script. This allows you to read from files created by other programs - however, it should only be used by experts as no error-checking is performed.

-

Example:

-
int number;
-File *input = File.Open("$SAVEGAMEDIR$/stats.txt", eFileRead);
-number = input.ReadRawInt();
-input.Close();
-

will read a raw integer from file stats.txt and put it into the integer number.

-

See also: File.ReadStringBack, File.WriteRawInt File.ReadRawChar

-
-
-
-

File.ReadRawLineBack

-

(Formerly known as File.ReadRawLine, which is now obsolete)

-
String File.ReadRawLineBack()
-

Reads a line of text back in from the file and returns it. This enables you to read in lines from text files and use them in your game.

-

NOTE: this command can only read back plain text lines from text files. If you attempt to use it with binary files or files written with commands like WriteString, WriteInt, etc then the results are unpredictable.

-

Example:

-
File *input = File.Open("$SAVEGAMEDIR$/error.log", eFileRead);
-if (input != null) {
-    while (!input.EOF) {
-        String line = input.ReadRawLineBack();
-        Display("%s", line);
-    }
-    input.Close();
-}
-

will display the contents of the 'error.log' file, if it exists

-

See also: File.WriteRawLine

-
-
-
-

File.ReadStringBack

-

(Formerly known as FileRead, which is now obsolete)
(Formerly known as File.ReadString, which is now obsolete)

-
String File.ReadStringBack()
-

Reads a string back in from a file previously opened with File.Open, and returns it. You should only use this with files which you previously wrote out with File.WriteString. Do NOT use this function with any other files, even text files.

-

Example:

-
File *input = File.Open("$SAVEGAMEDIR$/test.dat", eFileRead);
-String buffer = input.ReadStringBack();
-input.Close();
-

will open the file test.dat (which you have previously written with File.WriteString) and read a string into the buffer. Then close the file.

-

See also: File.Open, File.WriteString

-
-
-
-

File.Seek

-
int Seek(int offset, optional FileSeek origin);
-

Moves read/write position by offset bytes related to origin. Returns new read/write position. This is usually used when you are reading file and want to skip over some data, or writing a file and want to move back and overwrite a piece of data in the previous section for some reason.

-

The origin is determined by one of the FileSeek types: eSeekBegin - counts offset bytes starting from the file's beginning; offset must be positive.
eSeekCurrent - counts offset bytes starting from the current position; offset may be either positive or negative.
eSeekEnd - counts offset bytes starting from the file's end, going backwards; offset must be positive.

-

If optional origin parameter is not specified, eSeekCurrent type is used by default.

-

IMPORTANT: Do not use Seek on files which you have written with safe data writing functions, such as WriteInt and WriteString. These functions add additional data for the purpose of protection against incorrect reading, and Seek ignores that protection. If you use Seek and then try to ReadIntBack, for example, most probably you will receive a reading error. Only use it on files that contain "raw" data, or when you know written format precisely.

-

Example:

-
File *input = File.Open("$SAVEGAMEDIR$/test.dat", eFileRead);
-int first_value = input.ReadRawInt();
-input.Seek(256);
-int second_value = input.ReadRawInt();
-input.Close();
-

will open the file test.dat, read first_value, skip 256 bytes, read second_value, and close the file.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: File.Position

-
-
-
-

File.WriteInt

-

(Formerly known as FileWriteInt, which is now obsolete)

-
File.WriteInt(int value)
-

Writes VALUE to the file. This allows you to save the contents of variables to disk. The file must have been previously opened with File.Open, and you can read the value back later with File.ReadInt.

-

Example:

-
int number = 6;
-File *output = File.Open("$SAVEGAMEDIR$/stats.dat", eFileWrite);
-output.WriteInt(number);
-output.Close();
-

will open the file stats.dat and write the integer number in it.

-

See also: File.ReadInt, File.WriteString

-
-
-
-

File.WriteRawChar

-

(Formerly known as FileWriteRawChar, which is now obsolete)

-
File.WriteRawChar(int value)
-

Writes a single character to the specified file, in raw mode so that other applications can read it back. If you are just creating a file for your game to read back in, use File.WriteInt instead because it offers additional protection. Only use this function if you need other applications to be able to read the file in.

-

This command writes a single byte to the output file - therefore, VALUE can contain any value from 0 to 255.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/output.txt", eFileWrite);
-output.WriteRawChar('A');
-output.WriteRawChar('B');
-output.WriteRawChar(13);
-output.Close();
-

will write the text "AB", followed by a carriage return character, to the file.

-

See also: File.ReadRawChar, File.WriteInt

-
-
-
-

File.WriteRawInt

-
File.WriteRawInt(int value)
-

Writes VALUE to the specified file, in raw mode so that other applications can read it back. If you are just creating a file for your game to read back in, use File.WriteInt instead because it offers additional protection. Only use this function if you need other applications to be able to read the file in.

-

This command writes a single integer to the output file - therefore, VALUE can contain any value from -2147483648 to 2147483647.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/stats.dat", eFileWrite);
-output.WriteRawInt(51);
-output.Close();
-

will open the file stats.dat and write the integer number in it.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: File.ReadRawInt, File.WriteInt

-
-
-
-

File.WriteRawLine

-

(Formerly known as FileWriteRawLine, which is now obsolete)

-
File.WriteRawLine(string text)
-

Writes a string of text to the file in plain text format. This enables you to read it back in Notepad or any text editor. This is useful for generating logs and such like.

-

The TEXT will be printed to the file, followed by the standard newline characters.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/error.log", eFileAppend);
-output.WriteRawLine("There was an error playing sound1.wav");
-output.Close();
-

will write an error line in the file error.log.

-

See also: File.ReadRawLineBack, File.WriteString

-
-
-
-

File.WriteString

-

(Formerly known as FileWrite, which is now obsolete)

-
File.WriteString(string text)
-

Writes TEXT to the file, which must have been previously opened with File.Open for writing. The string is written using a custom format to the file, which can only be read back by using File.ReadStringBack.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/temp.tmp", eFileWrite);
-if (output == null) Display("Error opening file.");
-else {
-    output.WriteString("test string");
-    output.Close();
-}
-

will open the file temp.tmp for writing. If it cannot create the file, it will display an error message. Otherwise, it will write the string "test string" and close it.

-

See also: File.ReadStringBack, File.Open, File.WriteRawLine

-
-
-
-

File.EOF

-

(Formerly known as FileIsEOF, which is now obsolete)

-
readonly bool File.EOF
-

Checks whether the specified file has had all its data read. This is only useful with files opened for reading. It returns 1 if the entire contents of the file has now been read, or 0 if not.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/test.dat", eFileRead);
-while (!output.EOF) {
-    int temp = output.ReadRawChar();
-    Display("%c", temp);
-}
-output.Close();
-

will display every character in the file test.dat, one by one, to the screen.

-

See also: File.Error, File.Open, File.ReadStringBack

-
-
-
-

File.Error

-

(Formerly known as FileIsError, which is now obsolete)

-
readonly bool File.Error
-

Checks whether an error has occurred reading from or writing to the specified file.

-

An error can occur if, for example, you run out of disk space or the user removes the disk that is being read from.

-

This function only checks for errors while actually reading/writing data. The File.Open function will return null if there was an error actually opening or creating the file.

-

To find out whether all data has been read from a file, use EOF instead.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/test.dat", eFileWrite);
-output.WriteInt(51);
-if (output.Error) {
-    Display("Error writing the data!");
-}
-output.Close();
-

will write a number to the file 'test.dat', and display a message if there was a problem.

-

See also: File.EOF, File.ReadStringBack

-
-
-
-

File.Path

-
readonly String File.Path
-

Gets the path to opened file.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/custom_save.txt", eFileWrite);
-if(output) {
-  System.Log(eLogInfo, "Opened \"%s\" for writing.", output.Path);
-  output.WriteRawLine("won=false");
-  output.Close();
-}
-

Will write the full absolute path of the file in the debug log.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: File.Open, File.ResolvePath

-
-
-
-

File.Position

-
readonly int File.Position
-

Gets current File's reading or writing position. This value means number of bytes between file's beginning and current place you are reading from or writing to.

-

This may be useful, for example, if you are passing the file pointer to another script module function and want to know how much data that function has read or written.

-

Example:

-
File *output = File.Open("$SAVEGAMEDIR$/test.dat", eFileWrite);
-int old_pos = output.Position;
-WriteCustomModuleData(output);
-int new_pos = output.Position;
-Display("Custom module has written %d bytes", new_pos - old_pos);
-output.Close();
-

will open file, pass the file pointer to some custom function, then display amount of data that function wrote.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: File.Seek

-
-
-
- - - - - -
- - diff --git a/GUI.html b/GUI.html deleted file mode 100644 index 3b7a36f3f..000000000 --- a/GUI.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - - GUI functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

GUI functions and properties

-
-

GUI.Centre

-

(Formerly known as CentreGUI, which is now obsolete)

-
GUI.Centre()
-

Centers the specified GUI in the middle of the screen. Useful if you've been moving it around with SetPosition and just want to return it to the center.

-

Example:

-
gControlpanel.Centre();
-

will center the CONTROLPANEL GUI in the middle of the screen.

-

See also: GUI.SetPosition

-
-
-
-

GUI.Click

-
GUI.Click()
-

Forces GUI's OnClick event. If there is a script function bound to that event it will be run, otherwise nothing happens.

-

NOTE: GUI.Click should not to be confused with static function GUI.ProcessClick. GUI.Click is called for specific GUI and does not impose any other conditions, while GUI.ProcessClick is called for "any GUI element that happen to be at the given coordinates".

-

Example:

-
gMainMenu.Click();
-

triggers OnClick event for gMainMenu.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Button.Click, GUI.ProcessClick

-
-
-
-

GUI.GetAtScreenXY

-

(Formerly known as GetGUIAt, which is now obsolete)

-
static GUI* GUI.GetAtScreenXY(int x, int y)
-

Checks whether there is currently a GUI at screen co-ordinates (X,Y). If there is, returns its GUI. If two GUIs overlap, the front-most one will be returned - this can be changed with the GUI.ZOrder property.

-

If there is not currently a displayed, clickable GUI at the location then null is returned. If null is returned, do NOT attempt to call any methods or use any properties of the GUI (since it does not actually exist).

-

NOTE: This command will not find any GUIs that are set as Non-Clickable (i.e. the "Clickable" checkbox not checked).

-

Example:

-
GUI *theGui = GUI.GetAtScreenXY(mouse.x, mouse.y);
-if (theGui == gInventory) {
-    Display("Inventory GUI at mouse location.");
-}
-else if (theGui == null) {
-    Display("No GUI at mouse location");
-}
-else {
-    Display("GUI %d at mouse location.", theGui.ID);
-}
-

will display the number of the GUI that the mouse is over.

-

See also: GUIControl.GetAtScreenXY, GUI.ID, GUI.ZOrder

-
-
-
-

GUI.GetByName

-
static GUI* GUI.GetByName(string scriptName)
-

Returns a pointer to the GUI with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each GUI which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
function ReadGUIConfig() {
-    File *file = File.Open("$SAVEGAMEDIR$/guiconfig.dat", eFileRead);
-    if (file == null) {
-        return;
-    }
-
-    while (!file.EOF) {
-        String name = file.ReadStringBack();
-        int x = file.ReadInt();
-        int y = file.ReadInt();
-
-        GUI *gui = GUI.GetByName(name);
-        if (gui != null)
-        {
-            gui.X = x;
-            gui.Y = y;
-        }
-    }
-
-    file.Close();
-}
-

Above function opens a custom file called "guiconfig.dat" for reading, reads gui positions, and tries to move game guis to these.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: GUI.ScriptName

-
-
-
-

GUI.ProcessClick

-
static void GUI.ProcessClick(int x, int y, MouseButton)
-

Simulates clicking the mouse on GUI on the location (X,Y) using the specified mouse button. This "click" has special behavior in that it only affects GUI and GUI controls. The click will be received by a topmost control or parent GUI under given coordinates. If that control or GUI has functions attached to their events, these will be executed as in case of a normal player's click. If there's no GUIs under the coordinates, then nothing will happen. Any other game elements (room objects, hotspots, characters) are not affected by this.

-

Example:

-
ProcessClick(100, 50, eMouseLeft);
-

will simulate clicking the mouse on co-ordinates (100, 50) with the left mouse button. Only GUIs will receive this click.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Mouse.Click, Room.ProcessClick

-
-
-
-

GUI.SetPosition

-

(Formerly known as SetGUIPosition, which is now obsolete)

-
GUI.SetPosition(int x, int y)
-

Moves the top-left corner of GUI to the new location (X,Y) on the screen. This allows you to dynamically move GUIs around on the screen while the game is running. The co-ordinates are screen co-ordinates, not room co-ordinates, and use the same scale as in the editor.

-

Example:

-
gMyGui.SetPosition(mouse.x, mouse.y);
-

will move the GUI to the position where the cursor is.

-

See also: GUI.Centre, GUI.BackgroundGraphic, GUIControl.SetPosition, GUI.SetSize, GUI.X, GUI.Y

-
-
-
-

GUI.SetSize

-

(Formerly known as SetGUISize, which is now obsolete)

-
GUI.SetSize(int width, int height)
-

Changes the GUI to have the new size WIDTH x HEIGHT

-

This could be useful for initially hiding an 'Advanced' part of an options screen and such like.

-

The size is in the normal 320x200-resolution pixels. Setting the size to 320, 200 will cause the GUI to take up the entire screen.

-

Example:

-
gIconbar.SetSize(160, 100);
-

changes the ICONBAR GUI to be the size of half the screen

-

See also: GUI.Centre, GUI.Height, GUIControl.SetPosition, GUI.SetPosition, GUI.Width

-
-
-
-

GUI.AsTextWindow

-
readonly TextWindowGUI* GUI.AsTextWindow
-

If this GUI is of TextWindow type then returns the TextWindowGUI interface which could be used to access specific properties; otherwise returns null.

-

Example:

-
TextWindowGUI *tw = gMyTextGui.AsTextWindow;
-tw.TextColor = Game.GetColorFromRGB(255, 0, 0);
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: TextWindowGUI

-
-
-
-

GUI.BackgroundColor

-
int GUI.BackgroundColor
-

Gets/sets the background color.

-

Setting BackgroundColor to 0 will make GUI background fully transparent.

-

This property is ignored if the GUI.BackgroundGraphic is assigned a sprite number (other than 0).

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GUI.BackgroundGraphic, GUI.BorderColor

-
-
-
-

GUI.BackgroundGraphic

-

(Formerly known as SetGUIBackgroundPic, which is now obsolete)

-
int GUI.BackgroundGraphic
-

Gets/sets the background image of the GUI.

-

You can set this to 0 to remove the background image from the GUI.

-

When this property is assigned a sprite number other than 0 GUI.BackgroundColor and GUI.BorderColor are ignored.

-

See also: GUI.SetPosition, Button.NormalGraphic

-
-
-
-

GUI.BorderColor

-
int GUI.BorderColor
-

Gets/sets the border color.

-

Setting BorderColor to 0 will make GUI border fully transparent.

-

Not applicable to TextWindow GUIs. This property is ignored if the GUI.BackgroundGraphic is assigned a sprite number (other than 0).

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GUI.BackgroundColor, GUI.BackgroundGraphic

-
-
-
-

GUI.Clickable

-

(Formerly known as SetGUIClickable, which is now obsolete)

-
bool GUI.Clickable
-

Gets/sets whether the GUI is clickable or not. This allows you to modify the "Clickable" checkbox from the GUI Editor.

-

If this is set to 1, then the GUI will respond to mouse clicks as normal.

-

If this is set to 0, then this GUI cannot be clicked on by the mouse. This might be useful for a transparent overlay GUI which displays information, and you want the player to be able to click on whatever is underneath.

-

Example:

-
gStatusline.Clickable = false;
-

sets the STATUSLINE GUI to no longer respond to mouse clicks.

-

See also: GUI.GetAtScreenXY

-
-
-
-

GUI.ControlCount

-
readonly int GUI.ControlCount;
-

Gets the number of controls on the GUI. This is useful if you wish to iterate through all the GUI's controls, then this property would allow you to determine where to stop.

-

Example:

-
for (int i = 0; i < gMyGUI.ControlCount; i++) {
-    gMyGUI.Controls[i].Enabled = false;
-}
-

disables all controls on the gMyGUI GUI.

-

See also: GUI.Controls

-
-
-
-

GUI.Controls

-
GUIControl* GUI.Controls[index]
-

Provides an array which allows you to access controls on the GUI by their index. This may be useful when you need to iterate through all the GUI's controls. And also if, for some reason, you cannot use actual control's name or GUIControl* pointer, and have to use a numeric ID instead.

-

Returns the GUIControl object for the specified control index, or null if you give an invalid control index.

-

You can cast the GUIControl to the appropriate type using the AsButton, AsLabel, etc methods on it.

-

Example:

-
for (int i = 0; i < gMyGUI.ControlCount; i++) {
-    gMyGUI.Controls[i].Enabled = false;
-}
-

disables all controls on the gMyGUI GUI.

-
int control_number = Random(gMyGUI.ControlCount - 1);
-gMyGUI.Controls[control_number].Visible = false;
-

Makes a random control on gMyGUI invisible.

-

See also: GUIControl.As\*, GUI.ControlCount

-
-
-
-

GUI.Height

-
int GUI.Height
-

Gets/sets the height of the GUI. This allows you to dynamically change the size of the GUI on the screen.

-

The height is specified in the normal 320-resolution style.

-

Example:

-
Display("The icon bar GUI is %d pixels high.", gIconbar.Height);
-

displays the height of the ICONBAR GUI.

-

See also: GUI.SetSize, GUI.Width

-
-
-
-

GUI.ID

-
readonly int GUI.ID
-

Gets the GUI's ID number. This is the GUI's number from the editor, and is useful if you need to interoperate with legacy code that uses the GUI's number rather than object name.

-

Example:

-
SetGUIClickable(gIconbar.ID, 1);
-gIconbar.Clickable = false;
-

uses the obsolete SetGUIClickable function to make the ICONBAR GUI clickable, and then uses the equivalent modern property to stop it being clickable.

-

See also: GUIControl.ID

-
-
-
-

GUI.PopupStyle

-
readonly GUIPopupStyle GUI.PopupStyle
-

Gets the style of GUI behavior on screen. Possible values are:

-
eGUIPopupNormal       no special behavior
-eGUIPopupMouseYPos    shown when the mouse cursor moves to the top of the screen, past GUI.PopupYPos, and hidden at all other times
-eGUIPopupModal        like normal, but pauses game when shown
-eGUIPopupPersistent   like normal, but not removed when the game's user interface is disabled
-

NOTE: for MouseYPos style GUI.Visible property does not control visibility directly. The GUI will become visible only when both conditions match:

-
    -
  • GUI.Visible property set to TRUE;
  • -
  • mouse cursor is closer to the screen top than GUI.PopupYPos value.
  • -
-

GUI.Shown property tells whether GUI is actually displayed, which may be different from GUI.Visible in the case of MouseYPos style.

-

NOTE: To automatically hide a GUI when the user interface is disabled, the General Settings option When player interface is disabled, GUIs should needs to be set as Be hidden.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GUI.PopupYPos, GUI.Shown, GUI.Visible

-
-
-
-

GUI.PopupYPos

-
int GUI.PopupYPos
-

Gets/sets the Y co-ordinate at which the GUI will appear when using MouseYPos popup style. The GUI will be automatically shown when the mouse cursor's Y coordinate is equal or lower than GUI.PopupYPos (closer to the screen top) and hidden when it is greater.

-

This property is ignored if GUI has a different style.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GUI.PopupStyle, GUI.Shown, GUI.Visible

-
-
-
-

GUI.Shown

-
readonly bool GUI.Shown
-

Tells whether GUI is currently active on screen.

-

In the common circumstances this property's value is equivalent to checking GUI.Visible. But for GUIs with "Mouse Ypos" popup style the Visible property does not actually determine whether the GUI is displayed, but instead it controls whether the GUI is allowed to pop up. In such case it is Shown property that would tell if the GUI is actually displayed on screen at this moment.

-

NOTE: Shown property only reports a logical state, it does not test whether GUI may be seen by the player or not (overlapped by other objects, moved offscreen or fully transparent).

-

Compatibility: Supported by AGS 3.5.1 and later versions.

-

See also: GUI.PopupStyle, GUI.Visible

-
-
-
-

GUI.ScriptName

-
readonly String GUI.ScriptName;
-

Gets the script name of the gui, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some gui stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each gui in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use GUI.GetByName function to retrieve the gui by the previously saved script name.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: GUI.GetByName

-
-
-
-

GUI.Transparency

-

(Formerly known as SetGUITransparency, which is now obsolete)

-
int GUI.Transparency
-

Gets/sets the GUI translucency, in percent.

-

Setting this to 100 means the GUI is totally invisible, and lower values represent varying levels of translucency. Set it to 0 to stop the GUI being translucent.

-

NOTE: Transparency only works in 16-bit and 32-bit color games.

-

Some rounding is done internally when the transparency is stored -- therefore, if you get the transparency after setting it, the value you get back might be one out. Therefore, using a loop with gInventory.Transparency++; is not recommended as it will probably end too quickly.

-

In order to fade a GUI in/out, the best approach is shown in the example below:

-

Example:

-
int trans = gInventory.Transparency;
-while (trans < 100) {
-    trans++;
-    gInventory.Transparency = trans;
-    Wait(1);
-}
-

will gradually fade the INVENTORY GUI out until it is invisible.

-

See also: GUIControl.Transparency, Object.Transparency

-
-
-
-

GUI.Visible

-

(Formerly known as GUIOff, which is now obsolete)
(Formerly known as GUIOn, which is now obsolete)
(Formerly known as InterfaceOff, which is now obsolete)
(Formerly known as InterfaceOn, which is now obsolete)
(Formerly known as IsGUIOn, which is now obsolete)

-
bool GUI.Visible
-

Gets/sets whether the GUI is visible or not. This property has behaves differently depending on the GUI popup style.

-

For "Normal" and "Persistent" GUIs, this property simply switches the GUI on and off, and has no further effects.

-

For "Popup modal" GUIs, setting Visible to true causes the game to become paused until the GUI is removed by setting Visible back to false (e.g. when the user presses an OK button or something similar).

-

For "Mouse Ypos" GUIs, the Visible property does not actually determine whether the GUI is displayed, but instead it controls whether the GUI is allowed to pop up. If Visible is false, then moving the mouse to the top of the screen will not activate the GUI; if it is true, then the GUI will be allowed to be popped up.

-

NOTE: for "Mouse Ypos" style GUIs the way to actually know if GUI is displayed or not is GUI.Shown property.

-

Example:

-
gSettings.Visible = true;
-

will turn on the SETTINGS GUI.

-

See also: GUI.Shown, IsGamePaused

-
-
-
-

GUI.Width

-
int GUI.Width
-

Gets/sets the width of the GUI. This allows you to dynamically change the size of the GUI on the screen.

-

The width is specified in the normal 320-resolution style.

-

Example:

-
gInventory.Width += 5;
-

makes the INVENTORY GUI 5 pixels wider.

-

See also: GUI.Height, GUI.SetSize

-
-
-
-

GUI.X

-
int GUI.X
-

Gets/sets the X position of the GUI. This allows you to dynamically change the position of the GUI on the screen.

-

The X position is the left-hand side of the GUI, and can be between 0 and 320. The co-ordinates used are screen co-ordinates, not room co-ordinates, and are in the normal 320-resolution style.

-

Example:

-
gMyGui.X += 5;
-

moves the GUI right 5 pixels.

-

See also: GUI.SetPosition, GUI.Y

-
-
-
-

GUI.Y

-
int GUI.Y
-

Gets/sets the Y position of the GUI. This allows you to dynamically change the position of the GUI on the screen.

-

The Y position is the top edge of the GUI, and can be between 0 and 200 (or 240, depending on room height). The co-ordinates used are screen co-ordinates, not room co-ordinates, and are in the normal 320x200-resolution style.

-

Example:

-
gMyGui.Y += 5;
-

moves the GUI down 5 pixels.

-

See also: GUI.SetPosition, GUI.X

-
-
-
-

GUI.ZOrder

-

(Formerly known as SetGUIZOrder, which is now obsolete)

-
int GUI.ZOrder
-

Gets/sets the drawing z-order of the GUI. This allows you to dynamically change the ordering of GUIs on the screen.

-

Z-order setting is an arbitrary integer number that can be positive or negative. It tells how the overlapping objects should be sorted. Those with lower z-order are drawn at the back, and those with higher z-order are drawn at the front.

-

The GUIs are sorted among themselves and screen Overlays, and thus their ZOrder is relative to other GUIs z-order and Overlays z-order values.

-

NOTE: If two or more GUIs have equal ZOrder, their relative order is then defined by their IDs: lower IDs are drawn at the back and higher IDs at the front. This is different from other kinds of game objects which do not depend on their IDs at all when being sorted on screen. Normally we don't recommend relying on this though, and suggest setting explicit ZOrder for the scenes where multiple GUIs may overlap each other.

-

Example:

-
gStatusline.ZOrder = 0;
-

sets the STATUSLINE GUI to be behind all other GUIs.

-

See also: GUI.GetAtScreenXY

-
-
-
- - - - - -
- - diff --git a/GUIControl.html b/GUIControl.html deleted file mode 100644 index 568750085..000000000 --- a/GUIControl.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - GUIControl functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

GUIControl functions and properties

-

This section lists the functions and properties common to all types of GUI control. Each individual control type (Button, ListBox, etc) also has its own specific section.

-
-
-

GUIControl.GetAtScreenXY

-

(Formerly known as GetGUIObjectAt, which is now obsolete)

-
static GUIControl* GUIControl.GetAtScreenXY(int x, int y)
-

Checks whether there is a GUI control at screen co-ordinates (X,Y). Returns the control object if there is, or null if there is not. You probably want to use this in conjunction with GetGUIAtLocation.

-

Example:

-
GUIControl *theControl = GUIControl.GetAtScreenXY(mouse.x, mouse.y);
-if (theControl == lstSaveGames) {
-    Display("The mouse is over the Save Games list box.");
-}
-else if (theControl == null) {
-    Display("The mouse is not over a control.");
-}
-else {
-    GUI *onGui = theControl.OwningGUI;
-    Display("The mouse is over control %d on GUI %d.", theControl.ID, onGui.ID);
-}
-

will display what control the mouse is over.

-

See also: GUI.GetAtScreenXY

-
-
-
-

GUIControl.GetByName

-
static GUIControl* GUIControl.GetByName(string scriptName)
-

Returns a pointer to the GUI control with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each control which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
function ReadAndUpdateGUIControl() {
-    File *input = File.Open("$SAVEGAMEDIR$/guicontrol_info.dat", eFileRead);
-    if (input == null) {
-        Display("Error opening file.");
-        return;
-    }
-
-    String controlName = input.ReadStringBack();
-    int controlX = input.ReadInt();
-    int controlY = input.ReadInt();
-
-    input.Close();
-
-    GUIControl *controlToUpdate = GUIControl.GetByName(controlName);
-    if (controlToUpdate != null) {
-        controlToUpdate.SetPosition(controlX, controlY);
-        Display("GUI control '%s' updated.", controlName);
-    } else {
-        Display("GUI control '%s' not found.", controlName);
-    }
-}
-

This is an example of a function to read the control information from a file previously created by AGS. The file contains the name of a control and it's position, the function reads it and updates the control.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: GUIControl.ScriptName, GUIControl.SetPosition

-
-
-
-

GUIControl.AsType

-
Button*  GUIControl.AsButton;
-InvWindow* GUIControl.AsInvWindow;
-Label*   GUIControl.AsLabel;
-ListBox* GUIControl.AsListBox;
-Slider*  GUIControl.AsSlider;
-TextBox* GUIControl.AsTextBox;
-

Converts a generic GUIControl* pointer into a variable of the correct type, and returns it. If the control is not of the requested type, returns null.

-

Example:

-
Button *theButton = gIconbar.Controls[2].AsButton;
-if (theButton == null) {
-    Display("Control 2 is not a button!!!!");
-}
-else {
-    theButton.NormalGraphic = 44;
-}
-

attempts to set Button 2 on GUI ICONBAR to have NormalGraphic 44, but if that control is not a button, prints a message.

-

See also: GUI.Controls

-
-
-
-

GUIControl.BringToFront

-
GUIControl.BringToFront()
-

Brings this control to the front of the Z-order. This allows you to rearrange the display order of controls within the GUI.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnBigButton.BringToFront();
-

will move the btnBigButton button to be in front of all other controls on the GUI.

-

See also: GUIControl.SendToBack, GUIControl.ZOrder

-
-
-
-

GUIControl.Clickable

-
bool GUIControl.Clickable
-

Gets/sets whether the GUI control is clickable.

-

This property determines whether the player can click the mouse on the control. If it is set to false, then any mouse clicks will go straight through the control onto whatever is behind it. Unlike the Enabled property though, setting Clickable to false does not alter the appearance of the control.

-

Note that disabling the control by setting Enabled to false overrides this setting -- that is, if Enabled is false then the control will not be clickable, regardless of the Clickable setting.

-

Also, bear in mind that if you set Clickable to false then any mouse clicks will go through the control onto whatever is behind. On the other hand, if Enabled is set to false then the control "absorbs" the mouse click but does not do anything with it.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnSaveGame.Clickable = false;
-

will make the btnSaveGame button non-clickable.

-

See also: GUIControl.Enabled

-
-
-
-

GUIControl.Enabled

-

(Formerly known as SetGUIObjectEnabled, which is now obsolete)

-
bool GUIControl.Enabled
-

Enables or disables a GUI control.

-

Normally, all your GUI controls (such as buttons, sliders, etc) are enabled at all times except during a cutscene, when they are disabled. This command allows you to explicitly disable a control at your script's discretion.

-

If you set this to true, the control will be enabled; set to false to disable it.

-

Whether you set it as enabled or not, it will always be disabled during a blocking cutscene, along with all the other controls.

-

While a control is disabled, it will not respond to mouse clicks. If it is a button, its mouseover and pushed pictures will not be shown. The control will be drawn according to the game "When GUI Disabled" settings, as usual.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnSaveGame.Enabled = false;
-

will disable the btnSaveGame button.

-

See also: GUIControl.Clickable, GUIControl.Visible

-
-
-
-

GUIControl.Height

-
int GUIControl.Height;
-

Gets/sets the height of the GUI control. This allows you to dynamically resize GUI controls while the game is running.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnConfirm.Height = 20;
-

makes the btnConfirm button 20 pixels high.

-

See also: GUIControl.SetSize, GUIControl.Width

-
-
-
-

GUIControl.ID

-
readonly int GUIControl.ID
-

Gets the GUI control's ID number. This is the control's object number from the GUI editor, and is useful if you need to interoperate with legacy code that uses the control's number rather than object name.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
SetGUIObjectEnabled(lstSaves.OwningGUI.ID, lstSaves.ID, 1);
-lstSaves.Enabled = false;
-

uses the obsolete SetGUIObjectEnabled function to enable the lstSaves list box, and then uses the equivalent modern property to disable it.

-

See also: GUIControl.OwningGUI, GUI.ID

-
-
-
-

GUIControl.OwningGUI

-
readonly GUI* GUIControl.OwningGUI
-

Gets the GUI control's owning GUI, which is the GUI that contains the control.

-

Returns a GUI, which allows you to use all the usual GUI functions and properties.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
GUI *thegui = lstSaves.OwningGUI;
-thegui.Visible = false;
-
-lstSaves.OwningGUI.Visible = true;
-

turns off the GUI that contains the lstSaves list box, then turns it on again using the niftier full pathing approach.

-

See also: GUIControl.ID, GUI.ID

-
-
-
-

GUIControl.SendToBack

-
GUIControl.SendToBack()
-

Sends this control to the back of the Z-order. This allows you to rearrange the display order of controls within the GUI.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnBigButton.SendToBack();
-

will move the btnBigButton button to be behind all other controls on the GUI.

-

See also: GUIControl.BringToFront, GUIControl.ZOrder

-
-
-
-

GUIControl.SetPosition

-

(Formerly known as SetGUIObjectPosition, which is now obsolete)

-
GUIControl.SetPosition(int x, int y)
-

Moves the top-left corner of the GUI control to be at (X,Y). These co-ordinates are relative to the GUI which contains the control.

-

This allows you to dynamically move GUI controls around on the screen while the game is running, and this may well be useful in conjunction with GUI.SetSize if you want to create dynamically resizable GUIs.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnConfirm.SetPosition(40, 10);
-

will move the btnConfirm button to be positioned at (40,10) within the GUI.

-

See also: GUIControl.Enabled, GUI.SetPosition, GUIControl.SetSize, GUIControl.X, GUIControl.Y

-
-
-
-

GUIControl.SetSize

-

(Formerly known as SetGUIObjectSize, which is now obsolete)

-
GUIControl.SetSize(int width, int height)
-

Adjusts the specified GUI control to have the new size WIDTH x HEIGHT.

-

This allows you to dynamically resize GUI controls on the screen while the game is running, and this may well be useful in conjunction with GUI.SetSize and GUIControl.SetPosition if you want to create dynamically resizable GUIs.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
invMain.SetSize(160, 100);
-

will resize the invMain control to have a size of 160 x 100.

-

See also: GUIControl.Height, GUIControl.SetPosition, GUI.SetSize, GUIControl.Width,

-
-
-
-

GUIControl.Transparency

-
int GUIControl.Transparency
-

Gets/sets the GUIControl translucency, in percent.

-

Setting this to 100 means the GUI is totally invisible, and lower values represent varying levels of translucency. Set it to 0 to stop the GUI being translucent.

-

NOTE: Transparency only works in 16-bit and 32-bit color games.

-

Some rounding is done internally when the transparency is stored -- therefore, if you get the transparency after setting it, the value you get back might be one out. Therefore, using a loop with gInventory.Transparency++; is not recommended as it will probably end too quickly.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GUI.Transparency, Object.Transparency

-
-
-
-

GUIControl.Visible

-
bool GUIControl.Visible
-

Gets/sets whether the GUI control is visible. This is true by default, but you can set it to false in order to temporarily remove the GUI control from the GUI.

-

While the control is invisible, it will not be drawn on the screen, and will not register clicks or otherwise respond to any user input.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnSaveGame.Visible = false;
-

will make the btnSaveGame button invisible.

-

See also: GUIControl.Enabled

-
-
-
-

GUIControl.Width

-
int GUIControl.Width;
-

Gets/sets the width of the GUI control. This allows you to dynamically resize GUI controls while the game is running.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnConfirm.Width = 110;
-

makes the btnConfirm button 110 pixels wide.

-

See also: GUIControl.Height, GUIControl.SetSize

-
-
-
-

GUIControl.X

-
int GUIControl.X;
-

Gets/sets the X position of the GUI control. This specifies its left edge, and is relative to the GUI which contains the control.

-

This allows you to dynamically move GUI controls around on their parent GUI while the game is running.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnConfirm.X = 10;
-

will move the btnConfirm button to be positioned 10 pixels from the left of its GUI.

-

See also: GUIControl.SetPosition, GUIControl.Y

-
-
-
-

GUIControl.Y

-
int GUIControl.Y;
-

Gets/sets the Y position of the GUI control. This specifies its top edge, and is relative to the GUI which contains the control.

-

This allows you to dynamically move GUI controls around on their parent GUI while the game is running.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Example:

-
btnConfirm.Y = 20;
-

will move the btnConfirm button to be positioned 20 pixels from the top of its GUI.

-

See also: GUIControl.SetPosition, GUIControl.X

-
-
-
-

GUIControl.ScriptName

-
readonly String GUIControl.ScriptName
-

Gets the script name of the GUI Control, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some dialog stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each control in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use GUIControl.GetByName function to retrieve the control by the previously saved script name.

-

Example:

-
function ActivateControl(const string controlName)
-{
-    GUIControl* control = GUIControl.GetByName(controlName);
-    if (control != null) {
-        control.Visible = true;
-        System.Log(eLogInfo, "Activated control: %s", control.ScriptName);
-    }
-}
-

Activating a control by calling ActivateControl("btnOptions") will log its script name for debugging purposes and make it visible if it exists.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: GUIControl.GetByName, GUIControl.Visible

-
-
-
-

GUIControl.ZOrder

-
int GUIControl.ZOrder;
-

Gets/sets the control's Z-order relative to other controls within the same owning GUI. This allows you to precisely arrange the display order of controls at runtime and to know which position the control had at certain moment in time.

-

For AGS GUI Z-order means the order in which controls are displayed from bottom to top. That means that control at the bottom has Z-order equal to 0, and control at the top has highest Z-order, equal to (number of controls - 1).

-

Setting GUIControl.ZOrder = 0; will do same thing as calling GUIControl.SendToBack(), and setting GUIControl.ZOrder = GUIControl.OwningGUI.ControlCount - 1; will do same thing as calling GUIControl.BringToFront().

-

If you try to set inappropriate ZOrder, the nearest acceptable one will be applied instead. This also means that two controls cannot have equal ZOrder.

-

Applies To

-

Inherited by the Button, InvWindow, Label, ListBox, Slider and TextBox.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: GUIControl.BringToFront, GUIControl.SendToBack

-
-
-
- - - - - -
- - diff --git a/Game.html b/Game.html deleted file mode 100644 index fab03a906..000000000 --- a/Game.html +++ /dev/null @@ -1,835 +0,0 @@ - - - - - - - Game functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Game functions and properties

-
-

Game.ChangeSpeechVox

-
static bool Game.ChangeSpeechVox(const string newVoxName)
-

Changes the active voice pack to a file called sp_newvoxname.vox, where "newvoxname" is passed as a function argument. E.g. if you have sp_francais.vox in your game file, then you can do Game.ChangeSpeechVox("francais") to switch to it. Passing a blank string will revert the game to the default voice pack called speech.vox.

-

Returns true if the voice pack was changed successfully, or false if there was a problem (for example, you specified an invalid filename). In case of failure this function will also try to revert to the default pack.

-

NOTE: the active voice pack is not tied to the active text translation. In your game you may have voice matching text, or separate languages for text and voices: e.g. French voice-over with English text.

-

Example:

-
if (Game.ChangeSpeechVox("Spanish")) {
-    Display("Changed the voice-over to Spanish!");
-} else {
-    Display("Unable to change the voice-over.");
-}
-

will attempt to change the voice pack to sp_spanish.vox.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Game.SpeechVoxFilename, IsSpeechVoxAvailable, Game.ChangeTranslation, Translations, Voice speech

-
-
-

Game.ChangeTranslation

-
static bool Game.ChangeTranslation(const string newTranslationName)
-

Changes the active translation to newTranslationName. This must be the file name without the extension, for example "French" or "Spanish". It can also be a blank string, in which case the current translation will be switched off and the game will revert to the default language.

-

Returns true if the translation was changed successfully, or false if there was a problem (for example, you specified an invalid translation).

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example below.

-

Example:

-
if (Game.ChangeTranslation("Spanish") == true)
-{
-    Display("Changed the translation to Spanish!");
-}
-else
-{
-    Display("Unable to change the translation");
-}
-

will attempt to change the translation to Spanish

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Game.TranslationFilename, GetTranslation, IsTranslationAvailable, Game.ChangeSpeechVox, Translations

-
-
-
-

Game.DoOnceOnly

-
static bool Game.DoOnceOnly(const string token)
-

This function gives you an easy way of making some code run only the first time that the player encounters it. It is commonly used for awarding points.

-

The token parameter is an arbitrary string. You can pass whatever you like in for this, but IT MUST BE UNIQUE. It is this string that allows AGS to determine whether this section of code has been run before, therefore you should make sure that you do not use the same token string in two different places in your game.

-

Returns true the first time that it is called with this token, and false thereafter.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example below.

-

Example:

-
if (Game.DoOnceOnly("open cupboard")) {
-    GiveScore(5);
-}
-

will give the player 5 points the first time this script is run.

-

See also: Game.ResetDoOnceOnly, GiveScore

-
-
-
-

Game.GetColorFromRGB

-

(Formerly known as RawSetColorRGB, which is now obsolete)

-
static int Game.GetColorFromRGB(int red, int green, int blue)
-

Gets the AGS Color Number for the specified RGB color. The red, green and blue components are values from 0 to 255. This function gives you a run-time equivalent to the Color Finder in the editor.

-

This command is slow in 256-color games, since the palette has to be scanned to find the nearest matching color.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example below.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = Game.GetColorFromRGB(0, 255, 0);
-surface.DrawLine(0, 0, 50, 50);
-surface.Release();
-

will draw a bright green line onto the room background

-

See also: DrawingSurface.DrawingColor

-
-
-
-

Game.GetFrameCountForLoop

-

(Formerly part of GetGameParameter, which is now obsolete)

-
static int Game.GetFrameCountForLoop(int view, int loop)
-

Returns the number of frames in the specified loop of the specified view.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example for more.

-

Example:

-
int frameCount = Game.GetFrameCountForLoop(SWIMMING, 2);
-Display("Loop 2 in SWIMMING view has %d frames.", frameCount);
-

See also: Game.GetLoopCountForView, Game.GetRunNextSettingForLoop, Game.GetViewFrame

-
-
-
-

Game.GetLocationName

-

(Formerly known as global function GetLocationName, which is now obsolete)

-
static String Game.GetLocationName(int x, int y)
-

Returns the name of whatever is seen in the room under the given screen coordinates (x, y). This includes following:

-
    -
  • Characters,
  • -
  • Hotspots,
  • -
  • Room Objects,
  • -
  • Inventory Items.
  • -
-

If there are multiple suitable objects under these coordinates, this function will select the one that is drawn topmost. If there is no suitable object, then function will return a blank string.

-

NOTE: The co-ordinates are SCREEN co-ordinates, NOT ROOM co-ordinates. This means that this function is suitable for use with the mouse cursor position variables.

-

This function may allow you, for instance, to create the LucasArts-style status lines reading "Look at xxx" as the player moves the cursor over them.

-

NOTE: When looking up for an object under coordinates, GetLocationName is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
String location = Game.GetLocationName(mouse.x, mouse.y);
-lblDescription.Text = location;
-

will get the name of whatever the mouse is over into the string variable and then assign to a label lblDescription.

-

See also: Hotspot.Name, InventoryItem.Name, GetLocationType, Object.Name

-
-
-
-

Game.GetLoopCountForView

-

(Formerly part of GetGameParameter, which is now obsolete)

-
static int Game.GetLoopCountForView(int view)
-

Returns the number of loops in the specified view.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example for more.

-

Example:

-
int loops = Game.GetLoopCountForView(SWIMMING);
-Display("The SWIMMING view (view %d) has %d loops.", SWIMMING, loops);
-

See also: Game.GetRunNextSettingForLoop, Game.GetFrameCountForLoop, Game.GetViewFrame

-
-
-
-

Game.GetRunNextSettingForLoop

-

(Formerly part of GetGameParameter, which is now obsolete)

-
static bool Game.GetRunNextSettingForLoop(int view, int loop)
-

Returns whether the specified loop in the specified view has the "Run the next loop after this one" option checked.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example for more.

-

Example:

-
if (Game.GetRunNextSettingForLoop(SWIMMING, 5) == true) {
-    Display("Loop 5 in view SWIMMING does have Run Next Loop set.");
-}
-else {
-    Display("Loop 5 in view SWIMMING does not have Run Next Loop set.");
-}
-

See also: Game.GetLoopCountForView, Game.GetFrameCountForLoop, Game.GetViewFrame

-
-
-
-

Game.GetSaveSlotDescription

-

(Formerly known as global function GetSaveSlotDescription, which is now obsolete)

-
static String Game.GetSaveSlotDescription(int slot)
-

Gets the text description of save game slot SLOT.

-

If the slot number provided does not exist, returns null.

-

Example:

-
String description = Game.GetSaveSlotDescription(10);
-

will get the description of save slot 10 into the variable.

-

See also: DynamicSprite.CreateFromSaveGame, RestoreGameSlot, SaveGameSlot

-
-
-
-

Game.GetViewFrame

-

(Formerly part of GetGameParameter, which is now obsolete)

-
static ViewFrame* Game.GetViewFrame(int view, int loop, int frame)
-

Returns a ViewFrame instance for the specified frame in the specified loop of the specified view.

-

This instance allows you to query properties of the frame itself, such as its graphic, its frame-linked sound setting, and so forth.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example for more.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(SWIMMING, 2, 3);
-Display("Frame 3 in loop 2 of view SWIMMING has sprite slot %d.", frame.Graphic);
-

See also: Game.GetLoopCountForView, Game.GetRunNextSettingForLoop, Game.GetFrameCountForLoop, ViewFrame.Graphic, ViewFrame.Speed

-
-
-
-

Game.InputBox

-

(Formerly known as global function InputBox, which is now obsolete)

-
static String Game.InputBox(string prompt)
-

Pops up a window asking the user to type in a string, with PROMPT as the text in the window. Whatever they type in will be returned from this function.

-

This command displays a very basic input box, mainly useful for debugging purposes. Due to the size of the window, only small strings up to about 20 characters can be typed in.

-

The recommended way to obtain user input is to create your own GUI with a text box on it, which allows you full customization of the look of the window.

-

TIP: If you add a '!' character to the start of the prompt, then a Cancel button will be available in the input box. If the player presses this Cancel button (or the ESC key), a blank string is returned.

-

Example:

-
String name = Game.InputBox("!What is your name?");
-

will prompt the user for his name and store it in the string NAME. If the user presses Cancel, the NAME string will be blank.

-

See also: String.AsInt

-
-
-
-

Game.IsAudioPlaying

-

(Formerly known as IsMusicPlaying, which is now obsolete)
(Formerly known as IsSoundPlaying, which is now obsolete)

-
static bool Game.IsAudioPlaying(optional AudioType)
-

Returns true if there is currently audio playing of the specified type. If you don't supply an audio type, then true will be returned if there is any audio at all playing in the game.

-

If no audio of the specified type is playing, returns false. You can use this to wait for some music to finish playing, for example.

-

Example:

-
while (Game.IsAudioPlaying(eAudioTypeMusic))
-{
-    Wait(1);
-}
-

waits for any currently playing music to finish.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.StopAudio

-
-
-
-

Game.IsPluginLoaded

-
static bool Game.IsPluginLoaded(const string name)
-

Checks whether the plugin of the given name was present and loaded for the game.

-

IMPORTANT: If the plugin exports its own script functions that you used in your game script, and not found when the game is launched, then the game won't start up at all, exiting with error. IsPluginLoaded may therefore be useful to check for plugins that are not interacted with from game script, but just run on their own.

-

Example:

-
if (Game.IsPluginLoaded("my_plugin")) {
-    Display("My plugin is found and running!");
-}
-

will display a message if plugin is present.

-
-
-
-

Game.PlayVoiceClip

-
static AudioChannel* Game.PlayVoiceClip(Character* c, int cue, bool as_speech)
-

Plays a voice clip from the speech.vox in a non-blocking manner. It returns an AudioChannel pointer which you may use to control playback same way you control other clips, or null if it could not be started.

-

Character and "cue" arguments are used to find actual clip, this works the same way as when you do cEgo.Say("&10 speech text"); in which case "10" is a cue number. For more information about this see: Voice speech.

-

The "as_speech" argument tells whether playback has same effect on game as regular speech. At the moment this means that music volume will drop and restore after playback is finished. This parameter "as_speech" is TRUE by default and may be omitted.

-

This command will be ignored if a regular blocking voice is currently playing. Also, both blocking and non-blocking voice will interrupt non-blocking voice-over if one was playing.

-

NOTE: because of how audiochannels work internally right now voice is always played on the same channel 0, therefore you could also get it as System.AudioChannels[0], but it may not be a good idea to rely on this because channel behavior may change in future.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Voice speech, AudioChannel, AudioClip.Play, Character.Say

-
-
-
-

Game.PrecacheSprite

-
static void Game.PrecacheSprite(int sprnum)
-

Loads a sprite into memory, prepares a texture (if necessary for the current graphics driver), and stores them in the engine's memory cache for later use.

-

This function is meant for preloading sprites and precreating textures that will be used during the next scene for displaying room objects or playing animations. Normally AGS loads sprites automatically, but sometimes loading is not fast enough and may cause visible slowdowns. In such cases you may use PrecacheSprite as a workaround and load certain sprites before the scene begins. For the best results this should be done during some kind of "Loading" screens, or in "Room enter before fade-in" events.

-

IMPORTANT: this function uses the standard sprite and texture caches, and its efficiency depends on the sizes of these caches. If player's config assigns low cache size, the preloaded sprites may exceed that limit, and previously loaded items will get unloaded. Keep this in mind when precaching many sprites at once, and perhaps set higher cache values in default game config.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Game.PrecacheView

-
-
-
-

Game.PrecacheView

-
static void Game.PrecacheView(int view, int first_loop, int last_loop)
-

Loads all sprites used in the view's frames, in the range from first_loop to last_loop (inclusive), prepares textures for them (if necessary for the current graphics driver), and stores them in the engine's memory cache for later use.

-

This function is similar to PrecacheSprite, but simplifies loading a full animation into the cache. Everything said about PrecacheSprite applies to PrecacheView too.

-

IMPORTANT: this function uses the standard sprite and texture caches, and its efficiency depends on the sizes of these caches. If player's config assigns low cache size, the preloaded sprites may exceed that limit, and previously loaded items will get unloaded. Keep this in mind when precaching many sprites at once, and perhaps set higher cache values in default game config.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Game.PrecacheSprite

-
-
-
-

Game.ResetDoOnceOnly

-
static void Game.ResetDoOnceOnly()
-

This function resets all the token states from Game.DoOnceOnly("example token") calls.

-

Example:

-
if (Game.DoOnceOnly("say hi once")) {
-    Display("Hi!");
-}
-Game.ResetDoOnceOnly()
-if (Game.DoOnceOnly("say hi once")) {
-    Display("Hi again!");
-}
-

will say hi twice, and also reset ALL do once only tokens.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Game.DoOnceOnly

-
-
-
-

Game.SetAudioTypeSpeechVolumeDrop

-

(Formerly known as game.speech_music_drop, which is now obsolete)

-
static Game.SetAudioTypeSpeechVolumeDrop(AudioType, int volumeReduction)
-

Changes the VolumeReductionWhileSpeechPlaying of the specified AudioType. This changes the setting, initially set in the Audio Types part of the editor. It specifies how much the volume of clips of this type will be reduced by while speech is playing.

-

Specify 0 for no volume adjustment, up to 100 which will completely silence these audio clips while speech is playing.

-

Example:

-
Game.SetAudioTypeSpeechVolumeDrop(eAudioTypeMusic, 25);
-

will reduce the volume of Music audio clips by 25 percentage points while speech is playing.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.SetAudioTypeVolume

-
-
-
-

Game.SetAudioTypeVolume

-

(Formerly known as SetSoundVolume, which is now obsolete)

-
static Game.SetAudioTypeVolume(AudioType, int volume, ChangeVolumeType)
-

Changes the default volume of the specified AudioType. This allows you to change the volume of all audio clips of a particular type, so that you can easily control sound and music volume separately, for example.

-

VOLUME ranges from 0-100, where 100 is the loudest, and 0 will mute sound of that type completely.

-

Possible values for ChangeVolumeType are:

-
eVolChangeExisting      change the volume of currently playing audio clips
-eVolSetFutureDefault    change the default volume for clips of this type
-eVolExistingAndFuture   change both currently playing and future audio
-

Initially general AudioType volume is not set, meaning that all future audio will be playing using their own custom volumes. If you use the eVolSetFutureDefault or eVolExistingAndFuture, then the DefaultVolume property for all audio clips of this type will be overridden. This means that any DefaultVolume set up in the editor will be lost.

-

Example:

-
Game.SetAudioTypeVolume(eAudioTypeMusic, 20, eVolExistingAndFuture);
-

will change the volume of all currently playing and future music to 20%.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: SetSpeechVolume, Game.SetAudioTypeSpeechVolumeDrop, AudioClip.Play, System.Volume

-
-
-
-

Game.SetSaveGameDirectory

-
static bool Game.SetSaveGameDirectory(string directory)
-

Changes the directory where save game files are stored to the supplied directory. If the directory does not exist, AGS will attempt to create it.

-

You cannot use fully qualified directories with this command (e.g. C:\Games\Cool\Saves), because the player might have installed your game to any folder, and they might not be running Windows.

-

Therefore, only two types of path are supported:

-
    -
  1. Relative paths (e.g. "Saves"). This will create a subfolder inside default game save folder
  2. -
  3. The special tag $MYDOCS$ which allows you to explicitly create a different folder for your save games inside the user's documents folder.
  4. -
-

The actual folder referenced with $MYDOCS$ is different on every platform: Windows XP: "My Documents"
Windows Vista and later: "Saved Games"
Linux: $XDG_DATA_HOME/ags
MacOS: game installation folder.

-

Returns true if the save game directory has been changed successfully; false if not.

-

NOTE: We advise you against using this function without strong need. In the most cases setting the "Save games folder name" property in the General Settings of the editor should be sufficient.

-

Example:

-
Game.SetSaveGameDirectory("$MYDOCS$/My Cool Game Saves");
-

will change the save game directory to "My Cool Game Saves" in My Documents, and create the folder if it does not exist (might be useful to do this in game_start).

-

See also: ListBox.FillSaveGameList, RestoreGameDialog

-
-
-
-

Game.SimulateKeyPress

-
static Game.SimulateKeyPress(eKeyCode key)
-

Fires a keypress event. This is in all aspects identical to what would happen if a player pressed a key on keyboard. This function may be useful to simulate player actions in game, or create automatic demonstrations (like tutorials).

-

IMPORTANT: because of how AGS engine and scripts work the game will react to this keypress not before current script function finishes. Any things that normally react to keys (such as skippable speech, cutscenes, and certain GUI controls) will be affected only at the following internal game update.

-

Example:

-
Game.SimulateKeyPress(eKeySpace);
-

This simulates a "space" key press.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Mouse.Click, List of supported key codes

-
-
-
-

Game.StopAudio

-

(Formerly known as Game.StopSound, which is now obsolete)
(Formerly known as StopMusic, which is now obsolete)

-
static Game.StopAudio(optional AudioType)
-

Stops all currently playing audio. If you pass no parameters, then all audio will be stopped. Alternatively, you can pass one of the AudioTypes which will only stop audio clips of that type.

-

If there are any audio clips queued up with PlayQueued, they will also be canceled.

-

Example:

-
Game.StopAudio();
-

will stop all currently playing audio.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.IsAudioPlaying, AudioClip.Play, AudioChannel.Stop

-
-
-
-

Game.AudioClipCount

-
readonly static int Game.AudioClipCount
-

Returns the number of audio clips in the game.

-

This is useful for script modules if you need to iterate through all the audio clips for some reason.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Game.AudioClips

-
-
-
-

Game.AudioClips

-
readonly static int Game.AudioClips[int slot]
-

Returns the AudioClip* pointer by its index in game resources.

-

Example:

-
int i = 0;
-int music_count = 0;
-while (i < Game.AudioClipCount)
-{
-    if (Game.AudioClips[i].Type == eAudioTypeMusic)
-        music_count++;
-    i++;
-}
-Display("We have %d musical clips in our game", music_count);
-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Game.AudioClipCount

-
-
-
-

Game.Camera

-
static readonly Camera* Game.Camera;
-

Gets the primary camera. This is the default camera that is created automatically at the start of the game and cannot be deleted.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Game.Cameras, Camera, Camera.Create, Camera.Delete, Viewport.Camera

-
-
-
-

Game.CameraCount

-
static readonly int Game.CameraCount
-

Gets the number of cameras.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Game.Cameras

-
-
-
-

Game.Cameras

-
static readonly Camera* Game.Cameras[int index];
-

Returns the Camera instance by its index. There's always at least primary camera at the index 0, more could be created in script using Camera.Create.

-

IMPORTANT: with the current implementation when you delete a custom camera in the middle all the following cameras will be shifted towards beginning of array, changing their indexes.

-

Example:

-
for (int i = 0; i < Game.CameraCount; i++) {
-    Game.Cameras[i].SetAt(0, 0);
-}
-

This script positions all existing cameras at the room's top-left corner.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Game.Camera, Game.CameraCount, Camera.Create, Camera.Delete, Viewport.Camera

-
-
-
-

Game.CharacterCount

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.CharacterCount
-

Returns the number of characters in the game.

-

This is useful for script modules if you need to iterate through all the characters for some reason.

-

Example:

-
Display("The game has %d characters.", Game.CharacterCount);
-
-
-
-

Game.DialogCount

-
readonly static int Game.DialogCount
-

Returns the number of dialogs in the game.

-

This is useful for script modules if you need to iterate through all the dialogs for some reason. Valid dialogs are numbered from 0 to DialogCount - 1.

-

Example:

-
Display("The game has %d dialogs.", Game.DialogCount);
-

Compatibility: Supported by AGS 3.0.2 and later versions.

-
-
-
-

Game.FileName

-
readonly static String Game.FileName
-

Gets the filename that the game is running from. This will usually be the name of the EXE file, but could also be "ac2game.dat" if you are just running the game using ACWIN.EXE.

-

Example:

-
Display("The main game file is: %s", Game.FileName);
-

will display the game filename.

-

See also: Game.Name

-
-
-
-

Game.FontCount

-
readonly static int Game.FontCount
-

Returns the number of fonts in the game.

-

This is useful for script modules if you need to iterate through all the fonts for some reason.

-

Example:

-
Display("The game has %d fonts.", Game.FontCount);
-
-
-
-

Game.GlobalMessages

-

(Formerly known as global function GetMessageText, which is now obsolete)

-
readonly static String Game.GlobalMessages[int message]
-

Gets the text of the specified global message. The message number is one of the global message numbers from 500 to 999.

-

If an invalid message number is supplied, null will be returned. Otherwise, the message contents will be returned.

-

NOTE: Global Messages were a feature of AGS 2.x and are now obsolete. You will not need to use this property in new games.

-

Example:

-
String message = Game.GlobalMessages[997];
-Display("Global message 997 says: %s", message);
-

will display global message 997.

-
-
-
-

Game.GlobalStrings

-

(Formerly known as GetGlobalString, which is now obsolete)
(Formerly known as SetGlobalString, which is now obsolete)

-
static String Game.GlobalStrings[index]
-

Gets/sets global string index.

-

NOTE: GlobalStrings are now considered obsolete. Consider using global variables instead, which allow you to name the variables.

-

Global strings provided a way to share string variables between scripts. There are 50 available global strings, with index values from 0 to 49.

-

Example:

-
Game.GlobalStrings[15] = "Joe";
-Display("Global string 15 is now: %s", Game.GlobalStrings[15]);
-

will set global string 15 to contain "Joe".

-

See also: Global variables, GetGlobalInt, SetGlobalInt

-
-
-
-

Game.GUICount

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.GUICount
-

Returns the number of GUIs in the game.

-

This is useful for script modules if you need to iterate through all the GUIs for some reason. Valid GUIs are numbered from 0 to GUICount minus 1.

-

Example:

-
Display("The game has %d GUIs.", Game.GUICount);
-
-
-
-

Game.IgnoreUserInputAfterTextTimeoutMs

-
static int Game.IgnoreUserInputAfterTextTimeoutMs;
-

Gets/sets the length of time for which user input is ignored after some text is automatically removed from the screen.

-

When AGS is configured to automatically remove text after a certain time on the screen, sometimes the player might try to manually skip the text by pressing a key just as it is removed automatically, and thus they end up skipping the next text line by accident. This property is designed to eliminate this problem.

-

This property is specified in milliseconds (1000 = 1 second), and is set to 500 by default.

-

Example:

-
Game.IgnoreUserInputAfterTextTimeoutMs = 1000;
-

will tell AGS to ignore mouse clicks and key presses for 1 second after text is automatically removed from the screen.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.MinimumTextDisplayTimeMs, Game.TextReadingSpeed, Speech.SkipStyle

-
-
-
-

Game.InSkippableCutscene

-

(Formerly known as game.in_cutscene, which is now obsolete)

-
static bool Game.InSkippableCutscene
-

Returns whether the game is currently between a StartCutscene and EndCutscene, and therefore whether the player is able to skip over this part of the game.

-

When the player chooses to skip a cutscene all of the script code is run as usual, but any blocking commands are run through without the usual game cycle delays. Therefore, you should never normally need to use this property since cutscenes should all be handled automatically, but it could be useful for script modules.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example below.

-

Example:

-
if (Game.InSkippableCutscene)
-{
-    Display("The player might never see this message!");
-}
-

will display a message if we are within a cutscene

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: StartCutscene, EndCutscene, Game.SkippingCutscene

-
-
-
-

Game.InventoryItemCount

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.InventoryItemCount
-

Returns the number of inventory items in the game. This is the total number of items that you created in the Inventory Items pane of the editor, not how many the player is currently carrying.

-

Example:

-
Display("The game has %d inventory items.", Game.InventoryItemCount);
-
-
-
-

Game.MinimumTextDisplayTimeMs

-
static int Game.MinimumTextDisplayTimeMs;
-

Gets/sets the minimum length of time that text is displayed on the screen. AGS automatically adjusts the length of time that text is displayed for depending on the length of the text (and you can customize this calculation with Game.TextReadingSpeed), but for very short statements like "Hi!", you might want the text to remain for longer.

-

This property is specified in milliseconds (1000 = 1 second), and is set to 1000 by default.

-

NOTE: This property is ignored if lip-sync is enabled, or if the General Settings are set not to allow text to be automatically removed.

-

Example:

-
Game.MinimumTextDisplayTimeMs = 2000;
-

will ensure that even the shortest "Hi!" text line will be displayed for at least 2 seconds

-

Compatibility: Supported by AGS 3.1.2 and later versions.

-

See also: Character.SpeechAnimationDelay, Game.IgnoreUserInputAfterTextTimeoutMs Game.TextReadingSpeed

-
-
-
-

Game.MouseCursorCount

-
readonly static int Game.MouseCursorCount
-

Returns the number of mouse cursors in the game.

-

This is useful for script modules if you need to iterate through all the cursors for some reason.

-

Example:

-
Display("The game has %d cursors.", Game.MouseCursorCount);
-
-
-
-

Game.Name

-
static String Game.Name
-

Gets/sets the game's name. This is initially set in the General Settings pane of the editor, but you can change it at run-time in order to change the window title of your game.

-

Example:

-
Display("The game name is: %s", Game.Name);
-

will display the game name.

-

See also: Game.FileName

-
-
-
-

Game.NormalFont

-

(Formerly known as global function SetNormalFont, which is now obsolete)

-
static FontType Game.NormalFont
-

Gets/sets the font used for all in-game text, except speech. The font number must be a valid number from the Fonts pane of the editor.

-

More specifically, AGS uses the Normal Font for the following:

-
    -
  • Display
  • -
  • DisplayTopBar
  • -
  • dialog options text
  • -
  • the built-in save and restore dialogs
  • -
-

The Normal Font is font 0 by default.

-

Example:

-
Game.NormalFont = eFontSpecial;
-

will change the normal font to the font "Special".

-

See also: Game.SpeechFont

-
-
-
-

Game.SkippingCutscene

-

(Formerly known as game.skipping_cutscene, which is now obsolete)

-
static bool Game.SkippingCutscene
-

Returns whether the player has elected to skip the current cutscene. This will return true if the game is between a StartCutscene and EndCutscene command, and the player has chosen to skip it.

-

Although cutscene skipping is handled automatically by AGS, you can use this property to optimize the process by bypassing any lengthy blocks of code that don't need to be run if the cutscene is being skipped over.

-

NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example below.

-

Example:

-
if (!Game.SkippingCutscene)
-{
-    aScaryMusic.Play();
-    Wait(100);
-    Game.StopAudio();
-}
-

will only attempt to play the music if the player is not skipping the cutscene.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: StartCutscene, EndCutscene, Game.InSkippableCutscene

-
-
-
-

Game.SpeechFont

-

(Formerly known as global function SetSpeechFont, which is now obsolete)

-
static FontType Game.SpeechFont;
-

Gets/sets the font used for character speech. The font number you supply must be a valid number from the Fonts pane of the editor.

-

The Speech Font is font 1 by default.

-

Example:

-
Game.SpeechFont = eFontStandard;
-

will change the speech font to "Standard".

-

See also: Game.NormalFont

-
-
-
-

Game.SpeechVoxFilename

-
readonly static String Game.SpeechVoxFilename;
-

Gets the name of the active voice package name. This is not equal to the full file name; assuming file is called "sp_name.vox", this function will return only the "name" part. If a default "speech.vox" is used (or no voice pack at all), a blank string is returned.

-

Example:

-
if (Game.SpeechVoxFilename== "German") {
-    Display("You are using the German voice.");
-}
-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Game.ChangeSpeechVox, IsSpeechVoxAvailable, Game.ChangeTranslation, Game.TranslationFilename, Translation, Voice speech

-
-
-
-

Game.SpriteHeight

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.SpriteHeight[int slot]
-

Returns the height of the specified sprite.

-

The height will be returned in the original sprite pixels (without any scaling). If an invalid sprite slot is supplied, 0 will be returned.

-

Example:

-
Display("Object 0's sprite is sized %d x %d.", Game.SpriteWidth[object[0].Graphic],
-        Game.SpriteHeight[object[0].Graphic]);
-

See also: Game.SpriteWidth

-
-
-
-

Game.SpriteWidth

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.SpriteWidth[int slot]
-

Returns the width of the specified sprite.

-

The width will be returned in the original sprite pixels (without any scaling). If an invalid sprite slot is supplied, 0 will be returned.

-

Example:

-
Display("Object 0's sprite is sized %d x %d.", Game.SpriteWidth[object[0].Graphic],
-        Game.SpriteHeight[object[0].Graphic]);
-

See also: Game.SpriteHeight

-
-
-
-

Game.TextReadingSpeed

-

(Formerly known as game.text_speed, which is now obsolete)

-
static int Game.TextReadingSpeed;
-

Gets/sets the speed at which AGS assumes the player can read text, and therefore how long speech stays on the screen before it is automatically removed.

-

Specifically, the TextReadingSpeed is the number of characters of text that the player can read in a second. It is 15 by default. A higher number will therefore lead to the text being removed more quickly.

-

It is useful to link this setting to a GUI Slider on some sort of Control Panel GUI so that the player can adjust it depending on their reading speed.

-

NOTE: This property is ignored if lip-sync is enabled, or if the General Settings are set not to allow text to be automatically removed.

-

Example:

-
Game.TextReadingSpeed = 7;
-

sets the text reading speed to half the default, which will leave speech on-screen for twice as long as usual.

-

Compatibility: Supported by AGS 3.1.2 and later versions.

-

See also: Character.SpeechAnimationDelay, Game.MinimumTextDisplayTimeMs, Speech.SkipStyle

-
-
-
-

Game.TranslationFilename

-

(Formerly known as GetTranslationName, which is now obsolete)

-
readonly static String Game.TranslationFilename;
-

Gets the name of the current translation filename (without the ".tra" extension). This may be useful if you want to use a different graphic somewhere depending on which translation is being used.

-

If no translation is in use, a blank string is returned.

-

Example:

-
if (Game.TranslationFilename == "German") {
-    Display("You are using the German translation.");
-}
-

See also: Game.ChangeTranslation, GetTranslation, IsTranslationAvailable, Game.SpeechVoxFilename, Translation Manual

-
-
-
-

Game.UseNativeCoordinates

-
readonly static bool Game.UseNativeCoordinates
-

Returns whether the game is using native co-ordinates. If native co-ordinates are in use, then all X, Y, Top, Bottom, Width and Height variables in the game will be expected to reflect the resolution of the game.

-

If this is false, then the game is operating in backwards-compatible mode where all co-ordinates are low-res.

-

If the game resolution is 320x200 or 320x240, this setting has no effect.

-

This property is read-only; it is not possible to change this setting at run-time.

-

Example:

-
if (Game.UseNativeCoordinates)
-{
-    Display("The player is at %d, %d -- REALLY!", player.x, player.y);
-}
-else
-{
-    Display("The player is at %d, %d in the old-school system", player.x, player.y);
-}
-

Compatibility: Supported by AGS 3.1.0 and later versions.

-
-
-
-

Game.ViewCount

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Game.ViewCount
-

Returns the number of views in the game.

-

This is useful for script modules if you need to iterate through all the views for some reason. Valid views are numbered from 1 to ViewCount.

-

Example:

-
Display("The game has %d views.", Game.ViewCount);
-
-
-
-

Game.BlockingWaitSkipped

-
readonly static int Game.BlockingWaitSkipped
-

Gets the code which describes how was the last blocking state skipped by a user (or autotimer).

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: WaitKey, WaitMouseKey, SkipWait

-
-
-
- - - - - -
- - diff --git a/GameEventsOrder.html b/GameEventsOrder.html deleted file mode 100644 index 2fbad975e..000000000 --- a/GameEventsOrder.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - Game events order - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Game events order

-

The game in AGS consists of "loops" which run repeatedly with certain speed (see SetGameSpeed). On each loop it runs certain events and script callbacks, updates the game and redraws the game on screen.

-

The order of these actions within a single loop is consistent. When you start using AGS you probably won't care about that, but as you write more complex scripts, it may become important. This order may seem a bit strange in some parts, but it's a result of AGS development history.

-

Following is a sequence of actions which happen in a normal game loop:

-
    -
  1. repeatedly_execute_always function is called (if found in script).
  2. -
  3. (since AGS 3.6.0) Game cursor position update; GUI focus is updated, depending on a new cursor position.
  4. -
  5. Reaction to player's input (keyboard, mouse, and so on); not every action is immediate though, some things will be scheduled and put into the event queue, which is processed much later.
  6. -
  7. Main game update: almost everything in the game is updated: characters, room objects, animations, and so forth.
  8. -
  9. late_repeatedly_execute_always function is called (if found in script).
  10. -
  11. Non-blocking screen shaking update (see ShakeScreenBackground).
  12. -
  13. (prior to AGS 3.6.0) Game cursor position update; GUI focus is updated, depending on a new cursor position.
  14. -
  15. Game is drawn on screen.
  16. -
  17. All the scheduled events are executed. Strictly speaking, the order of execution is undefined. Commonly repeatedly_execute goes first, but that's rather a coincidence and is not recommended to rely upon. Other events include: on_key_press, on_mouse_click, on_event, and so forth (see their respective page for details).
  18. -
-
-
- - - - - -
- - diff --git a/GameSavesCompatibility.html b/GameSavesCompatibility.html deleted file mode 100644 index 4c5eaddd4..000000000 --- a/GameSavesCompatibility.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - Game saves compatibility - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Game saves compatibility

-

AGS games have a built-in save system that is very convenient most of the time as it automatically writes down states of the game and all objects in it, allowing to restore saved game to exactly same condition it was saved in.

-

But it has one serious flaw. When game data is written to a save file the game objects and variables are written as lists, where separate items are not identified in any way rather than order in that list. Because of that, if you, the author of the game, update your game adding or removing any objects, all the saves made with a previous version of the game will become unusable. Simply changing the IDs of game objects in the project tree or changing the order of the variables in script will cause previous saves to glitch, as old data will be restored into wrong objects or variables.

-

This may not be the biggest issue while the game is in development, as you have multiple ways to make the game "teleport" the player character to the desired scene instead of using a save state. But it becomes a problem after you released your game to the public, as any update or patch that involves adding new objects or variables will render the player's saves unusable.

-

Following article explores which changes to your game are safe and which are not in terms of keeping your game compatible with older saves, and which known methods exist to work around this problem.

-
-

Changes in the game project that break saves

-

Changing the number (adding or removing) of almost all game objects will break previous saved states. Following types of objects contribute to this:

-
    -
  • Audio Types,
  • -
  • Characters,
  • -
  • Dialogs (but not options in existing Dialog, for technical reasons),
  • -
  • Global Variables,
  • -
  • GUIs and controls on existing GUIs,
  • -
  • Inventory items,
  • -
  • Mouse cursor types,
  • -
  • Views, loops and frames in them (because frames may be changed in script and their properties are added to the save state),
  • -
  • Script modules (when changing the number of them by adding or removing scripts)
  • -
-

In addition to that, changing the total size of variables declared in the global scope of each script (NOT local function variables) will break older save states.
To elaborate on what "total size" is, imagine you have this declared in a script:

-
int a;
-int b;
-int c;
-

This adds up to make the total size of script variables 3 integers (or 3 * 4 bytes = 12 bytes). Now, if you change this to

-
int vars[3];
-

even though there's now only one variable, this also gives a total size of 3 integers, and won't break save states. (Here we omit the question whether it will still make sense to restore older save with such a change in the script.)

-
-
-

Changes that DON'T break saves but are NOT SAFE

-

Changing the number of Room Objects in existing rooms, while technically not preventing the compiled game to restore old saves, still may lead to bugs. Because their real number is stored in saves, players may end up having more or less objects in a room than there are supposed to be. And because currently you cannot create or delete Room Objects with a script command you won't be able to fix this, you can only detect this happening by checking Room.ObjectCount.

-

Changing the size of the dynamic arrays and managed structs won't break saves, but may cause the game to crash if a script tries to access newer elements or variables in these arrays and structs after restoring older saves.
Still this may be worked around and can actually be used to your advantage: see the dedicated section below for more information.

-
-
-

Changes that DON'T break saves and ARE SAFE

-

Parts of the game which may be safely added or removed:

-
    -
  • Dialog options in existing Dialogs.
  • -
  • Rooms, adding new ones. Removing a room is not safe, as loading a state saved in a no longer existing room will crash the game.
  • -
  • Adding more background frames to existing rooms, but probably not removing them (needs to be checked).
  • -
  • Editing room backgrounds or area masks is fully safe; even if you draw areas of different ID (color).
  • -
  • Custom properties. If you remove existing ones, their values may still load from the older save but will not be accessible.
  • -
-

Adding or removing any kind of plain resources, such as

-
    -
  • Sprites
  • -
  • Fonts,
  • -
  • Audio clips,
  • -
  • Voice-over clips,
  • -
  • Video files,
  • -
  • Translations
  • -
-

IMPORTANT: Removing sprites is only safe if you fix all objects that could have them assigned upon restoring a save. The same goes for clips assigned to View Frames, and fonts used on GUIs.

-

In scripts:

-
    -
  • User types (structs) may be added; but if you change the size of a regular struct while having variables of that type in your script - that would also change the size of these variables, and may break saves. Managed structs may be changed in size without breaking a save, but this requires a special approach (see below).
  • -
  • Macros,
  • -
  • Functions and attributes, and generally - function code itself,
  • -
  • For the same reasons - changing existing dialog scripts,
  • -
  • Local variables (inside functions) may be added and removed freely because they are not saved, because AGS does not allow the game to save while it is inside a script function
  • -
-
-
-

An issue of dynamic objects

-

The pointers which are global variables are part of script's total variable size, so adding or removing them in script will result in the save breaking. The managed objects themselves are not stored in the script's variable memory, but in their own memory pool. They are also completely written to the save file, and loading this save will restore the original managed object with its original size. Therefore, changing their sizes in a new version of the game doesn't break previous saves. However, there's a number of potential problems with that and these have to be resolved if you want to maintain save compatibility.

-

Consider a simple dynamic array:

-
int dyn_arr[];
-
-function game_start() {
-    dyn_arr = new int[100];
-}
-

Let's assume you had this in game version 1, made a save, then increased the dynamic array's size in script to 200:

-
dyn_arr = new int[200];
-

What will happen if you now compile game version 2 and then restore the old save? The game will restore the dynamic array with the previous size of 100. This means that if your new script will now try to access elements in the array beyond 100 (thinking that this array has 200 elements now), that will result in an "index out of range" error. Unfortunately at the time of writing this AGS manual page, you can't access the length of a dynamic arrays directly in script. But you can store their length somewhere else, for example, in a variable:

-
int dyn_arr[];
-int arr_size;
-
-function game_start() {
-    dyn_arr = new int[100];
-    arr_size = 100;
-}
-

There are other ways of fixing this, for example you could store the array length in its first element. You just will have to remember it's there when working with the array; but that's a different topic. In any case, having the array length stored, if you ever change that array's size and restore an older save, that length variable will also be restored and will tell you the correct size of the array. If you still need the array to be exactly 200 elements in size in the new version of the game you may resize it after restoring a save. This is explained further in the "Solutions" section.

-

Less likely, but if you instead reduce the array's size, then the array restored from the older save will be bigger in size than necessary, but that's much less of a problem and may be ignored.

-

This is what happens with changes in dynamic arrays, but what about changes in custom managed structs? Assume in game version 1 you have:

-
managed struct MyStruct {
-    int a;
-    int b;
-};
-
-MyStruct* var;
-
-function game_start() {
-    var = new MyStruct;
-}
-

Then in game version 2 you decided to add another variable:

-
managed struct MyStruct {
-    int a;
-    int b;
-    int c;
-};
-

If you load an older save from version 1 while running version 2, created objects of this type will load but will be one variable less in size. Trying to use the additional variable in script will result in an error. This is similar to the array case. The solution here is similar to the array solution: upon restoring the older save recreate all managed objects (they will be of the correct size), copy valid content from restored objects into them, and reassign pointers to these recreated objects. Again, this is explained more in the "Solutions" section.

-

And again, if you remove a variable instead:

-
managed struct MyStruct {
-    int a;
-};
-

in this case the older save will be restored, and the old variants of MyStruct will also be loaded. They will contain all the removed variables, but you no longer will be able to access them in script because they are no longer declared so the script is not aware of their existence.

-

Finally, there's another potential problem. Let's look at this variant:

-
managed struct MyStruct {
-    int a;
-    // int b;
-    int c;
-};
-

The b variable was removed, so variable c now follows a. If you load an older save however, the old MyStruct objects contain variable b, and its value will be assigned to c instead of b, as it took its place in the struct.

-

For that reason, if save compatibility is essential, it is recommended to only extend managed types and not cut out existing data.

-
-
-
-

Solution 0: Code your own save system

-

Yes, this may sound like a crazy suggestion, but it's a real possibility. Depending on your requirements this solution may range from almost trivial to nearly impossible to accomplish in script. This is a whole separate topic though, so we won't go into much detail here. But if you want to experiment here are some points to get you started:

-
    -
  • AGS supports writing and reading custom files. See File functions for reference.
  • -
  • Consider using simpler save states, more like checkpoints. If you can live without restoring literally everything to the smallest bit, maybe you can only save the most important game variables, items that the player possesses, the state of the accessible puzzles.
  • -
  • Learn to describe the game state using just a few variables and restore the game and rooms from these. For example, if your variable says that "puzzle A is solved", you may know that Room Objects A and B are invisible, item C is in the player's inventory, and non-player character D moved to room 2. This approach allows you to rebuild the game state in script just from a few variables the game reads from a custom file. But of course you have to plan this ahead well.
  • -
-
-
-

Solution 1: Reusing game objects

-

If you need to urgently patch your released game but realize you are going to break previous saves by doing that, you may try reusing existing game objects.

-

Characters may switch Views and play different roles in other rooms. Unused Room Objects are perhaps more rare, but their Graphic or View may be switched too and can act as something else. Characters may be used as room elements too, except they cannot be simply assigned a sprite, but require a View. GUIs may be reconfigured on the fly, if you have enough suitable controls on them. View Frames may be assigned different sprites, even Dynamic Sprites, which you can paint upon with script functions to display something completely different.

-

Global variables may be reused for other purposes if you find a way to indicate what meaning they have at the moment and how they should be used in your script in various circumstances.

-
-
-

Solution 2: Dummy object reserve

-

If you are planning changes after your game's release, there's one very straightforward yet ugly solution: create a number of extra objects of every type (Characters, GUIs, and so on) that you don't use right now but which could be used in case of emergency for patching the game.

-

In your script, you can allocate big global arrays of ints and other types as a reserve for future fixes and updates, then use elements of those arrays whenever you need an extra variable.

-
-
-

Solution 3: New rooms

-

If you must change the content of a room but do not want to break saves at all costs you may create a duplicate room with a new number and updated contents, then script changing to this new room if the player restores a save made in the old room.

-

This is done like this, for example:

-
function on_event(EventType evt, int data) {
-    if (evt == eEventRestoreGame) {
-        if (player.Room == OLD_ROOM_NUMBER) {
-            player.ChangeRoom(NEW_ROOM_NUMBER);
-        }
-    }
-}
-
-
-

Solution 4: String, Dictionary and Set

-

You may use String variables (or even one String) to store almost any amount of additional data without adding new variables. Strings may be formatted to include numbers too. You may create for example a comma-separated list of values, then parse it back by iterating over characters, cutting it into substrings and converting it back to the wanted types. That will involve some advanced scripting but can be used as a last resort.

-

Since AGS 3.5.0 there's also a Dictionary type and a Set type available. Those types may serve as an easier alternative in this solution. It's easy to check which variables (keys) they contain. You can even store the "game version" inside them as one of the elements and check for that value after restoring a save to know which version of your game saved it. They may be used as a universal global storage, for example, for story variables, expanding them between game updates.

-
-
-

Solution 5: Extending dynamic arrays and managed structs

-

As mentioned earlier in this article, any managed object is not restricted to change because its full content is read from the save. This allows you to use managed structs and dynamic arrays as infinite reserve for variables. Upon loading an old save you would need to test the length or another kind of "version" of that array and resize it: create a new one, copy the old restored contents, fill up the rest with default values, replace the pointer variable.

-

Consider following example:

-
#define GAME_VER_001_LENGTH 10
-#define GAME_VER_002_LENGTH 20
-
-int GameVersion;
-int MyVariables[];
-
-function game_start() {
-    GameVersion = 2;
-    MyVariables = new int[GAME_VER_002_LENGTH];
-}
-
-function on_event(EventType evt, int data) {
-    if (evt == eEventRestoreGame) {
-        // detect old save
-        if (GameVersion == 1) {
-            // allocate bigger array suited for latest version of the game
-            int new_vars[] = new int[GAME_VER_002_LENGTH];
-            // copy restored array with old data into our new array
-            for (int i = 0; i < GAME_VER_001_LENGTH; i++) {
-                new_vars[i] = MyVariables[i];
-            }
-            // set default values for the rest (replace with your code as appropriate)
-            for (int i = GAME_VER_001_LENGTH; i < GAME_VER_002_LENGTH; i++) {
-                new_vars[i] = 0;
-            }
-            // finally replace pointer and version number
-            MyVariables = new_vars;
-            GameVersion = 2;
-        }
-    }
-}
-

A similar solution may be used for managed structs, although it may be bit more complicated to script but essentially it is the same thing.

-
managed struct MyStruct {
-    // variables from version 1
-    int a;
-    int b;
-    // variables from version 2
-    int c;
-    int d;
-}
-
-int GameVersion;
-MyStruct MyObj;
-
-function game_start() {
-    GameVersion = 2;
-    MyObj = new MyStruct;
-}
-
-function on_event(EventType evt, int data) {
-    if (evt == eEventRestoreGame) {
-        // detect old save
-        if (GameVersion == 1) {
-            // allocate new managed object suited for latest version of the game
-            MyStruct new_obj = new MyStruct;
-            // copy restored object with old data into our new object
-            new_obj.a = MyObj.a;
-            new_obj.b = MyObj.b;
-            // set default values for the rest (replace with your code as appropriate)
-            new_obj.c = 0;
-            new_obj.d = 0;
-            // finally replace pointer and version number
-            MyObj = new_obj;
-            GameVersion = 2;
-        }
-    }
-}
-
-
-
- - - - - -
- - diff --git a/Gamevariables.html b/Gamevariables.html deleted file mode 100644 index 72df1d626..000000000 --- a/Gamevariables.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - Game variables - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Game variables

-

The following variables are available to your script. They allow you to do various tweaks to the engine at run-time.

-

Names in bold are read-only variables and should NOT be modified by the script.

-

All the following variables are int variables.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
variabledescription
game.abort_keyThe keycode for Abort Game, which allows the you to quit even if your script is stuck. Default 324 (Alt+X).
game.ambient_sounds_persistIf 0 (default), ambient sounds are stopped on room change. Set to 1 to tell AGS to leave ambient sounds playing when going to a new room.
game.anim_background_speedThe current room's animating background speed - same values as in editor.
game.auto_use_walkto_pointsDefault 1; set to 0 to stop AGS automatically using hotspot walk-to points.
game.bgspeech_game_speedIf 0 (default), background speech stays on the screen for the same amount of time, no matter what the game speed. If 1, the amount of time it stays is relative to the game speed.
game.bgspeech_stay_on_displayIf 0 (default), background speech is removed when a Say command happens; if 1, it isn't.
game.close_mouth_end_speech_timeOBSOLETE, see Speech.AnimationStopTimeMargin instead.
game.debug_modeWhether we are in debug mode or not.
game.dialog_options_highlight_colorColor used to draw the active (selected) dialog option
game.dialog_options_xOffset into dialog options GUI to compensate for borders
game.dialog_options_yOffset into dialog options GUI to compensate for borders
game.disable_antialiasingSet to 1 to disable smoothing of scaled characters, overriding the user's choice in Setup. Default 0.
game.following_room_timerHow long to wait before following char emerges in new room, default 150. (higher is longer).
game.keep_screen_during_instant_transitionNormally the Instant transition blacks the screen in 8-bit color modes, to avoid strange palette effects. However you can set this to 1 to prevent it doing so.
game.inv_activatedInventory item that the player last clicked on. Useful for unhandled_event.
game.inventory_greys_outSet to 1 to make inventory controls grey out when GUI disabled is set to "GUIs Grey Out"
game.lipsync_speedSimilar to Game.TextReadingSpeed, but this determines how quickly the text is 'read' out by the mouth moving. You should normally only set this faster than text_speed, otherwise the reading will get cut off when the text times out. Default 15.
game.max_dialogoption_widthMaximum width of textwindow-based dialog options box. Default 180.
game.min_dialogoption_widthMinimum width of textwindow-based dialog options box. Default 0.
game.narrator_speechWhich character ID to use for voice speech within Display() command. Default initial player character. You can also use NARRATOR which uses 'NARR' prefix - special narrator character.
game.no_textbg_when_voiceNormally 0. If 1, and the Sierra-style With Background speech style is in use, will change to the Sierra-style (no background) if a voice speech line is present.
game.read_dialog_option_colorBy default, -1. You can set this to a color number, in which case dialog options that the player has selected before will be displayed in this color.
game.roomscript_finishedThe on_call function has completed executing. (See CallRoomScript)
game.scoreThe player's score. To modify the score, use the GiveScore script function.
game.score_soundSound effect to play when the player gets points, originally set in the editor.
game.screenshot_heightThe height of screenshot images when saved into save games. The largest you can have is the full screen size (game's native resolution), which gives the highest quality but the largest size for save game files. The default size for Screenshots is 160x100, so the default value for game.screenshot_height is 100. The minimal supported value for screenshot size is 16x16.
game.screenshot_widthThe width of screenshot images when saved into save games. As mentioned above, the default size for Screenshots is 160x100, so the default value for game.screenshot_width is 160.
game.show_single_dialog_optionIf only a single dialog option is available, show it anyway (default=0)
game.sierra_inv_colorThe background color of the sierra-style inventory.
game.skip_displaySetting for how Display() messages are skipped; valid values are same as for Speech.SkipStyle (default 3).
game.skip_speech_specific_keyOBSOLETE, see Speech.SkipKey instead.
game.speech_bubble_widthMaximum width of the thought bubble text window (default 100)
game.speech_text_alignOBSOLETE, see Speech.TextAlignment instead.
game.speech_text_guiThe textwindow GUI number used for sierra-style speech.
game.text_alignSets how text in message boxes and Sierra-style speech is aligned:
eAlignLeft: text aligned to left within message box (default)
eAlignCentre: text is centered within the message box
eAlignRight: text is right-aligned within the message box
These options do not affect LucasArts-style speech, which is always centered.
game.text_shadow_colorColor used for speech text shadow (default 16).
game.top_bar_XXXXCustomizations for DisplayTopBar, see link for details
game.total_scoreMaximum possible score, initially set in the editor.
game.used_modeCursor mode used with last click (use with "any click" events to find out which mode was used)
mouse.xMouse X co-ordinate when the last game loop was run
mouse.yMouse Y co-ordinate when the last game loop was run
palette[SLOT].rThe red component (0-63) of palette slot SLOT
palette[SLOT].gThe green component (0-63) of palette slot SLOT
palette[SLOT].bThe blue component (0-63) of palette slot SLOT
player.[x,y,name,...]Alias to the current player character.
-
-
- - - - - -
- - diff --git a/GeneralSettings.html b/GeneralSettings.html deleted file mode 100644 index b5fd8f929..000000000 --- a/GeneralSettings.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - General settings - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

General settings

-

The General Settings window contains various overall options that you can set for your game.

-

Note that some things listed here are explained later in the documentation, so if you don't understand one of the items in this list, come back to it later.

-

Many of these options can be changed at runtime with the script command SetGameOption.

-
-

Basic properties

-
    -
  • Color Depth - the number of colors your game will use. Default is 32-bit, which lets you use all the range of colors contemporary devices support. 16-bit is rather a compatibility setting, that will reduce the size of your game resources at the cost of color precision. 8-bit color mode is a special feature for making palette-based games. See also: Palette setup, Palette functions

  • -
  • Developer name - this will add the provided string to the game's executable properties.

  • -
  • Game file name - your game's executable and/or data filename. This name will be used when creating game package files on disk.

  • -
  • Game name - your game's title. This string will be displayed at the window title, and also added to the game's executable properties.

  • -
  • Maximum possible score - the maximum score your game has, if you are using score mechanics, such as GiveScore script function.

  • -
  • Put sound and sprite files in source control - whether game resources, such as sprites and audio, are put under source control. For more information see Source Control integration.

  • -
  • Render sprites at screen resolution - whether characters and objects should be scaled in screen pixels rather than game pixels. What this means is that when low-resolution game is run in larger window, sprites will take advantage of this higher resolution and look less pixelated when scaled down. If you prefer to keep your game looks in particular style, this option may be locked to always "Enabled" or "Disabled"; otherwise setting it to "User defined" will let your players toggle it in game setup program to their own liking.

  • -
  • Resolution - the native resolution of your game. This is the most important option (on par with Color Depth), which determines the size of game area visible on screen at any given time. This is also the minimal size that game rooms may have. The window your game runs in may still be larger or smaller, depending on choices player made in setup program, and in that case game's image will be stretched or shrunk accordingly.

  • -
  • Text format - the format your game texts will be in. The contemporary default is "Unicode", which lets you have practically any language in the game. Another choice is "ASCII / ANSI" mode, but this is left strictly for backwards compatibility, e.g. for when upgrading old projects, and not recommended to be used in new projects at all, as that will make multi-language support in your game much more complicated.

    -

    NOTE: please be aware that when switching Text format the Editor will convert all the game files (scripts, etc) to a new text encoding and re-save them. Normally this should be safe, but probably a good idea to make a project backup before doing this.

  • -
-
-
-

Information

-

Most of this information is not used right now by the engine, but may be made accessible in future versions.

-
    -
  • Developer website - Your website.
  • -
  • Game description - The game hook line.
  • -
  • Genre - Your game genere.
  • -
  • Release date - Date on which this game is first released.
  • -
  • Version - a 4-piece version string of your game, made of numbers separated by three dots.
  • -
-
-
-

Android

-
    -
  • App ID - The Application ID, used in app stores. Also called package name, it's usually looks like com.mystudio.mygame, and it's used in store URLs. It must have at least two segments (one or more dots), and each segment must start with a letter.
  • -
  • App Version Code - The version ID used by Google Play Store and others. It must be a positive integer, and different from the last one uploaded.
  • -
  • App Version Name - The version name visible to users in the stores, can be any string. If you leave empty, AGS will use the version you set in the Information group.
  • -
  • Build Format - How your android app will be packaged. When testing locally, always use ApkEmbedded. Google Play only accepts AAB. Use AabEmbedded if your packaged game size is lower than 100MB, and Aab if your packaged game size is lower than 500MB. Bigger game sizes are not possible right now under current Play Store restrictions - AGS can build, but the submission will get rejected.
  • -
-
-
-

Backwards compatibility

-
    -
  • Allow relative asset resolutions - if enabled then your game will scale sprites according to their resolution tags: sprites tagged as "low-res" will be scaled up in a "high-res" game (640x400 and higher), sprites tagged as "high-res" will be scaled down in a "low-res" game (less than 640x400). When disabled resolution tags will be ignored as all sprites displayed with their real size (this is default).

  • -
  • Enable mouse wheel support - if enabled, on_mouse_click can be called with the values eMouseWheelNorth and eMouseWheelSouth, which signify the user scrolling their mouse wheel north or south, respectively.

    -

    NOTE: Not all mice have mouse wheels, therefore its suggested that your game should never require the mouse wheel in order to be playable - it should only be used as a handy extra.

  • -
  • Enforce new-style audio scripting - Puts the script compiler into strict mode, where it will not accept the old-style (pre-AGS 3.2) audio-related script commands.

  • -
  • Enforce new style strings - Puts the script compiler into strict mode, where it will not accept the old-style (pre-AGS 2.7) fixed-length strings.

  • -
  • Enforce post-2.62 scripting - Puts the script compiler into strict mode, where it will not accept the old-style (pre-AGS 2.7) script commands. This should preferably be ticked, since you should no longer be using the old commands.

  • -
  • Left-to-right operator precedence - if this is enabled, then operators of equal precedence in the script will be evaluated left to right. For example, 5 - 4 - 3 could be interpreted as (5 - 4) - 3 or as 5 - (4 - 3), thus giving different results. You should always use parenthesis to clarify expressions like this, so that the operator precedence doesn't affect the result.

  • -
  • Old-style letterbox mode - only available if your game's resolution is 320x200 or 640x400. If you enable it, your game will run as 320x240 and 640x480 game correspondingly, while keeping room viewport size at 320x200 or 640x400, and adding black horizontal borders above and below. Today this is strictly a compatibility option for importing old projects, because since v3.5.0 AGS supports custom room viewports in script.

  • -
  • Script API version - defines the topmost level of built-in script content that you want to enable for your project. It is suggested to leave this at the "Highest" value, unless you are importing an older project and newest built-in script functions conflict with some of your own scripts. In such case you may decide between fixing your script or lowering AGS API version. The latter will let you compile game scripts without any changes, at the price of not being able to use newer built-in functions. You may still change it to "Highest" anytime later.

  • -
  • Script compatibility level - defines the lowest level of built-in content. It is useful if you wish to keep using some of the old functions that were declared obsolete by newer version of AGS. You do so by setting this switch to version that still had those functions non-deprecated.

  • -
  • Use low-resolution coordinates in script - always use 320x200 coordinate space when scripting your game, regardless of its actual resolution. Basically, your game will be treated as if it were 320x200, but pixels are of larger size. Normally this option should be off; it may only be useful when importing really old game project where such setting was a norm.

  • -
  • Use old-style custom dialog options API - switch to using pre-AGS 3.4.0 custom dialog options callbacks. The differences between old and new APIs are explained in this topic.

  • -
  • Use old-style keyboard handling - Uses pre-unicode mode key codes in on_key_press function, where regular keys were merged with Ctrl and Alt modifiers. In newer games, it's recommended to leave this as false, and either handle the additional 'mod' parameter or rely on on_text_input function for properly handled characters when building text input interfaces.

  • -
-
-
-

Character movement

-
    -
  • Automatically move the player in Walk mode - normally, when you click the mouse in the Walk mode, the main character will move to where you clicked. However, if you want to create a game all viewed from a 1st-person perspective, and so don't have a main character, then disabling this option allows you to use the Walk mode for other things. If disabled, then "Character stands on hotspot" events are instead triggered by clicking the Walk cursor on the hotspot.
  • -
  • Automatically move to hotspots in Look mode - controls whether the player will walk to "walk-to" spots when the player looks at the hotspot. Normally he only walks on use, speak and use-inv.
  • -
  • Characters turn before walking - specifies that when a character starts to walk somewhere, it will first turn round to face the correct direction using available animation frames, rather than just suddenly switching to face the right way.
  • -
  • Characters turn to face direction - if set, then when a character turns round with the Character.FaceLocation or Character.FaceCharacter script commands, they will visibly turn around using their available loops. If this option is not set, they will immediately appear facing their new direction.
  • -
  • Scale Character sprite offsets - if set, then visual character's offsets will be scaled in proportion to the current character's scaling. This refers to values of Character.z property and parameters of Character.LockViewOffset.
  • -
  • Scale movement speed with room's mask resolution - Character walking and object movement speeds will scale inversely in proportion to the current room's Mask Resolution. For example, having 1:2 mask resolution will multiply speed by 2. This is a backward compatible setting that should not be enabled without real need.
  • -
-
-
-

Compiler

-
    -
  • Attach game data to exe (Windows only) - when enabled the main game data will be appended to "gamename.exe" file. This is how AGS games were packed traditionally, and is on by default. When disabled game data will be packed into the separate "gamename.ags" file and placed alongside with the game exe. Disabling this option will make the game file structure more transparent and, for example, may help to prevent false positive reports from antiviruses that often don't like it when AGS engine reads data from exe.

  • -
  • Build target platforms - a checklist of platforms for which the game will be compiled.

  • -
  • Enabled Debug Mode - whether the debug keys are active. When debug mode is on, you can press Ctrl-X to teleport to any room, Ctrl-S to give all inventory items, Ctrl-A to display walkable areas on the screen, and Ctrl-D to display statistics about the current room. When debug mode is off, these do nothing. See the Debugging features section for more.

  • -
  • Enable sprite storage optimization - When possible save sprites in game files in a format that requires less storage space. This may reduce the compiled game size on disk, but effect may differ depending on number of colors used in sprites, and other factors.

  • -
  • Package custom data folder(s) - A comma-separated list of folders. The contents of these folders will be added to the game resources, and you will be able to access them by using the $DATA$ token in file paths. The top level directory name is preserved, to avoid file name collision. More details on this in File.Open.

  • -
  • Split resource files into X MB-sized chunks - see here for information.

  • -
  • Sprite file compression - when enabled the sprites will be compressed to reduce game size. In theory this may affect runtime performance (sprite loading times), but the actual effect depends on multiple factors including specifics of the system the game is running on, so not easy to predict. On desktop platforms the difference in speed is usually negligible. AGS provides few compression types, and the best choice may depend on the sort of sprites you are using in your game on average.

    -
      -
    • None - no compression will be used. This setting is not recommended for the game release.
    • -
    • RLE - this compression type is best suited for low-resolution and low-detailed graphics with limited number of colors.
    • -
    • LZW - this compression type is better suited for high-resolution and highly detailed graphics.
    • -
    • Deflate - high level compression, also used in PNG and ZIP formats.
    • -
  • -
-
-
-

Dialog

-
    -
  • Allow speech to be skipped by which events - determines how and whether the player can skip speech in-game. This can be set to allow the mouse and/or keyboard, or neither, to skip speech in the game.

  • -
  • Custom Narrate function in dialog scripts - determines which function will be used to substitute standard narration in dialog scripts. For example, if you have

    -
    narrator: The man looks you in the eye.
    -

    in a dialog script, then normally this is replaced by

    -
    Display("The man looks you in the eye");
    -

    during compilation. With the above setting you can provide the name of your custom function that you've defined in your script. Such function must have one of the following prototype forms:

    -
    function CustomNarrate1(const string text);
    -function CustomNarrate2(String text);
    -

    The return value is actually not essential and may be any type.
    If the field is left empty then the standard Display function is used.

  • -
  • Custom Say function in dialog scripts - determines which function will be used to substitute standard character cues in dialog scripts. For example, if you have something like

    -
    Roger: Hello, my name is Roger.
    -

    in a dialog script, then normally this is replaced by

    -
    cRoger.Say("Hello, my name is Roger.");
    -

    during compilation. With the above setting you can provide the name of your custom function that you've defined in your script. Such function must have one of the following prototype forms:

    -
    function CustomSay1(Character *c, const string text);
    -function CustomSay2(Character *c, String text);
    -function CustomSay3(this Character*, const string text);
    -function CustomSay4(this Character*, String text);
    -

    Last two variants are extender functions for Character struct.
    The return value is actually not essential and may be any type.
    If the field is left empty then the standard Character.Say function is used.

    -

    IMPORTANT: this setting currently does not work with the "Say" checkbox in the dialog options list. The workaround is to duplicate option's text as a first cue in the dialog script.

  • -
  • Dialog bullet point image - defines the number of sprite to use as a bullet image before each dialog option.

  • -
  • Game-wide speech animation delay - defines a game-wide speech animation delay to use instead of individual character settings. This setting is only available if "Use game-wide speech animation delay" is enabled.

  • -
  • Gap between dialog options - defines the gap between the options displayed to the player in a conversation. Normally this is 0, which means the options are right below each other. Changing it to 1 or 2 can make the option display look less cluttered; it's a matter of personal preference.

  • -
  • Number dialog options - enables keyboard shortcuts to choose dialog options (keys 1-9) and adds an index number before each dialog option when they are displayed to the player. For example,

    -
    1. Hello there!
    -2. Goodbye
    -

    This allows you to visually show the player which option the shortcut keys will choose, as well as separating the options if you don't use a bullet point.

  • -
  • Print dialog options upwards - Normally, if you select a non-textwindow GUI for the dialog options, they will be printed from the top down. However, if you select this option they will go from the bottom of the GUI upwards.

  • -
  • Run game loops while dialog options are displayed - whether to allow game animations to continue in the background while waiting for the player to select a dialog option.

  • -
  • Sierra-style portrait location - if you're using Sierra-style speech, then this determines whether the portrait appears on the left or the right of the screen. The "alternate" setting means it swaps sides whenever a different person talks, and the "Based on X position" setting means that the side of the screen is chosen depending on where the characters are standing.

  • -
  • Speech style - in the default LucasArts-style speech, when a character talks, the speech text is displayed above their head in the game, and the character's talking view is used to animate the actual character.
    However, if you set this option to Sierra-style then the talking view is used to display an animating portrait separately in the top-left of the screen, with the text to the right of it. This is similar to the way that Space Quest 5, King's Quest 6 and other later Sierra games worked. You can also cycle to another option, "Sierra- style with background", which is the same except a text window is drawn behind the speech text to make it easier to read.
    "Whole Screen" uses a full-screen character portrait, like the way that QFG4 worked.

  • -
  • Use game-wide speech animation delay - defines whether to use game-wide speech animation delay as opposed to using the individual character settings.

  • -
  • Use GUI for dialog options - controls where the player's options for dialog are displayed. If set to 0, then in a conversation, the options will be displayed at the bottom of the screen. If you type in GUI's ID number, then instead the options will be displayed on the GUI you specify.

  • -
-
-
-

Inventory

-
    -
  • Display multiple icons for multiple items - normally, if the player has two of an inventory item, the item will still only be shown once in the Inventory window. If you check this option, however, then all the copies of the item that the player has will be displayed. Useful for RPG-style inventories.
  • -
  • Inventory item cursor hotspot marker - whether AGS should automatically add a marker to inventory item cursors to help the player see where the active hotspot is on the cursor. May either draw simple crosshair using told colors, or use specified sprite.
  • -
  • Inventory item cursor hotspot marker crosshair color - the primary color of the item cursor hotspot marker.
  • -
  • Inventory item cursor hotspot marker dot color - the secondary color of the item cursor hotspot marker.
  • -
  • Inventory item cursor hotspot marker sprite - the sprite number to use for the item cursor hotspot marker.
  • -
  • Override built-in inventory window click handling - AGS has some built-in processing of Inventory Window GUI controls, whereby a right-click will Look at the item, and a left click will select it if the cursor mode is Interact. However, if you enable this option, then clicking on an inventory item in an Inventory Window will call your on_mouse_click function with eMouseLeftInv, eMouseMiddleInv or eMouseRightInv, and you then need to process it yourself. You can use the game.inv_activated variable to find out what they clicked on.
  • -
  • Use selected inventory graphics for cursors - normally, when you select an inventory item the mouse cursor is changed into that item. However, if you want to create a LucasArts-style game (where the inventory cursor is always a cross-hair), disable this option and it won't be changed.
  • -
-
-
-

Rooms

-
    -
  • Default mask resolution - sets default value for MaskResolution property which will be applied for each new room in your game. Mask resolution defines the factor between room masks' sizes and room background size. Common is 1:1, but you can choose other options for less precise masks, which may reduce data size and slightly improve performance in high-resolution games.
  • -
-
-
-

Saved Games

-
    -
  • Save games extension - determines the special extension for your save files.
  • -
  • Save games folder name - determines the name of folder created in the user's Saved Games location to store your game's saves. If left blank, then the game's title is used as folder's name. You might need to change this only if your game's title conflict with some other game.
  • -
  • Save screenshots in save games - Saves a mini-screenshot of the player's current position into the save game file. This will create larger save game files, but it will mean that you can use a save game thumbnails GUI to make the save/load interface more professional.
  • -
-

There used to be an option for Save Game integration with Windows Vista, it was called Enhanced save games. Since this feature support was removed in modern versions of Windows, this option has been removed since AGS 3.6.0 as well.

-
-
-

Sound

-
    -
  • Play sound when the player gets points - controls whether a sound effect is played when the player scores points. If so, you can select an audio clip here (but you have to have some imported in your game before doing this).
  • -
-
-
-

Text output

-
    -
  • Always display text as speech - if you select this option, then all normal text in the game will be displayed above the main character's head as speech text, much like the way the LucasArts games worked. If this option is not checked, then normal text appears in a pop-up message box, like the way that the Sierra games worked.

  • -
  • Anti-alias TTF fonts - If enabled, any TTF fonts you have in your game will be rendered to the screen anti-aliased. This can make them look a lot better, but it has two drawbacks - firstly, anti-aliasing is significantly slower than normal rendering, so you might want an option to allow the player to turn it off. Second, anti-aliasing only works in hi-color games (in 256-color games, the output will look blurred and unreadable).

  • -
  • Custom text-windows GUI - allows you to customize the standard text window appearance in the game, using the specified interface element. See here for more information.

  • -
  • Custom thought bubble GUI - Determines which text window GUI is used for displaying thoughts with Think.

  • -
  • TTF fonts adjustment defaults - Automatic adjustment of the true-type font metrics; primarily for backward compatibility.

    -

    This option will be used as a default value for each new imported font, but you may also customize it in the Font's properties.

  • -
  • TTF fonts height used in the game logic - How the true-type font height will be defined whenever it is required by the script of game logic.

  • -
  • Write game text Right-to-Left - in-game text will be written right-to-left, i.e. line breaks are worked out from the end of the sentence going backwards, and the last words are displayed first. This is used by languages such as Arabic and Hebrew.

  • -
-
-
-

Visual

-
    -
  • Default transition when changing rooms - defines what type of screen transition is used when moving from one room to another. Various options are available.

  • -
  • GUI alpha rendering style - determines which rendering method to use in 32-bit games when a GUI Control is drawn over GUI. The "Proper alpha blending" choice is meant for full alpha blending support, other options exist for compatibility with older versions of AGS only.

  • -
  • GUI controls clip their contents - determines whether the GUI controls will clip their graphical content, such as text, preventing it from being drawn outside of their rectangle. This setting has few exceptions, please see notes below.

    -

    NOTE:

    -
      -
    • Button images are clipped using individual button's property called "ClipImage".
    • -
    • Label with a wrapped text will only ever display next line if there's at least 1 extra pixel of height available past the line spacing.
    • -
    • Sliders DO NOT clip as of AGS 3.6.0. This is left so for the time being, because the positions of their elements historically are calculated to be outside of their bounds.
    • -
  • -
  • Pixel-perfect click detection - tells how the AGS should detect when there's an object or character under cursor, or when you run a script command that looks for an object under certain coordinates. By default AGS checks if the coordinates are within a rectangular area of each character and object on the screen (this is also called "bounding box"). However, if this option is enabled, then it will further check whether the coordinates are on an actual non-transparent pixel of the object graphic. With Pixel-perfect mode the fully transparent pixels will be ignored (sort of "clicked through").

    -

    NOTE: currently Pixel-perfect mode works only for objects and characters, and nothing else in game.

  • -
  • Sprite alpha rendering style - determines which rendering method to use in 32-bit games when an image is drawn over drawing surface. The "Proper alpha blending" choice is meant for full alpha blending support, "Classic" style exists for compatibility with older versions of AGS only.

  • -
  • When player interface is disabled, GUI should - determines what happens to buttons on your GUIs while the game interface is disabled (e.g. during a cutscene).

  • -
-
-
-
- - - - - -
- - diff --git a/GlobalArrays.html b/GlobalArrays.html deleted file mode 100644 index e590e1bee..000000000 --- a/GlobalArrays.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Global Arrays - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global Arrays

-

There's a number of global arrays declared for you to access certain game objects. For historical reasons some of them have their length defined as a constant, others have their length provided as a property.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ArrayLengthDescription
Character character[]Game.CharacterCountAll game's Characters
Dialog dialog[]Game.DialogCountAll game's dialogs
GUI gui[]Game.GUICountAll game's GUI
InventoryItem inventory[]Game.InventoryItemCountAll game's InventoryItems
Hotspot hotspot[]AGS_MAX_HOTSPOTSCurrent room's Hotspots
Object object[]Room.ObjectCountCurrent room's Room Objects
Region region[]AGS_MAX_REGIONSCurrent room's Regions
ColorType palette[]PALETTE_SIZEGame's palette, for 256-color mode
-

Arrays that contain game objects contain them in the order of their respective ID. For example, if you have a character with the script name "cChar", then cChar.ID would tell you the index at which this character is in the character array. This may be useful if you have to store its numeric ID in an integer variable for later use and then find the Character by this number.

-

Abstract example:

-
int saved_id;
-...
-saved_id = cChar.ID;
-...
-Character* found_char = character[saved_id];
-

Naturally, when you know the array's size it's possible to iterate over it, for example when you want to perform an action on all of these objects, or when you want to find one of the objects in the game array by certain rules:

-
for (int i = 0; i < Game.CharacterCount; i++) {
-    Character* c = character[i];
-    Display("Character number %d got name %s", i, c.Name);
-}
-

IMPORTANT: there is a known issue that if the game script mentions one of those arrays anywhere, then your game must have at least one object of that type. This is because AGS script cannot have zero-sized arrays and does not declare those that won't have any elements.
This is essential to remember if you're using a game template or script module that works with dialog[], gui[] or inventory[] arrays: to make your game compile in this case you have to create at least one dummy Dialog, GUI or Inventory item (even if you don't use it).

-
-
- - - - - -
- - diff --git a/GlobalVariables.html b/GlobalVariables.html deleted file mode 100644 index 9edfd6f9f..000000000 --- a/GlobalVariables.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - Global variables - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global variables

-

The Global Variables dialog window allows you to easily add variables to your game which can then be accessed from all your scripts.

-

In previous versions of AGS, declaring a global variable in the script involved defining it in three different places, with import and export clauses in the appropriate locations. Now, this whole process is vastly simplified with the new Global Variables Editor.

-

When should I use a global variable?

-

Use a global variable when you need to store some information that you need to access from different scripts. For example, if you want to store the player's health and you want all your different scripts to be able to access this value, then use a global variable.

-

If you just need to store some information locally (for example, a "door opened" flag that only applies to one particular room) then you should declare the variable manually at the top of the room's script file instead.

-

What about GlobalInts and Graphical Variables?

-

GlobalInts and Graphical Variables were ways in which previous versions of AGS provided global variable capabilities. They are now considered obsolete, and are replaced with this new Global Variables system instead.

-

How do I use global variables?

-

The Global Variables Editor is pretty self-explanatory. To add a variable, right-click and choose "Add". You can name the variable, and choose its type and initial value. Most of the time you'll probably be using the int and String types. Optionally, you can also set a default value for the variable.

-

Then, in your scripts it's a simple matter of just using the variable with the name that you gave it. Simple! So, for example if you add an int global variable called "myVariable", then in your script you can just do things like this:

-
if (myVariable == 3)
-{
-    myVariable = 4;
-}
-

or

-

Display("myVariable: %d", myVariable);

-

That's it! Just use it as you'd use any other variable declared in the script.

-

Note that some of the types available are managed instance pointers, like "GUI", "DynamicSprite" and "Character". These are for more advanced users only. If you create one of these you cannot set a default value, and it will initially be set to null. You will need to initialize the pointer in your script to point to something before you use it.

-

See also: Importing Functions and Variables, Global Arrays

-
-
- - - - - -
- - diff --git a/Globalfunctions_Event.html b/Globalfunctions_Event.html deleted file mode 100644 index 462f783b0..000000000 --- a/Globalfunctions_Event.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - Global event handlers - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global event handlers

-

In the AGS game there is a number of events, like starting the game, or pressing the key, that may be handled in script by adding a function with predefined name. These are called "global event handlers". If you add ones to your script, they will be called automatically whenever corresponding event occurs. All of these are optional, and may be omited if you don't need them.

-

You may you add multiple functions of the same kind to multiple script modules, in which case they will be called in the order of modules in your game project. It's possible to stop propagating the event (skip remaining modules) by using ClaimEvent function (refer to its article for explanation).

-

Some of these functions may also be added to the room scripts. These are: on_event, on_key_press, on_mouse_click, on_text_input, repeatedly_execute_always, late_repeatedly_execute_always.

-

Some functions will only work in the room script: on_call.

-

NOTE: for historical reasons, function repeatedly_execute does not work in the room script, but there's a corresponding room event that may be linked to a custom function in the editor.

-
-
-

dialog_request

-
dialog_request (int parameter)
-

Called when a dialog script line "run-script" is processed. PARAMETER is the value of the number following the "run-script" on that line of the dialog script.

-
-
-
-

game_start

-
game_start ()
-

Called at the start of the game, before the first room is loaded. You would typically use this to set up the initial positions of characters, and to modify initial visibility of GUIs.

-

Note: When this function is called it is too early to run animations or do anything else which relies on a room being loaded

-
-
-
-

interface_click

-
interface_click (int interface, int button)
-

Called when the player clicks on a button on a GUI which has its action set as "Run script". INTERFACE is the number of the GUI which they clicked on. BUTTON is the object number of the button within this GUI.

-
-
-
-

on_event

-
on_event (EventType event, int data)
-

Called whenever certain game events occur. The value of DATA depends on which event has occurred. The possible values of event are:

-
eEventEnterRoomBeforeFadein
-        called just before the room's 'Enter Before Fade-in' event occurs
-        DATA = new room number
-eEventEnterRoomAfterFadein
-        called just before the room's 'Enter After Fade-in' event occurs
-        DATA = room number
-eEventLeaveRoom
-        called just after the room's 'Player Leaves Room' event occurs, before the fade-out
-        DATA = room number they are leaving
-eEventLeaveRoomAfterFadeout
-        called when leaving a room, right after fade-out, but while room is still in memory
-        DATA = room number they are leaving
-eEventGotScore
-        called whenever the player's score changes
-        DATA = number of points they've received
-eEventGUIMouseDown
-        called when a mouse button is pressed down over a GUI
-        DATA = GUI number
-eEventGUIMouseUp
-        called when a mouse button is released over a GUI
-        DATA = GUI number
-eEventAddInventory
-        called when the player has just added an inventory item
-        DATA = inventory item number that was added
-eEventLoseInventory
-        called when the player has just lost an inventory item
-        DATA = inventory item number that was lost
-eEventRestoreGame
-        called after a saved game has been restored
-        DATA = save slot number
-eEventGameSaved
-        called after a game was saved
-        DATA = save slot number
-

For example:

-
function on_event(int event, int data)
-{
-    if (event == eEventEnterRoomBeforeFadein)
-    {
-        // do something on each room enter, before screen fades in
-    }
-    else if (event == eEventRestoreGame)
-    {
-        // do something each time right after a save was restored
-    }
-}
-

Compatibility:

-
    -
  • eEventEnterRoomAfterFadein event type is only supported since AGS 3.6.0.
  • -
  • eEventLeaveRoomAfterFadeout event type is only supported since AGS 3.6.1.
  • -
  • eEventGameSaved event type is only supported since AGS 3.6.1.
  • -
-
-
-
-

on_key_press

-
on_key_press (eKeyCode keycode, optional int mod)
-

Called whenever a key is pressed on the keyboard. keycode holds the value of the key, while mod holds a combination of modifiers pressed alongside with that key. A list of these values is available here.

-

The mod argument is optional and may be omited. The mod contains set of flags, and is slightly more complicated than keycode: as you should not use regular comparison (==, !=) with it, but a bitwise operator (&):

-
// these two conditions check that ctrl was pressed (these commands are equivalent)
-if (mod & eKeyModCtrl)
-if (mod & eKeyModCtrl != 0)
-
-
-// these two conditions check that ctrl was NOT pressed (again, two variants of the same check)
-if (!(mod & eKeyModCtrl))
-if (mod & eKeyModCtrl == 0)
-

The on_key_press function can also be defined in individual room scripts. This allows the room script to intercept a key-press first, and then decide whether to pass it on to the global script or not. See the ClaimEvent function for more details.

-

Starting with version 3.6.0 AGS supports two "key handling" modes: a new-style and old-style (backwards compatible). This mode is selected in the General Settings with "Use old-style key handling" option in the "Backwards compatibility" group.

-

New key mode:

-
    -
  • all keys are passed into the on_key_press function as-is, one by one: for example, if you press Ctrl + Z, then you get two on_key_press calls, one with eKeyCtrlLeft and another with eKeyZ argument.
  • -
-

Old (classic) key mode:

-
    -
  • lone mod keys (Ctrl, Alt, Shift) are not passed into the on_key_press; you may only test if these are pressed using IsKeyPressed.
  • -
  • alphabet keys + ctrl combinations are merged into one key code for the on_key_press callback: e.g. eKeyCodeCtrlA and similar key codes.
  • -
-

Compatibility: The mod argument is only supported since AGS 3.6.0.

-
-
-
-

on_mouse_click

-
on_mouse_click (MouseButton button)
-

Called when the player clicks a mouse button. BUTTON is either eMouseLeft, eMouseRight, or eMouseMiddle, depending on which button was clicked. The mouse.x and mouse.y global variables contain the mouse's position.

-

If 'Handle inventory clicks in script' is enabled in the game options, this function can also be called with eMouseLeftInv, eMouseMiddleInv or eMouseRightInv, which indicate a left, middle or right click on an inventory item, respectively.

-

If 'Enable mouse wheel support' is enabled, this function can also be called with eMouseWheelNorth or eMouseWheelSouth, which indicate the user moving the mouse wheel north or south, respectively.

-

The on_mouse_click function can also be defined in individual room scripts. This allows the room script to intercept a mouse-click first, and then decide whether to pass it on to the global script or not. See the ClaimEvent function for more details.

-
-
-
-

on_text_input

-
on_text_input(int ch)
-

Called when the player's key presses form a printable character. The difference between this and on_key_press is that not every key corresponds to the printable char, and some chars may be created by pressing multiple keys (which also depends on the current system language).

-

The ch argument contains a unicode character code, and may be used with the String functions.

-

For example:

-
MyLabel.Text = MyLabel.Text.AppendChar(ch);
-

will append the new printed character to a label's text.

-

IMPORTANT: this function only works when your game uses "new-style key handling mode". This mode is selected in the General Settings with "Use old-style key handling" option in the "Backwards compatibility" group.

-

Compatibility: supported since AGS 3.6.0.

-
-
-
-

repeatedly_execute

-
repeatedly_execute()
-

Called every game cycle (normally 40 times per second). Additional information is available here.

-
-
-
-

repeatedly_execute_always

-
repeatedly_execute_always()
-

Called every game cycle, even when a blocking routine (e.g speech or cutscene) is in progress. You cannot call any blocking functions from this event handler. repeatedly_execute_always is called before the game entities (characters, rooms, etc) get updated. Additional information is available here.

-
-
-
-

late_repeatedly_execute_always

-
late_repeatedly_execute_always()
-

Called every game cycle, even when a blocking routine (e.g. speech or cutscene) is in progress. You cannot call any blocking functions from this event handler. late_repeatedly_execute_always is called after the game entities (characters, rooms, etc) have been updated, but before the game screen is redrawn.

-
-
-
-

unhandled_event

-
unhandled_event (int what, int type)
-

Called when an event occurs, but no corresponding event handler has been configured. This is typically used to display a default "I can't do that" type response in-order to avoid having to add unique messages for all in-game interactions. The values of WHAT and TYPE tell you what the player did. The possible values are listed below:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
WHATTYPEDescription
11Look at hotspot
12Interact with hotspot
13Use inventory on hotspot
14Talk to hotspot
17Pick up hotspot
18Cursor Mode 8 on hotspot
19Cursor Mode 9 on hotspot
20Look at object
21Interact with object
22Talk to object
23Use inventory on object
25Pick up object
26Cursor Mode 8 on object
27Cursor Mode 9 on object
30Look at character
31Interact with character
32Speak to character
33Use inventory on character
35Pick up character
36Cursor Mode 8 on character
37Cursor Mode 9 on character
41Look at nothing (i.e. no hotspot)
42Interact with nothing
43Use inventory with nothing
44Talk to nothing
50Look at inventory
51Interact with inventory (currently not possible)
52Speak to inventory
53Use an inventory item on another
54Other click on inventory
-

NOTE: the "Character stands on hotspot" event does not trigger this function, nor will it be triggered if there is an "Any click" event handler defined, nor if the player clicks on nothing (hotspot 0)

-
-
-
-

on_call

-
on_call (int value)
-

This callback can only be declared on Room Script.

-

It's called after the function CallRoomScript(value) is executed, but not immediately. You can read an arbitrary integer value passed from CallRoomScript. Additional information is available here.

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_General.html b/Globalfunctions_General.html deleted file mode 100644 index 45cd4c287..000000000 --- a/Globalfunctions_General.html +++ /dev/null @@ -1,1004 +0,0 @@ - - - - - - - Global functions (general section) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (general section)

-
-

AbortGame

-
AbortGame(string message, ...)
-

Aborts the game and returns to the operating system.

-

The standard AGS error dialog is displayed, with the script line numbers and call stack, along with message (which can include %d and %s Display-style tokens).

-

You can use this function rather than QuitGame if you are writing some debugging checks into your script, to make sure that the user calls your functions in the correct way.

-

This command should ideally never be called in the final release of a game.

-

Example:

-
function MakeWider(int newWidth) {
-    if (newWidth < 10)
-        AbortGame("newWidth expects a width of at least 10!");
-}
-

will abort the game if MakeWider is called with a parameter less than 10.

-

SeeAlso: QuitGame

-
-
-
-

CallRoomScript

-
CallRoomScript (int value)
-

Calls the on_call function in the current room script. This is useful for things like the text parser, where you want to check for general game sentences, and then ask the current room if the sentence was relevant to it.

-

The on_call function will be called in the current room script, with its value parameter having the value you pass here. This allows it to distinguish between different tasks. If you need to pass more values, or values of different types, you may have to resort to Global variables.

-

If the current room has no on_call function, nothing will happen. No error will occur.

-

You write the on_call function into the room script ("Edit script" button on Room Settings pane), similar to the way you do dialog_request in the global script:

-
function on_call (int value) {
-    if (value == 1) {
-        // Check text input
-        if (Parser.Said("get apple"))
-            Display("No, leave the tree alone.");
-    }
-}
-

The function doesn't get called immediately; instead, the engine will run it in due course, probably during the next game loop, so you can't use any values set by it immediately.

-

Once the on_call function has executed (or not if there isn't one), the game.roomscript_finished variable will be set to 1, so you can check for that in your repeatedly_execute script if you need to do something afterwards.

-

SeeAlso: The text parser documentation, on_call

-
-
-
-

ClaimEvent

-
ClaimEvent()
-

This command is used in a room script or script module's on_key_press or on_mouse_click function, and it tells AGS not to run the global script afterwards.

-

For example, if your room script responds to the player pressing the space bar, and you don't want the global script's on_key_press to handle it as well, then use this command.

-

This is useful if you have for example a mini-game in the room, and you want to use some keys for a different purpose to what they normally do.

-

The normal order in which scripts are called for on_key_press and on_mouse_click is as follows:

-
    -
  • room script
  • -
  • script modules, in order
  • -
  • global script
  • -
-

If any of these scripts calls ClaimEvent, then the chain is aborted at that point.

-

Example:

-
if (keycode == ' ') {
-    Display("You pressed space in this room!");
-    ClaimEvent();
-}
-

prevents the global script on_key_press from running if the player pressed the space bar.

-

SeeAlso: Script events

-
-
-
-

Debug

-
Debug (int command, int data)
-

This function provides all the debug services in the system. It performs various different tasks, depending on the value of the COMMAND parameter. If debug mode is off, then this function does nothing. This allows you to leave your script unaltered when you distribute your game, so you just have to turn off debug mode in the AGS Editor.

-

The DATA parameter depends on the command - pass 0 if it is not used. All the valid values for the COMMAND parameter are listed below along with what they do:

-
0   All inventory - gives the current player character one of every
-    inventory item. This is useful for testing so that you don't have to
-    go and pick up items every time you test part of the game where they
-    are required.
-1   Display interpreter version - the engine will display its version
-    number and build date.
-2   The viewport fills with the visible room mask, where DATA allows you 
-    to select which mask: 
-    0 - none, 1 - hotspots, 2 - walkbehinds, 3 - walkable areas, 4 - regions. 
-    This command also works as a toggle switch, calling it with the same mask 
-    index will turn it off.
-    For the walkable areas, they are drawn with blocking areas at characters 
-    feet removed. This is useful if you think the path-finder is not working 
-    properly.
-3   Teleport - displays a dialog box asking for what room you want to go
-    to, and then calls ChangeRoom to teleport you there. Useful for skipping
-    parts of the game or going to a specific point to test something.
-4   Show FPS - toggles whether the current frames per second is displayed
-    on the screen. Pass DATA as 1 to turn this on, 0 to turn it off.
-5   Character Walk Path - shows walking path for the character.
-    Pass DATA matching desired Character ID. 
-    Call Debug(5,n) again to toggle it off.
-

Compatibility: Using Debug(2,n) for different masks and Debug(5,n) as toggle is only supported by AGS 3.6.0 and later versions.

-

See also: Debugging features, System.RuntimeInfo

-
-
-
-

DeleteSaveSlot

-
DeleteSaveSlot (int slot)
-

Deletes the save game in save slot number SLOT. If there were no save then nothing happens.

-

IMPORTANT: for historical reasons, when deleting slots in the range of 1 to 50, this function also moves highest slot found in that range to fill the freed slot. For example, if there were slots 1, 2, 3, 4, 5 and DeleteSaveSlot removes slot 3, then save in slot 5 will be renamed to become slot 3.

-

Example 1:

-
DeleteSaveSlot (130);
-

deletes save game slot 130 (which we should have saved earlier).

-

Example 2:

-
for (int i = 999; i >= 0; i--)
-{
-    DeleteSaveSlot(i);
-}
-

deletes all the saves. This deletes in an opposite order to counter the problem with slots in the range 1-50 mentioned above.

-

See also: RestoreGameSlot, SaveGameSlot

-
-
-
-

DisableInterface

-
DisableInterface ()
-

Disables the player interface. This works the same way as it is disabled while an animation is running: the mouse cursor is changed to the Wait cursor, and mouse clicks will not be sent through to the "on_mouse_click" function. Also, all interface buttons will be disabled.

-

NOTE: AGS keeps a count of the number of times DisableInterface is called. Every call to DisableInterface must be matched by a later call to EnableInterface, otherwise the interface will get permanently disabled.

-

Example:

-
DisableInterface();
-

will disable the user's interface.

-

See also: EnableInterface, IsInterfaceEnabled

-
-
-
-

EnableInterface

-
EnableInterface ()
-

Re-enables the player interface, which was previously disabled with the DisableInterface function. Everything which was disabled is returned to normal.

-

Example:

-
EnableInterface();
-

will enable the user's interface.

-

See also: DisableInterface, IsInterfaceEnabled

-
-
-
-

EndCutscene

-
EndCutscene()
-

Marks the end of a cutscene. If the player skips the cutscene, the game will fast-forward to this point. This function returns 0 if the player watched the cutscene, or 1 if they skipped it.

-

See also: SkipCutscene, StartCutscene, Game.InSkippableCutscene, Game.SkippingCutscene

-
-
-
-

GetGameOption

-
GetGameOption (option)
-

Gets the current setting of one of the game options, originally set in the AGS Editor Game Settings pane.

-

OPTION specifies which option to get, and its current value is returned.

-

The valid values for OPTION are listed in SetGameOption.

-

Example:

-
if (GetGameOption(OPT_PIXELPERFECT) == 1) {
-    Display("pixel-perfect click detection is on!");
-}
-

See also: SetGameOption

-
-
-
-

GetGameParameter

-

The GetGameParameter function is now obsolete.

-

It has been replaced with the following functions and properties:

-

Game.SpriteWidth (was gp_spritewidth)
Game.SpriteHeight (was gp_spriteheight)
Game.GetLoopCountForView (was GP_NUMLOOPS)
Game.GetFrameCountForLoop (was GP_NUMFRAMES)
Game.GetRunNextSettingForLoop (was GP_ISRUNNEXTLOOP)
Game.GetViewFrame (was GP_FRAMExxx, GP_ISFRAMEFLIPPED)
Game.GUICount (was gp_numguis)
Room.ObjectCount (was gp_numobjects)
Game.CharacterCount (was GP_NUMCHARACTERS)
Game.InventoryItemCount(was GP_NUMINVITEMS)

-
-
-
-

GetGameSpeed

-
GetGameSpeed ()
-

Returns the current game speed (number of cycles per second).

-

Example:

-
if (GetGameSpeed() > 40) {
-    SetGameSpeed(40);
-}
-

will always keep the game speed at 40 cycles per second (in case the user has raised it )

-

See also: SetGameSpeed

-
-
-
-

GetGlobalInt

-
GetGlobalInt (int index)
-

Returns the value of global int INDEX.

-

NOTE: GlobalInts are now considered obsolete. Consider using global variables instead, which allow you to name the variables.

-

Example:

-
if (GetGlobalInt(20) == 1) {
-    // code here
-}
-

will execute the code only if Global Integer 20 is 1.

-

See also: Global variables, SetGlobalInt, Game.GlobalStrings

-
-
-
-

GetGraphicalVariable

-
GetGraphicalVariable (string variable_name);
-

Returns the value of the interaction editor VARIABLE_NAME variable. This allows your script to access the values of variables set in the interaction editor.

-

NOTE: This command is obsolete, and is only provided for backwards compatibility with AGS 2.x. When writing new code, use global variables instead.

-

Example:

-
if (GetGraphicalVariable("climbed rock")==1)
-{
-    // Code here.
-}
-

will execute the code only if interaction variable "climbed rock" is 1.

-

See also: Global variables, GetGlobalInt, SetGraphicalVariable

-
-
-
-

GetLocationType

-
LocationType GetLocationType(int x, int y)
-

Returns what type of room thing is seen under the given screen coordinates (x, y): whether it is a character, object, hotspot or nothing at all. This may be useful, for example, if you want to process a mouse click differently depending on what the player clicks on.

-

It's important to know that this will work only if there's a room viewport found on screen at that point, otherwise this function will fail and return "nothing".

-

Also, this function is "blocked" by any interactable non-room object, such as GUI, and will return "nothing" as well if one is found under these screen coordinates.

-

The value returned is one of the following:

-
eLocationNothing    nothing, GUI or inventory
-eLocationHotspot    a hotspot
-eLocationCharacter  a character
-eLocationObject     an object
-

NOTE: The co-ordinates are SCREEN co-ordinates, NOT ROOM co-ordinates. This means that this function is suitable for use with the mouse cursor position variables.

-

NOTE: When looking up for an object under coordinates, GetLocationType is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
if (GetLocationType(mouse.x,mouse.y) == eLocationCharacter)
-    mouse.Mode = eModeTalk;
-

will set the cursor mode to talk if the cursor is over a character.

-

See also: Hotspot.GetAtScreenXY, Game.GetLocationName, Object.GetAtScreenXY

-
-
-
-

GetPlayerCharacter

-
GetPlayerCharacter ()
-

THIS COMMAND IS NOW OBSOLETE.
The recommended replacement is to use the player character's ID property, as follows:

-

Example:

-
Display("The player character number is %d", player.ID);
-

See also: Character.ID

-
-
-
-

GetTextHeight

-
GetTextHeight(string text, FontType font, int width)
-

Calculates the height on the screen that drawing TEXT in FONT within an area of WIDTH would take up.

-

This allows you to work out how tall a message displayed with a command like DrawMessageWrapped will be. WIDTH is the width of the area in which the text will be displayed.

-

The height is returned in screen pixels, so it can be used with the screen display commands.

-

Example:

-
int height = GetTextHeight("The message on the GUI!", Game.NormalFont, 100);
-gBottomLine.SetPosition(0, 200 - height);
-

will move the BOTTOMLINE GUI so that it can display the text within the screen.

-

See also: GetTextWidth, DrawingSurface.DrawString

-
-
-
-

GetTextWidth

-
GetTextWidth(string text, FontType font)
-

Returns the width on the screen that drawing TEXT in FONT on one line would take up.

-

This could be useful if you manually need to center or right-align some text, for example with the raw drawing routines.

-

The width is returned in screen pixels, so it can be used with the screen display commands.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-int width = GetTextWidth("Hello!", Game.NormalFont);
-surface.DrawString(160 - (width / 2), 100, Game.NormalFont, "Hello!");
-surface.Release();
-

will print "Hello!" onto the middle of the background scene.

-

See also: GetTextHeight, DrawingSurface.DrawString

-
-
-
-

GetTranslation

-
const string GetTranslation(string original)
-

Gets the translated equivalent of the supplied string. You do not normally need to use this since the game translates most things for you. However, if you have used an InputBox or other form of user input, and want to compare the user's input to a particular string, it cannot be translated automatically. So, you can do this instead.

-

Example:

-
String buffer = Game.InputBox("Enter the password:");
-if (buffer.CompareTo(GetTranslation("secret")) == 0) {
-    // it matched the current translation of "secret"
-}
-

If there is no translation for the supplied string, it will be returned unchanged, so it is always safe to use this function.

-

See also: Game.ChangeTranslation, Game.TranslationFilename, IsTranslationAvailable, Translation Manual

-
-
-
-

GiveScore

-
GiveScore (int score)
-

Adds SCORE to the player's score. This is preferable to directly modifying the variable since it will play the score sound, update any status lines and call the GOT_SCORE on_event function.

-

Note that SCORE can be negative, in which case the score sound is NOT played.

-

Example:

-
GiveScore(5);
-

will give 5 points to the player.

-

See also: Game.DoOnceOnly

-
-
-
-

GetFontHeight

-
int GetFontHeight (int font)
-

Returns the given font's height, in pixels. This value may be used, for example, to calculate arrangement of text and GUI elements on screen.

-

Example:

-
int h = GetFontHeight(eFontSpeech);
-

will store the speech font's height in the variable.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: GetFontLineSpacing

-
-
-
-

GetFontLineSpacing

-
int GetFontLineSpacing (int font)
-

Returns the step between two lines of text for the specified font. If this value equals font's height, then each next line is rendered right after previous one with no space in between. If the line spacing is lower than font's height, then the lines of text are partially overlapping.

-

NOTE: this is the distance between the top of the first line and the top of the next line, and not distance between bottom of first line and top of next one. If you need to calculate the gap between the lines, then subtract font's height from the line spacing value.

-

Example:

-
int h = GetFontHeight(eFontSpeech);
-int spacing = GetFontLineSpacing(eFontSpeech);
-int gap = spacing - h;
-

will calculate the gap between two lines of text, that are drawn using speech font.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: GetFontHeight

-
-
-
-

InventoryScreen

-
InventoryScreen ()
-

This command is obsolete.

-

This command was used for displaying a default inventory window in previous versions of AGS, but is no longer supported.

-

Instead of using this command, you should create your own Inventory GUI.

-
-
-
-

IsGamePaused

-
IsGamePaused ()
-

Returns true if the game is currently paused, or false otherwise. The game is paused when either the icon bar interface has been popped up, or a "script-only" interface has been displayed with GUI.Visible=true. While the game is paused, no animations or other updates take place.

-

Example:

-
if (IsGamePaused()) UnPauseGame();
-

will unpause the game if it's paused.

-

See also: PauseGame, UnPauseGame, GUI.Visible

-
-
-
-

IsInterfaceEnabled

-
IsInterfaceEnabled()
-

Returns 1 if the player interface is currently enabled, 0 if it is disabled. The user interface is disabled while the cursor is set to the Wait cursor - i.e. while the character is performing a blocking Walk, or other blocking action.

-

Example:

-
if (IsInterfaceEnabled())
-    DisableInterface();
-

will disable the user interface if it's enabled.

-

See also: DisableInterface, EnableInterface

-
-
-
-

IsInteractionAvailable

-
int IsInteractionAvailable(int x, int y, int mode)
-

Checks whether there is an interaction defined inside a room for clicking on the screen at (X, Y) in cursor mode MODE. Please note that x and y are screen coordinates, not room coordinates.

-

This function is very similar to Room.ProcessClick, except that rather than carry out any interactions it encounters, it simply returns 1 if something would have happened, or 0 if unhandled_event would have been run.

-

Function will fail and return 0 if there's no room viewport on screen at the given coordinates. On the other hand it ignores any non-room objects such as GUI, and "clicks through" any GUI that covers room at this location.

-

This function is useful for enabling options on a verb-coin style GUI, for example.

-

NOTE: When looking up for an object under coordinates, IsInteractionAvailable is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
if (IsInteractionAvailable(mouse.x, mouse.y, eModeLookat) == 0)
-    Display("looking here would not do anything.");
-

See also: InventoryItem.IsInteractionAvailable, Hotspot.IsInteractionAvailable, Object.IsInteractionAvailable, Character.IsInteractionAvailable, Room.ProcessClick

-
-
-
-

IsKeyPressed

-
IsKeyPressed(eKeyCode)
-

Tests whether the supplied key on the keyboard is currently pressed down or not. You could use this to move an object while the player holds an arrow key down, for instance.

-

KEYCODE is one of the Key codes, with some limitations: since it tests the raw state of the key, you CANNOT pass the Ctrl+(A-Z) or Alt+(A-Z) codes (since they are key combinations). You can, however, use some extra codes which are listed at the bottom of the section.

-

Returns 1 if the key is currently pressed, 0 if not.

-

NOTE: The numeric keypad can have inconsistent keycodes between IsKeyPressed and on_key_press. With IsKeyPressed, the numeric keypad always uses keycodes in the 370-381 range. on_key_press, however, passes different values if Num Lock is on since the key presses are interpreted as the number key rather than the arrow key.

-

Example:

-
if (IsKeyPressed(eKeyUpArrow))
-    cEgo.Walk(cEgo.x, cEgo.y+3);
-

will move the character EGO upwards 3 pixels when the up arrow is pressed.

-

See also: Mouse.IsButtonDown

-
-
-
-

IsTimerExpired

-
bool IsTimerExpired(int timer_id)
-

Checks whether the timer TIMER_ID has expired. If the timeout set with SetTimer has elapsed, returns true. Otherwise, returns false.

-

Note that this function will only return true once - after that, the timer is placed into an OFF state where it will always return false until restarted.

-

Example:

-
if (IsTimerExpired(1)) {
-    Display("Timer 1 expired");
-}
-

will display a message when timer 1 expires.

-

See also: SetTimer

-
-
-
-

IsTranslationAvailable

-
IsTranslationAvailable ()
-

Finds out whether the player is using a game translation or not.

-

Returns 1 if a translation is in use, 0 if not.

-

See also: Game.ChangeTranslation, Game.TranslationFilename, GetTranslation, Translation Manual

-
-
-
-

MoveCharacterToHotspot

-

This function is now obsolete. Use Character.Walk instead

-
MoveCharacterToHotspot (CHARID, int hotspot)
-

Moves the character CHARID from its current location to the walk-to point for the specified hotspot. If the hotspot has no walk-to point, nothing happens.

-

This is a blocking call - control is not returned to the script until the character has reached its destination.

-

Example:

-
MoveCharacterToHotspot(EGO,6);
-

will move the character EGO to the hotspot's 6 "walk to point".

-

See also: Hotspot.WalkToX, Hotspot.WalkToY, Character.Walk, MoveCharacterToObject

-
-
-
-

MoveCharacterToObject

-

This function is now obsolete. Use Character.Walk instead

-
MoveCharacterToObject (CHARID, int object)
-

Moves the character CHARID from its current location to a position just below the object OBJECT. This is useful for example, if you want the man to pick up an object. This is a blocking call - control is not returned to the script until the character has reached its destination.

-

Example:

-
MoveCharacterToObject (EGO, 0);
-object[0].Visible = false;
-

Will move the character EGO below object number 0, then turn off object 0.

-

See also: Character.Walk, MoveCharacterToHotspot

-
-
-
-

PauseGame

-
PauseGame ()
-

Stops AGS processing movement and animations. This has the same effect on the game as happens when a modal GUI is popped up.

-

When the game is paused, game cycles will continue to run but no animations or movement will be performed, and timers will not count down. Apart from that, your scripts will continue to run as normal.

-

To be precise, following is paused by this function:

-
    -
  • Timers (ones set by SetTimer),
  • -
  • Character walking and animating, idle view timing,
  • -
  • Object moving and animating,
  • -
  • Overlay timing (for auto removal),
  • -
  • Speech timing and animation.
  • -
-

As you may notice, GUI and Audio are not paused at all. PauseGame was historically purposed to pause the Room, while having some kind of the GUI menus and background music running. If you want to also suspend (and later unsuspend) these, you would have to script that yourself.

-

NOTE: PauseGame() works as a counter, so if you call it twice, you will need to call UnPauseGame() game twice too to resume game. To avoid this behavior make sure to only pause once:

-
if (!IsGamePaused()) PauseGame();
-

Game processing will not resume until you call the UnPauseGame function as needed.

-

Example:

-
if (IsKeyPressed(32)) PauseGame();
-

will pause the game if the player presses the space bar

-

See also: UnPauseGame, IsGamePaused

-
-
-
-

QuitGame

-
QuitGame(int ask_first)
-

Exits the game and returns to the operating system.

-

If ASK_FIRST is zero, it will exit immediately. If ASK_FIRST is not zero, it will first display a message box asking the user if they are sure they want to quit.

-

Example:

-
QuitGame(0);
-

will quit the game without asking the player to confirm.

-

See also: AbortGame

-
-
-
-

Random

-
Random (int max)
-

Returns a random number between 0 and MAX. This could be useful to do various effects in your game. MAX must be a positive value in range 0-32767.

-

NOTE: Because of the way Random is implemented in AGS, the return value will never be higher than 32767.

-

NOTE: The range returned is inclusive - i.e. if you do Random(3); then it can return 0, 1, 2 or 3.

-

Example:

-
int ran=Random(2);
-if (ran==0) cEgo.ChangeRoom(1);
-else if (ran==1) cEgo.ChangeRoom(2);
-else cEgo.ChangeRoom(3);
-

will change the current room to room 1,2 or 3 depending on a random result.

-
-
-
-

RestartGame

-
RestartGame ()
-

Restarts the game from the beginning.

-

Example:

-
if (IsKeyPressed(365)) RestartGame();
-

will restart the game if the player presses the F7 key.

-

SeeAlso: SetRestartPoint

-
-
-
-

RestoreGameDialog

-
RestoreGameDialog ()
-

Displays the restore game dialog, where the player can select a previously saved game position to restore.

-

The dialog is not displayed immediately; instead, it will be displayed when the script function finishes executing.

-

Example:

-
if (IsKeyPressed(363)) RestoreGameDialog();
-

will bring up the restore game dialog if the player presses the F5 key.

-

See also: RestoreGameSlot, SaveGameDialog

-
-
-
-

RestoreGameSlot

-
RestoreGameSlot (int slot)
-

Restores the game position saved into slot number SLOT. If this slot number does not exist, an error message is displayed to the player but the game continues. To avoid the error, use the GetSaveSlotDescription function to see if the position exists before restoring it.

-

NOTE: The game will not be restored immediately; instead, it will be restored when the script function finishes executing.

-

Example:

-
RestoreGameSlot(30);
-

will restore game slot 30 if this slot number exists.

-

See also: Game.GetSaveSlotDescription, RestoreGameDialog, SaveGameSlot

-
-
-
-

RunAGSGame

-
RunAGSGame (string filename, int mode, int data)
-

Quits the current game, and loads up FILENAME instead. FILENAME must be an AGS game EXE or AC2GAME.AGS file, and it must be in the current directory.

-

MODE specifies various options about how you want to run the game. Currently the supported values are:

-
0   Current game is completely exited, new game runs as if it had been launched separately
-1   GlobalInt values are preserved and are not set to 0 for the new game.
-

DATA allows you to pass an integer through to the next game. The value you pass here will be accessible to the loaded game by it reading the game.previous_game_data variable.

-

The save game slots are shared between the two games, and if you load a save slot that was saved in the other game, it will automatically be loaded.

-

Bear in mind that because the games must be in the same folder, they will also share the audio.vox, speech.vox and so forth. This is a limitation of this command.

-

NOTE: The game you run will be loaded at the same resolution and color depth as the current game; if you mismatch color depths some nasty results will occur.

-

NOTE: The game you want to launch must have been created with the same point-version of AGS as the one you are launching it from. (version 2.xy - the X must be the same version between the two games).

-

Example:

-
RunAGSGame ("MyGame.exe", 0, 51);
-

will run the MyGame game, passing it the value 51.

-
-
-
-

SaveGameDialog

-
SaveGameDialog ()
-

Displays the save game dialog, where the player can save their current game position. If they select to save, then the game position will be saved.

-

NOTE: The dialog will not be displayed immediately; instead, it will be shown when the script function finishes executing.

-

Example:

-
if (keycode == 361) SaveGameDialog();
-

will bring up the save game dialog if the player presses the F3 key.

-

See also: RestoreGameDialog, SaveGameSlot

-
-
-
-

SaveGameSlot

-
SaveGameSlot (int slot, string description)
-

Saves the current game position to the save game number specified by SLOT, using DESCRIPTION as the textual description of the save position. Be careful using this function, because you could overwrite one of the player's save slots if you aren't careful.

-

NOTE: The game will not be saved immediately; instead, it will be saved when the script function finishes executing.

-

Example:

-
SaveGameSlot(30, "save game");
-

will save the current game position to slot 30 with the description "Save game".

-

See also: DeleteSaveSlot, RestoreGameSlot, SaveGameDialog

-
-
-
-

SaveScreenShot

-
SaveScreenShot (string filename)
-

Takes a screen capture and saves it to disk. The FILENAME must end in either ".BMP" or ".PCX", as those are the types of files which can be saved. Returns 1 if the shot was successfully saved, or 0 if an invalid file extension was provided.

-

NOTE: The screenshot will be saved to the Saved Games folder.

-

NOTE: This command can be slow when using the Direct3D graphics driver.

-

Example:

-
String input = Game.InputBox("Type the filename:");
-input = input.Append(".pcx");
-SaveScreenShot(input);
-

will prompt the player for a filename and then save the screenshot with the filename the player typed.

-

See also: DynamicSprite.SaveToFile

-
-
-
-

SetAmbientLightLevel

-
void SetAmbientLightLevel(int light_level);
-

Sets an ambient light level that affects all objects and characters in the room that have their UseRoomAreaLighting property set to true.

-

The light level is from -100 to 100, where 0 means that no adjustment will be applied to sprites.

-

In 8-bit games you cannot use positive light level for brightening effect, but you may still use negative values to produce darkening effect.

-

To turn light level off, call this command again but pass the light_level as 0.

-

NOTE: This function overrides any specific region light levels or tints on the screen, but does NOT override individual character and object light levels.

-

NOTE: Setting an ambient light level will disable ambient RGB tint, if there one was previously set.

-

Example:

-
SetAmbientLightLevel(50);
-

will apply light level 50 to every character and object on screen (which do not have individual light levels).

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: SetAmbientTint, Character.SetLightLevel, Object.SetLightLevel, Region.LightLevel

-
-
-
-

SetAmbientTint

-
SetAmbientTint(int red, int green, int blue, int saturation, int luminance)
-

Tints all objects and characters on the screen that have their UseRoomAreaLighting property set to true to (RED, GREEN, BLUE) with SATURATION percent saturation.

-

This allows you to apply a global tint to everything on the screen. The RED, GREEN and BLUE parameters are from 0-255, and specify the color of the tint.

-

The SATURATION parameter defines how much the tint is applied, and is from 0-100. A saturation of 100 will completely re-colorize the sprites to the supplied color, and a saturation of 1 will give them a very minor tint towards the specified color.

-

The LUMINANCE parameter allows you to adjust the brightness of the sprites at the same time. It ranges from 0-100. Passing 100 will draw the sprites at normal brightness. Lower numbers will darken the images accordingly, right down to 0 which will draw everything black.

-

The tint applied by this function is global. To turn it off, call this command again but pass the saturation as 0.

-

NOTE: This function only works in hi-color games and with hi-color sprites.

-

NOTE: This function overrides any specific region light levels or tints on the screen.

-

Example:

-
SetAmbientTint(0, 0, 250, 30, 100);
-

will tint everything on the screen with a hint of blue.

-

See also: SetAmbientLightLevel, Character.Tint, Object.Tint, Region.Tint

-
-
-
-

SetGameOption

-
SetGameOption (option, int value)
-

Changes one of the game options, originally set in the AGS Editor Game Settings pane.

-

OPTION specifies which option to change, and VALUE is its new value. Valid OPTIONs are listed below:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionValues
OPT_WALKONLOOKWalk to hotspot in look mode (0 or 1)
OPT_DIALOGOPTIONSGUIDialog options on GUI (0=none, otherwise GUI name/number)
OPT_DIALOGOPTIONSGAPPixel gap between options (0=none, otherwise num pixels)
OPT_WHENGUIDISABLEDWhen GUI is disabled, 0=grey out, 1=go black, 2=unchanged, 3=turn off
OPT_ALWAYSSPEECHAlways display text as speech (0 or 1)
OPT_PIXELPERFECTPixel-perfect click detection (0 or 1)
OPT_NOWALKMODEDon't automatically move character in Walk mode (0 or 1)
OPT_FIXEDINVCURSORDon't use inventory graphics as cursors (0 or 1)
OPT_DONTLOSEINVDon't automatically lose inventory items (0 or 1)
OPT_TURNBEFOREWALKCharacters turn before walking (0 or 1)
OPT_HANDLEINVCLICKSHandle inventory clicks in script (0 or 1)
OPT_MOUSEWHEELEnable mouse wheel support (0 or 1)
OPT_DIALOGNUMBEREDNumber dialog options (-1=disabled, 0=shortcuts only, 1=drawn numbers)
OPT_DIALOGUPWARDSDialog options go upwards on GUI (0 or 1)
OPT_CROSSFADEMUSICCrossfade music tracks (0=no, 1=slow, 2=slow-ish, 3=medium, 4=fast)
OPT_ANTIALIASFONTSAnti-alias rendering of TTF fonts (0 or 1)
OPT_THOUGHTGUIThought uses bubble GUI (GUI name/number)
OPT_TURNWHENFACINGCharacters turn to face direction (0 or 1)
OPT_LIPSYNCTEXTWhether lip-sync text reading is enabled (0 or 1)
OPT_RIGHTTOLEFTRight-to-left text writing (0 or 1)
OPT_MULTIPLEINVDisplay multiple inv items multiple times (0 or 1)
OPT_SAVEGAMESCREENSHOTSSave screenshots into save games (0 or 1)
OPT_PORTRAITPOSITIONSpeech portrait side (0=left, 1=right, 2=alternate, 3=xpos)
-

The game settings which are not listed here either have a separate command to change them (such as Speech.Style), or simply cannot be changed at run-time.

-

This command returns the old value of the setting.

-

Example:

-
SetGameOption (OPT_PIXELPERFECT, 0);
-

will disable pixel-perfect click detection.

-

See also: GetGameOption, Speech.Style, SetTextWindowGUI

-
-
-
-

SetGameSpeed

-
SetGameSpeed (int new_speed)
-

Sets the maximum game frame rate to NEW_SPEED frames per second, or as near as possible to that speed. The default frame rate is 40 fps, but you can speed up or slow down the game by using this function. Note that this speed is also the rate at which the Repeatedly_Execute functions are triggered.

-

The NEW_SPEED must lie between 10 and 1000. If it does not, it will be rounded to 10 or 1000. Note that if you set a speed which the player's computer cannot handle (for example, a 486 will not be able to manage 80 fps), then it will go as fast as possible.

-

NOTE: Because the mouse cursor is repainted at the game frame rate, at very low speeds, like 10 to 20 fps, the mouse will appear to be jumpy and not very responsive.

-

NOTE: If you set the System.VSync property to true, the game speed will be capped at the screen's refresh rate, so you will be unable to set it higher than 60-85 (depending on the player's screen refresh).

-

Example:

-
SetGameSpeed(80);
-

will set the game speed to 80.

-

See also: GetGameSpeed

-
-
-
-

SetGlobalInt

-
SetGlobalInt (int index, int value)
-

Sets the global int INDEX to VALUE. You can then retrieve this value from any other script using GetGlobalInt.

-

There are 500 available global variables, from index 0 to 499.

-

NOTE: GlobalInts are now considered obsolete. Consider using global variables instead, which allow you to name the variables.

-

Example:

-
SetGlobalInt(10,1);
-

will set the Global Integer 10 to 1.

-

See also: Global variables, GetGlobalInt

-
-
-
-

SetGraphicalVariable

-
SetGraphicalVariable(string variable_name, int value);
-

Sets the interaction editor VARIABLE_NAME variable to VALUE. This allows your script to change the values of variables set in the interaction editor.

-

NOTE: This command is obsolete, and is only provided for backwards compatibility with AGS 2.x. When writing new code, use global variables instead.

-

Example:

-
SetGraphicalVariable("climbed rock", 1);
-

will set the interaction editor "climbed rock" variable to 1.

-

See also: Global variables, GetGraphicalVariable

-
-
-
-

SetMultitaskingMode

-
SetMultitaskingMode (int mode)
-

Allows you to set what happens when the user switches away from your game.

-

If MODE is 0 (the default), then if the user Alt+Tabs out of your game, or clicks on another window, the game will pause and not continue until they switch back into the game.

-

If MODE is 1, then the game will continue to run in the background if the user switches away (useful if, for example, you are just making some sort of jukebox music player with AGS).

-

Note that mode 1 does not work with some graphics cards in full-screen mode, so you should only rely on it working when your game is run in windowed mode.

-

Cross-Platform Support

-

Windows: Yes
Linux: Yes
MacOS: Yes

-

Example:

-
SetMultitaskingMode (1);
-

will mean that the game continues to run in the background.

-
-
-
-

SetRestartPoint

-
SetRestartPoint ()
-

Changes the game restart point to the current position. This means that from now on, if the player chooses the Restart Game option, it will return here.

-

This function is useful if the default restart point doesn't work properly in your game - just use this function to move it.

-

NOTE: The restart point cannot be set while a script is running -- therefore, when you call this it will actually set the restart point at the next game loop where there is not a blocking script running in the background.

-

SeeAlso: RestartGame

-
-
-
-

SetTextWindowGUI

-
SetTextWindowGUI (int gui)
-

Changes the GUI used for text windows to the specified GUI. This overrides the "text windows use GUI" setting in the editor.

-

You can pass -1 as the GUI number to go back to using the default white text box.

-

Example:

-
SetTextWindowGUI (4);
-

will change Textwindow GUI 4 to be used for displaying text windows in future.

-
-
-
-

SetTimer

-
SetTimer (int timer_id, int timeout)
-

Starts timer TIMER_ID ticking - it will tick once every game loop (normally 40 times per second), until TIMEOUT loops, after which it will stop. You can check whether the timer has finished by calling the IsTimerExpired function.

-

Pass TIMEOUT as 0 to disable a currently running timer.

-

There are 20 available timers, with TIMER_IDs from 1 to 20.

-

NOTE: the timer will not tick while the game is paused.

-

Example:

-
SetTimer(1,1000);
-

will set the timer 1 to expire after 1000 game cycles.

-

Example 2:

-

When you have a hard time keeping track of the timers only by number you can use Macros to replace the descriptive name with the time number everywhere the descriptive name is use. To better keep track of these macros you could put them on top of the global script.

-
#define Delay_CustomAnimation 1
-
-SetTimer(Delay_CustomAnimation, 2000);
-

this "names" timer 1 and sets it to expire after 2000 game cycles

-

See also: IsTimerExpired

-
-
-
-

SkipCutscene

-
SkipCutscene()
-

Explicitly commences skipping current cutscene. If game is not in a cutscene sequence or cutscene is already being skipped this function will do nothing.

-

SkipCutscene will work regardless of the StartCutscene parameters, but is most useful when you do not want to rely on built-in skipping controls and are coding your own. In the latter case make sure to start cutscene in eSkipScriptOnly mode to prevent any standard input interference.

-

Example:

-
if (Game.InSkippableCutscene && IsKeyPressed(eKeySpace)) {
-    SkipCutscene();
-}
-

will check if game is inside a cutscene, and if player has pressed a space bar then commands to skip it.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: EndCutscene, SkipUntilCharacterStops, StartCutscene, Game.InSkippableCutscene, Game.SkippingCutscene

-
-
-
-

SkipUntilCharacterStops

-
SkipUntilCharacterStops(CHARID)
-

Skips through the game until the specified character stops walking, a blocking script runs, or a message box is displayed.

-

The purpose of this command is to mimic the functionality in games such as The Longest Journey, where the player can press ESC to instantly get the character to its destination. It serves as a handy feature to allow you to give the player character a relatively slow walking speed, without annoying the player by making them wait ages just to get from A to B.

-

If the specified character is not moving when this function is called, nothing happens.

-

Example: (in on_key_press)

-
if (keycode == eKeyEscape) SkipUntilCharacterStops(EGO);
-

This means that if the player presses ESC, the game will skip ahead until EGO finishes moving, or is interrupted by a Display command or a blocking cutscene.

-

See also: StartCutscene

-
-
-
-

StartCutscene

-
StartCutscene(CutsceneSkipType)
-

Marks the start of a cutscene. Once your script passes this point, the player can choose to skip a portion by pressing a key or the mouse button. This is useful for things like introduction sequences, where you want the player to be able to skip over an intro that they've seen before.

-

The CutsceneSkipType determines how they can skip the cutscene:

-
eSkipESCOnly
-  by pressing ESC only
-eSkipAnyKey
-  by pressing any key
-eSkipMouseClick
-  by clicking a mouse button
-eSkipAnyKeyOrMouseClick
-  by pressing any key or clicking a mouse button
-eSkipESCOrRightButton
-  by pressing ESC or clicking the right mouse button
-eSkipScriptOnly
-  only by calling SkipCutscene script function
-

NOTE: eSkipScriptOnly may be useful if you are coding your own cutscene skipping method in script and would like to disable built-in ones.

-

You need to mark the end of the cutscene with the EndCutscene command.

-

Be very careful with where you place the corresponding EndCutscene command. The script must pass through EndCutscene in its normal run in order for the skipping to work - otherwise, when the player presses ESC the game could appear to hang.

-

Compatibility: eSkipScriptOnly cutscene mode is supported by AGS 3.5.0 and later versions.

-

See also: EndCutscene, SkipCutscene, SkipUntilCharacterStops, Game.InSkippableCutscene, Game.SkippingCutscene

-
-
-
-

UpdateInventory

-
UpdateInventory ()
-

Updates the on-screen inventory display. If you add or remove inventory items manually (i.e. by using the InventoryQuantity array rather than the AddInventory/LoseInventory functions), the display may not get updated. In this case call this function after making your changes, to update what is displayed to the player.

-

Note that using this function will reset the order that items are displayed in the inventory window to the same order they were created in the editor.

-

See also: Character.AddInventory, Character.LoseInventory, Character.InventoryQuantity

-
-
-
-

UnPauseGame

-
UnPauseGame ()
-

Resumes the game.

-

Example:

-
if (IsGamePaused() == 1)
-    UnPauseGame();
-

will unpause the game if it is paused.

-

NOTE: Because PauseGame works as a counter, if you called it more than once, this won't work. To ignore this behavior, unpause as much as needed with the below snippet.

-
while (IsGamePaused()) UnPauseGame();
-

See also: PauseGame, IsGamePaused

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_Message.html b/Globalfunctions_Message.html deleted file mode 100644 index fbec24f1e..000000000 --- a/Globalfunctions_Message.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - Global functions (Message Display) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (Message Display)

-
-

Display

-
Display (string message, ...)
-

Displays a message to the screen. It will be displayed in the standard message box, and centered in the middle of the screen.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Display supports playing a voice file. For that you need to precede the text with &N, where N is a voice clip's number. You may choose which character's clips will be played by assigning character's ID to game.narrator_speech variable. Alternatively, you may assign NARRATOR constant, which will tell it to use clips named "NARR*". For more information, see the Voice speech section.

-

Example:

-
int my_counter;
-Display ("The counter is currently set to %d.", my_counter);
-

will replace the '%d' with the value of the variable "my_counter".

-

NOTE: Display is a blocking function - that is, control will not return to the script until the player has removed the text window (by pressing a key or clicking the mouse). While the window is displayed, all other processing, like animations and interface display, are disabled. This is usually used for responses to the player looking at things.

-

See also: DisplayAt, DisplayMessage, Character.Say, DisplayTopBar, String.Format

-
-
-
-

DisplayAt

-
DisplayAt(int x, int y, int width, string message, ...)
-

Identical to the "Display" function, only this allows you to define the position and size of the window where the text is displayed. The X and Y variables define the co-ordinates of the upper-left corner of the window.

-

The WIDTH variable defines the maximum width of the window. The height is then automatically calculated so that the message fits into the window.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Note: This is a blocking call. See the "Display" help for more information.

-

Example:

-
DisplayAt (50,50,100, "This is a message");
-

will display the message at coordinates 50,50 in a box 100 pixels wide.

-

See also: Display, DisplayAtY

-
-
-
-

DisplayAtY

-
DisplayAtY (int y, string message, ...)
-

Similar to the Display function, except that this will display the message box at the specified Y location on the screen. The Y defines the co-ordinate of the top of the message box. The horizontal positioning will be automatically calculated as usual.

-

As of AGS 3.6.1, you can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
DisplayAt (50, "This is a message");
-

will display the message at y coordinate 50.

-

See also: Display, DisplayAt

-
-
-
-

DisplayMessage

-
DisplayMessage (int message_number)
-

Identical to the Display function, but this uses a message text defined in the AGS Editor rather than in the script. It will either use a message from the current room, or a global message (if message_number >= 500).

-

Example:

-
DisplayMessage(220);
-

will display the message 220 of the Room message editor.

-

See also: Display, DisplayMessageAtY

-
-
-
-

DisplayMessageAtY

-
DisplayMessageAtY (int message_number, int yposition)
-

Identical to the DisplayMessage function, except that the text box is positioned with its top at YPOSITION, the same way as DisplayAtY works.

-

This is useful if you have an important graphic in the middle of the screen that the text box would normally cover up - with this function you can place the message above or below it.

-

Example:

-
DisplayMessageAtY(527, 200);
-

will display global message 527, in the lower half of the screen.

-

See also: DisplayAtY, DisplayMessage

-
-
-
-

DisplayTopBar

-
DisplayTopBar(int y, int text_color, int back_color, string titleText, string message, ...)
-

Displays a message in a text window, with a caption bar on top of it.

-

This displays MESSAGE in a similar way to the normal Display command, but above the text window a caption bar will be displayed with TITLETEXT in it. This method was used in some early Sierra games to indicate who was talking by having their name in the caption, and can be handy if you don't want to draw a talking view for a character.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

The Y parameter specifies the Y location on the screen where the message box will appear. The default is 25.

-

The TEXT_COLOR parameter specifies the text color of the top bar, and the BACK_COLOR specifies the background color of the top bar.

-

You can pass 0 for Y, TEXT_COLOR or BACK_COLOR - if you do, it will use the setting you used last time.

-

There are a couple of game variables available which can further customize the look of the bar. You can change these before calling DisplayTopBar.

-

game.top_bar_bordercolor sets the color used for the bar's border (set to the same color as the backcolor if you don't want a border)
game.top_bar_borderwidth sets the width of the bar's border, in pixels (default 1)
game.top_bar_font sets the font to use for the top bar. The default is -1, which means that the current Normal font is used. Set it to a specific number to use that font instead.

-

Example:

-
DisplayTopBar(25, 8, 7, "Evil wizard", "Get out of my house and never return!");
-

will display "Get out of my house and never return!" in the message box, with the caption bar reading "Evil wizard". The message box will have dark grey text on a light grey background.

-

See also: Display, DisplayAt

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_Palette.html b/Globalfunctions_Palette.html deleted file mode 100644 index fe183607c..000000000 --- a/Globalfunctions_Palette.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - Global functions (Palette Operations) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (Palette Operations)

-
-

CyclePalette

-
CyclePalette (int start, int end)
-

This is used for special effects, like the flowing colors on the Space Quest 4 title screen, and the Sierra logo of the later Sierra games. The palette indexes from START to END are cycled around one slot. Using this call in a repeatedly_execute function gives the effect of animation.

-

By default, the colors rotate leftwards through the palette. If you pass the arguments the other way round (i.e. START being larger than END) then the colors will rotate in the opposite direction.

-

NOTE: This command only works in 256-color games.

-

Example:

-
CyclePalette(10,200);
-

will cause the palette indexes from 10 to 200 cycle around one slot and give a color effect.

-

See also: FadeIn, FadeOut, SetPalRGB

-
-
-
-

SetPalRGB

-
SetPalRGB (int slot, int red, int green, int blue)
-

Changes the RGB components of one of the palette slots. The palette is initially set up in the Palette Editor, but you can override it during the game using this function for special effects. The RED, GREEN and BLUE parameters each range from 0 to 63 (as used in the Palette Editor).

-

If SLOT is a background slot, then this function's effect will last until the player changes screen, when the palette is changed to the new room's palette. If SLOT is not a background slot, the effect of this function is permanent.

-

NOTE: This function will allow you to change the colors which are "locked" in the AGS Editor. However, you should not normally do this as it can cause strange colors in the game.

-

Example:

-
SetPalRGB(10,63,63,21);
-

will change palette slot number 10 from light green to yellow

-

See also: CyclePalette, FadeIn, FadeOut, UpdatePalette

-
-
-
-

UpdatePalette

-
UpdatePalette()
-

Commits the changes you made to the game palette. The script global variable palette[] stores the state of all the colors of the palette. You can access the red, green and blue components with .r, .g and .b. The values range from 0 to 63.

-

Example:

-
palette[16].r = 60;
-UpdatePalette();
-

will make the black color turn bright red. When you actually change the variable, nothing happens. Call this function to update the screen.

-

See also: SetPalRGB

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_Room.html b/Globalfunctions_Room.html deleted file mode 100644 index f188c73ac..000000000 --- a/Globalfunctions_Room.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - Global functions (room actions) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (room actions)

-
-

AreThingsOverlapping

-
AreThingsOverlapping(int thing1, int thing2)
-

Checks whether two characters or objects are overlapping each other on screen. This simply carries out a quick rectangular check on the two things to decide - so if they have large transparent regions around the edges, it may seem to be overlapping too soon.

-

THING1 and THING2 can either be a CHARID, or can be an object number PLUS 1000. So for example, passing EGO as THING1, and 1004 as THING2, will compare the character EGO with Object 4 in the current room.

-

Returns 0 if they are not overlapping, or the overlapping amount if they are. This amount is an arbitrary scale, but 1 means they are just about touching, with higher numbers representing an increasing degree of overlap.

-

Calling this function with both the parameters as objects is the same as calling Object.IsCollidingWithObject.

-

Example:

-
if (AreThingsOverlapping(1002, EGO)) {
-    // code here
-}
-

will run the code if object 2 is overlapping EGO. This could be useful if object 2 was a bullet, for instance.

-

See also: Character.IsCollidingWithChar, Object.IsCollidingWithObject

-
-
-
-

DisableGroundLevelAreas

-
DisableGroundLevelAreas(int disableTints)
-

Disables all ground-level events. This means that all Region events, the Player Stands On Hotspot event, and the room edges become disabled.

-

This command is useful in conjunction with the character[].z variable, if you want the player to be able to temporarily fly or levitate, for example. It allows you to stop the character from triggering Player Stands On events while they are in the air.

-

This command is also useful during some cutscenes, if you don't want the player to trigger events as they walk around the room while in the cutscene.

-

The DISABLETINTS parameter specifies whether the visual effects of the regions (i.e. light levels and tints) are also disabled. If you pass this as 0, then just the events will be turned off.

-

Example:

-
DisableGroundLevelAreas(0);
-

will disable all ground-level events, but leave light levels working

-

See also: Hotspot.Enabled, Region.Enabled, EnableGroundLevelAreas

-
-
-
-

EnableGroundLevelAreas

-
EnableGroundLevelAreas()
-

Re-enables all ground-level events. This is used to reverse the effects of using the DisableGroundLevelAreas command, and will return things to normal.

-

Example:

-
EnableGroundLevelAreas();
-

will re-enable all ground-level events.

-

See also: Hotspot.Enabled, Region.Enabled, DisableGroundLevelAreas

-
-
-
-

GetBackgroundFrame

-
GetBackgroundFrame()
-

Returns the number of the current background being displayed. In a room without animating backgrounds, this will always return 0. Otherwise, the current frame number is returned from 0 to 4.

-

Example:

-
if (GetBackgroundFrame()==4)
-    object[2].Visible = true;
-

will turn on object 2 if the background frame of the room is frame 4.

-

See also: SetBackgroundFrame

-
-
-
-

GetDrawingSurfaceForWalkableArea

-
DrawingSurface* GetDrawingSurfaceForWalkableArea()
-

Gets a drawing surface for the current room's 8-bit walkable mask, which allows you to directly draw onto that mask.

-

After calling this method, use the various DrawingSurface functions to modify the mask. Since this is a 8-bit mask, DrawingColor will match the walkable area's index. Color value 0 will refer to "no area" (erase pathways), color value 1 to area number 1, and so forth. Don't forget to call Release() on the surface when you are finished to update the room's state.

-

Any changes you make will only last until the player leaves the room, at which point they will be lost. If you need to make long-lasting changes, you can use this method in the Player Enters Room event, which will recreate these changes whenever player returns back.

-

Example:

-
DrawingSurface *surface = GetDrawingSurfaceForWalkableArea();
-surface.DrawingColor = 4;
-surface.DrawRectangle(50, 50, 100, 100);
-surface.Release();
-

will paint a rectangle for the walkable area 4.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GetDrawingSurfaceForWalkbehind, Hotspot.GetDrawingSurface, Region.GetDrawingSurface

-
-
-
-

GetDrawingSurfaceForWalkbehind

-
DrawingSurface* GetDrawingSurfaceForWalkbehind()
-

Gets a drawing surface for the current room's 8-bit walk-behind mask, which allows you to directly draw onto that mask.

-

After calling this method, use the various DrawingSurface functions to modify the mask. Since this is a 8-bit mask, DrawingColor will match the walk-behind's index. Color value 0 will refer to "no area" (erase walk-behinds), color value 1 to walk-behind number 1, and so forth. Don't forget to call Release() on the surface when you are finished to update the room's state.

-

Any changes you make will only last until the player leaves the room, at which point they will be lost. If you need to make long-lasting changes, you can use this method in the Player Enters Room event, which will recreate these changes whenever player returns back.

-

Example:

-
DrawingSurface *surface = GetDrawingSurfaceForWalkbehind();
-surface.DrawingColor = 4;
-surface.DrawRectangle(50, 50, 100, 100);
-surface.Release();
-

will paint a rectangle for the walk-behind 4.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GetDrawingSurfaceForWalkableArea, Hotspot.GetDrawingSurface, Region.GetDrawingSurface

-
-
-
-

GetScalingAt

-
GetScalingAt (int x, int y)
-

Returns the room area scaling at room co-ordinates (X,Y).

-

The value returned is from 1 to 200, with 100 being the normal un-scaled setting.

-

Example:

-
if (GetScalingAt(player.x, player.y) == 100)
-    Display ("The player is currently at normal size.");
-

See also: GetWalkableAreaAt, SetAreaScaling

-
-
-
-

GetViewportX

-

This function is obsolete since AGS 3.5.0. Use Game.Camera.X instead.

-
GetViewportX()
-

Returns the X-position of the main camera's rectangle in a room. This allows you to find out what part of the room the player is looking at.

-
-
-
-

GetViewportY

-

This function is obsolete since AGS 3.5.0. Use Game.Camera.Y instead.

-
GetViewportY()
-

Returns the Y-position of the main camera's rectangle in a room. This allows you to find out what part of the room the player is looking at.

-
-
-
-

GetWalkableAreaAt

-

This function is obsolete since AGS 3.5.0. Use equivalent GetWalkableAreaAtScreen instead.

-
int GetWalkableAreaAt(int x, int y)
-

Returns the ID of the walkable area at screen co-ordinates (X, Y). If there is no walkable area there, or if invalid co-ordinates are specified, returns 0.

-
-
-
-

GetWalkableAreaAtRoom

-
int GetWalkableAreaAtRoom(int x, int y)
-

Returns the ID of the walkable area at room co-ordinates (X, Y). If there is no walkable area there, or if invalid co-ordinates are specified, returns 0.

-

This function may be useful when you need to find a walkable area relative to some other point in room, a room object or character.

-

Example:

-
if (GetWalkableAreaAtRoom(player.x, player.y) > 0)
-    Display ("Player is standing on the walkable area.");
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GetWalkableAreaAtScreen, Hotspot.GetAtRoomXY, Region.GetAtRoomXY, GetScalingAt

-
-
-
-

GetWalkableAreaAtScreen

-
int GetWalkableAreaAtScreen(int x, int y)
-

Returns the ID of the walkable area at screen co-ordinates (X, Y). If there is no walkable area there, or if invalid co-ordinates are specified, returns 0.

-

There has to be an active room viewport at the specified screen location for this function to succeed, otherwise it also returns 0.

-

This function is convenient when you need to find a walkable area relative to some screen point, such as mouse cursor's position.

-

Example:

-
if (GetWalkableAreaAtScreen(mouse.x, mouse.y) == 0)
-    Display ("You can't walk there.");
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: GetWalkableAreaAtRoom, Hotspot.GetAtScreenXY, Region.GetAtScreenXY, GetScalingAt

-
-
-
-

HasPlayerBeenInRoom

-
HasPlayerBeenInRoom(int room_number)
-

Checks whether the player has ever been in ROOM_NUMBER (i.e. has the 'First Time Player Enters Room' event there ever been run). Returns 1 if they have, and 0 if they haven't.

-

You can use this function to determine whether the player has been to a particular location previously. If you reset the room with ResetRoom, then this command will return 0 until they enter the room again.

-

This command will always return 1 if you ask it about the current room; and it will always return 0 if you ask it about a non-state saving room (i.e. rooms numbered > 300).

-

Example:

-
if (HasPlayerBeenInRoom(14)) {
-    Display("The player has been to room 14 before.");
-}
-

will display a message if the player has been to room 14.

-

See also: ResetRoom

-
-
-
-

ReleaseViewport

-

This function is obsolete since AGS 3.5.0. Use Game.Camera.AutoTracking instead.

-
ReleaseViewport()
-

Releases the lock on the main camera, allowing it to automatically scroll around following the player character as normal.

-
-
-
-

RemoveWalkableArea

-
RemoveWalkableArea (int areanum)
-

Removes the walkable areas in color AREANUM from the current room. You can put the area back with RestoreWalkableArea.

-

NOTE: When the player leaves the screen, all the walkable areas are reset. Therefore, if you want an area to remain off when they leave the screen, you will need to set a flag, then run the RemoveWalkableArea command in the "Player enters room" event when they return.

-

Example:

-
RemoveWalkableArea(5);
-

will make the walking area 5 unwalkable.

-

See also: RestoreWalkableArea

-
-
-
-

ResetRoom

-
ResetRoom (int room_number)
-

Discards all the data that the engine has in memory about when the player last visited ROOM_NUMBER, and resets it as if they'd never been there. The next time the player goes to that room, all the objects and scripts will be in their initial state (as set up in the editor), and not how they were when the player left the room. The "First time enters room" event will be run when they enter this room again.

-

This function is useful if you want to have a "View intro" option to allow the player to watch an intro again - this function can reset all the objects in the intro rooms to their starting positions.

-

NOTE: You cannot reset the current room (i.e. the room that the player is in).

-

Example:

-
ResetRoom(0);
-

will reset the intro room so it can be played again if the player wants to.

-

See also: HasPlayerBeenInRoom

-
-
-
-

RestoreWalkableArea

-
RestoreWalkableArea (int areanum)
-

Makes the area AREANUM walkable again.

-

Example:

-
RestoreWalkableArea(4);
-

will make the walking area 4 walkable again.

-

See also: RemoveWalkableArea

-
-
-
-

SetAreaScaling

-
SetAreaScaling(int area, int min, int max)
-

Changes walkable area number AREA's scaling.

-

There are two ways to use this command:

-
    -
  1. Pass the same value for MIN and MAX. This will give the walkable area fixed scaling (same as setting it in the editor with "Use continuous scaling" un-ticked).
  2. -
  3. Pass different values for MIN and MAX. In this case, continuous scaling is enabled for the walkable area, and will go from MIN at the top to MAX at the bottom.
  4. -
-

MIN and MAX have ranges from 5 to 200, the same as in the editor. Pass 100 for both values to revert to the normal zoom level (100%) for that area.

-

Example:

-
SetAreaScaling(5, 120, 170);
-

will set walkable area 5 to use continuous scaling from 120 to 170 percent.

-

See also: GetScalingAt, GetWalkableAreaAt

-
-
-
-

SetBackgroundFrame

-
SetBackgroundFrame (int frame)
-

Locks the background to frame number FRAME of an animating-background screen. (Values for FRAME are from 0 to 4). This allows you to use the animating backgrounds feature for another purpose - you can have two frames of the background, one for example with a spaceship crashed on it. Then, once the right event has happened, call SetBackgroundFrame in the Player Enters Room event to set the background before the screen fades in.

-

Pass the frame as -1 to return to the default behavior of automatically cycling through all the background frames.

-

The frame lock is released when the game changes rooms.

-

Example:

-
SetBackgroundFrame(4);
-

will change the current room's background frame to 4.

-

See also: GetBackgroundFrame

-
-
-
-

SetViewport

-

This function is obsolete since AGS 3.5.0. Use Game.Camera.SetAt instead.

-
SetViewport(int x, int y)
-

Locks the main camera to having the top-left hand corner at (X,Y) in a scrolling room. This allows you to manually pan across a scrolling room or to have the camera follow a non-player character.

-

The lock is released when you either call ReleaseViewport or the player changes rooms.

-
-
-
-

SetWalkBehindBase

-
SetWalkBehindBase (int area, int baseline)
-

Changes the walk-behind AREA to have new BASELINE. This effectively allows you to turn walk-behinds on and off, although you can do other tricks with it as well. BASELINE is from 1 to the height of the room (normally 200) and moves the line which you set originally in the editor.

-

Passing BASELINE as 0 disables the walk-behind area, so that the player will always walk in front of it.

-

Basically, if the character's feet are below BASELINE, he will be drawn in front of it, otherwise he will be drawn behind it.

-

Example:

-
SetWalkBehindBase (3,0);
-

will disable the walkbehind area number 3.

-

See also: Object.Baseline

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_Screen.html b/Globalfunctions_Screen.html deleted file mode 100644 index 16bec7007..000000000 --- a/Globalfunctions_Screen.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - Global functions (Screen Effects) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (Screen Effects)

-
-

FadeIn

-
FadeIn (int speed)
-

Fades in from a black screen to the current palette. This is used to restore the screen after a FadeOut call. SPEED is from 1 (slowest) to 64 (fastest).

-

NOTE: This is a blocking function.

-

Example:

-
FadeOut(30);
-Wait(40);
-FadeIn(10);
-

will fade the screen to black, wait 1 sec (40 game cycles) and then fade in again.

-

See also: CyclePalette, FadeOut, SetFadeColor

-
-
-
-

FadeOut

-
FadeOut (int speed)
-

Fades the screen out to black. SPEED is the speed of the fade, from 1 (slowest) to 64 (instant). You can restore the screen with FadeIn.

-

NOTE: This is a blocking function.

-

Example:

-
FadeOut(30);
-Wait(40);
-FadeIn(10);
-

will fade the screen to black, wait 1 sec (40 game cycles) and then fade in again.

-

See also: CyclePalette, FadeIn, SetFadeColor

-
-
-
-

FlipScreen

-
FlipScreen (int way)
-

Flips the screen round either the horizontal or vertical axis, or both. This function is for special effects only - all co-ordinates remain the same and it doesn't effect any other script functions.

- - - - - - - - - - - - - - - - - - - - - - - - - -
way valueflip direction
0normal
1horizontal-flip (upside-down)
2vertical-flip (left-to-right)
3both (upside-down and backwards)
-

NOTE: This function is still a bit buggy - black parts of the screen may show up wrong, and and pop-up messages will flip the screen back to normal.

-

Example:

-
FlipScreen(1);
-

will flip the screen upside down.

-
-
-
-

SetFadeColor

-
SetFadeColor(int red, int green, int blue)
-

Changes the color which the screen fades out to, to have the specified RGB value. Each of the parameters can range from 0-255. The default is black, i.e. (0, 0, 0)

-

The color that you set here will be used in all future calls to FadeIn/FadeOut, and also for the screen transition if it is set to Fade In/Out.

-

Example:

-
SetFadeColor(200, 0, 0);
-

will mean that next time the screen fades out, it fades to red instead of black.

-

SeeAlso: FadeIn, FadeOut, SetScreenTransition

-
-
-
-

SetNextScreenTransition

-
SetNextScreenTransition(TransitionStyle)
-

Sets the room transition type to TransitionStyle, but ONLY for the next room change. After that, it will revert back to the normal transition type specified in the editor or with SetScreenTransition.

-

For the possible values for TransitionStyle, see SetScreenTransition.

-

Example:

-
SetNextScreenTransition(eTransitionBoxout);
-cEgo.ChangeRoom(10);
-

will go to room 10 with a box-out effect, but then return to the normal transition type from then on.

-

SeeAlso: SetScreenTransition

-
-
-
-

SetScreenTransition

-
SetScreenTransition(TransitionStyle)
-

Changes the default screen transition. TransitionStyle can be one of the following:

-
eTransitionFade
-eTransitionInstant
-eTransitionDissolve
-eTransitionBoxout
-eTransitionCrossfade
-

All future transitions will be done as specified until you call this function again.

-

Example:

-
SetScreenTransition(eTransitionFade);
-

will change the room transitions to Fade.

-

SeeAlso: SetNextScreenTransition

-
-
-
-

ShakeScreen

-
ShakeScreen (int amount)
-

Shakes the screen to simulate, for example, an earthquake. AMOUNT is how much the screen shakes: 1 is hardly anything, and 25 is a lot.

-

Example:

-
ShakeScreen(5);
-

will shake the screen a little.

-

See also: ShakeScreenBackground

-
-
-
-

ShakeScreenBackground

-
ShakeScreenBackground (int delay, int amount, int length)
-

Shakes the screen to simulate, for example, an earthquake. The game is not paused while the screen shakes - it will continue in the background.

-

DELAY specifies the 'shakiness' of the shake - 2 is the lowest you can pass for this, and will create the most shaky screen.

-

AMOUNT specifies the ferociousness of the shake - i.e. how much the screen moves by when it does shake. Here, 1 is a very tiny shake, up to about 30 for a ferocious shake.

-

LENGTH specifies how long the shake lasts for, in game loops. For example, 80 would be equivalent to 2 seconds at the default game speed.

-

You can abort any current background shake that is in progress by calling this command with the LENGTH parameter as zero.

-

Example:

-
ShakeScreenBackground (4, 10, 80);
-

will shake the screen a little for 2 seconds.

-

See also: ShakeScreen

-
-
-
-

TintScreen

-
TintScreen (int red, int green, int blue)
-

Tints the screen with the specified RGB values. RED, GREEN and BLUE range from 1 to 100.

-

Pass (0, 0, 0) to turn off the tinting and go back to how the screen normally looks.

-

For historical reasons, the tint works by applying a 50%-transparent layer of the specified color to the screen after everything else has been drawn. Therefore, it may not lead to the sort of results you might expect.

-

NOTE: This command is currently experimental, since it causes a massive slowdown in the engine, especially at high resolutions. If you use it, you should provide an option for the player to turn it off.

-

NOTE: This feature does not work in 256-color games.

-

Example:

-
TintScreen (100, 50, 50);
-

will tint a heavy dose of red.

-
-
-
- - - - - -
- - diff --git a/Globalfunctions_Wait.html b/Globalfunctions_Wait.html deleted file mode 100644 index b36c3c8ee..000000000 --- a/Globalfunctions_Wait.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - Global functions (Wait) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Global functions (Wait)

-

Wait* functions block the execution of a current script for certain duration, and optionally let player skip the waiting with a key or mouse clicks. After wait is over, the script continues as usual. Wait works almost everywhere, except for (late_)repeatedly_execute_always functions.

-

Before AGS 3.6.0, Wait* functions would return '0' if the waiting ended with a timeout, or '1' if it was skipped by a player.

-

Since AGS 3.6.0, Wait* functions do return a more sophisticated Skip Reason on why they were skipped:

-
    -
  • 0 - ended by timeout or SkipWait();
  • -
  • != 0 - an integer value which combines InputType, KeyMod, and a key or button code corresponding to that input type; that describes what input device and which button on that device were used to skip this "wait".
  • -
-

If you only need to find out whether WaitX ended with a timeout or a player's input, all you need is to compare it with 0:

-
if (WaitMouseKey(100) == 0) {
-    Display("Time out!");
-}
-
-if (WaitMouse(100) != 0) {
-    Display("Skipped by a mouse click.");
-}
-

If you need to determine exact details of how the "wait" was skipped, you have to split returned value into InputType, key mod, and a button code using bitwise operations:

-
int result = WaitMouseKey(100);
-InputType type = result & eInputAny;
-int keymod = result & eKeyModMask; // extract key mod flags
-int keycode = result & eKeyCodeMask; // extract key or button code
-

For example, this is how you may Wait until player presses either Space key or Left Mouse button:

-
while (true) {
-    int result = WaitMouseKey(-1);
-    InputType type = result & eInputAny;
-    int keycode = result & eKeyCodeMask;
-    if ((type == eInputMouse && keycode == eMouseLeft) ||
-        (type == eInputKeyboard && keycode == eKeySpace)) {
-        break; // break the waiting loop
-    }
-}
-

and this is how the key combinations may be tested (Ctrl + S in this case):

-
while (true) {
-    int result = WaitKey(-1);
-    int keycode = result & eKeyCodeMask;
-    int keymod = result & eKeyModMask;
-    if (keymod == eKeyModCtrl && keycode == eKeyS) {
-        break; // break the waiting loop
-    }
-}
-
-
-

SkipWait

-
void SkipWait ()
-

Cancels current Wait function, regardless of its type, if one was active at the moment.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: WaitKey, WaitMouse, WaitMouseKey, Game.BlockingWaitSkipped

-
-
-
-

Wait

-
void Wait (int time)
-

Pauses the script and lets the game continue for TIME loops. There are normally 40 loops/second (unless you change it with SetGameSpeed), so using a value of 80 will wait 2 seconds. Note that no other scripts can run while the Wait function is in the background.

-

Example:

-
cEgo.Walk(120, 140, eBlock, eWalkableAreas);
-Wait(80);
-cEgo.FaceLocation(1000,100);
-

will move the character EGO to 120,140, wait until he gets there then wait for 2 seconds (80 game cycles) and then face right.

-

See also: WaitKey, WaitMouse, WaitMouseKey, Game.BlockingWaitSkipped

-
-
-
-

WaitInput

-
int WaitInput(InputType types, int timeout = -1)
-

Pauses the script and lets the game continue until EITHER:

-
    -
  • timeout loops have elapsed, or
  • -
  • the player presses a key or button on one of the devices listed in types
  • -
-

The types may contain any combined values from the InputType enum.

-

If timeout is -1, it will Wait forever, until a key is pressed.

-

Returns the Skip Reason of why it was skipped (see top of this page for more details):

-
    -
  • 0 - ended by timeout;
  • -
  • != 0 - ended by player input;
  • -
-

Example:

-
WaitInput(eInputKeyboard + eInputMouse, 200);
-

will pause the script and wait until 5 seconds have passed (if game is 40 frames per second) or the player presses a key or clicks the mouse.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Wait, WaitKey, WaitMouse, WaitMouseKey, Game.BlockingWaitSkipped, SkipWait

-
-
-
-

WaitKey

-
int WaitKey (int timeout = -1)
-

Pauses the script and lets the game continue until EITHER:

-
    -
  • timeout loops have elapsed, or
  • -
  • the player presses a key
  • -
-

If timeout is -1, it will Wait forever, until a key is pressed.

-

Returns the Skip Reason of why it was skipped (see top of this page for more details):

-
    -
  • 0 - ended by timeout;
  • -
  • != 0 - ended by key keycode;
  • -
-

Example:

-
WaitKey(200);
-

will pause the script and wait until 5 seconds have passed or the player presses a key.

-

Compatibility: infinite timeout and complex skip reason are only supported by AGS 3.6.0 and later versions.

-

See also: Wait, WaitMouse, WaitMouseKey, Game.BlockingWaitSkipped

-
-
-
-

WaitMouseKey

-
int WaitMouseKey (int timeout = -1)
-

Pauses the script and lets the game continue until EITHER:

-
    -
  • timeout loops have elapsed, or
  • -
  • the player presses a key, or
  • -
  • the player clicks a mouse button
  • -
-

If timeout is -1, it will Wait forever, until either a key is pressed or the mouse is clicked.

-

Returns the Skip Reason of why it was skipped (see top of this page for more details):

-
    -
  • 0 - ended by timeout;
  • -
  • != 0 - ended by keycode or mouse click;
  • -
-

Example:

-
WaitMouseKey(200);
-

will pause the script and wait until 5 seconds have passed or the player presses a key or clicks the mouse.

-

Compatibility: infinite timeout and complex skip reason are only supported by AGS 3.6.0 and later versions.

-

See also: Wait, WaitKey, WaitMouse, Game.BlockingWaitSkipped

-
-
-
-

WaitMouse

-
int WaitMouseKey (int timeout = -1)
-

Pauses the script and lets the game continue until EITHER:

-
    -
  • timeout loops have elapsed, or
  • -
  • the player clicks a mouse button
  • -
-

If timeout is -1, it will Wait forever, until the mouse is clicked.

-

Returns the Skip Reason of why it was skipped (see top of this page for more details):

-
    -
  • 0 - if the time elapsed, or
  • -
  • != 0 - ended by mouse click;
  • -
-

Example:

-
WaitMouse(200);
-

will pause the script and wait until 5 seconds have passed (if game is 40 frames per second) or the player presses clicks the mouse.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Wait, WaitKey, WaitMouseKey, Game.BlockingWaitSkipped, SkipWait

-
-
-
- - - - - -
- - diff --git a/GraphicsDriver.html b/GraphicsDriver.html deleted file mode 100644 index 72f3cf13d..000000000 --- a/GraphicsDriver.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Graphics driver selection - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Graphics driver selection

-

AGS supports three graphics drivers: Software, Direct3D and OpenGL. Software driver is available on any system, Direct3D may be used on Windows only, OpenGL on most systems but its actual performance depends on the installed system components.

-

Software is the 'classic' software graphics driver, that AGS has used ever since the initial Windows version was released. It draws whole game a single surface using software method, and that surface is then rendered as a texture in the game window, scaled as necessary. Only the final texture render is performed using graphics card (GPU), but the main bulk of work is done on your CPU, where the rest of the game is processed. It's perfectly fine for simple low-resolution games that don't use many large sprites or graphical effects (such as scaling, tinting or alpha blending), but may be burdensome to your computer when running high-resolution games or games with many simultaneous sprites on screen.

-

Software driver is currently the only driver that fully supports 8-bit dynamic palette effects. But in any other case it is the last resort if nothing else works for any reasons.

-

Direct3D and OpenGL drivers are relying on your graphics card (GPU) and hardware acceleration. This means that the game will run a lot faster for high-resolution games, and if your game uses features such as object scaling, tinting and alpha blending.

-

OpenGL is the primary choice on multiple unix systems (Linux, Mac, Android, iOS), and may be equally used on most Windows systems. On Windows OpenGL is is not strictly linked to particular version of DirectX, thus it may work where Direct3D failed for compatibility reasons. Other than that, it should not have any significant performance differences from the former.

-

No matter which you choose as your default graphics driver, the player can always run the Setup program, or edit the config file, and switch to using the other driver.

-
-

System Requirements

-

Software
Software driver choses the final output method based on what's available on the user's system. It may be DirectX, OpenGL, or native graphics output if nothing else is available (for example - GDI on Windows). Therefore it will almost certainly work everywhere.

-

Direct3D
Any Windows-based PC with at least DirectX 9.0 and higher, and a contemporary graphics card.

-

OpenGL
Your graphics card drivers should provide support for OpenGL 3.0 or higher for the game visuals to have full functionality.

-

See also: System.HardwareAcceleration property

-
-
-
- - - - - -
- - diff --git a/Hotspot.html b/Hotspot.html deleted file mode 100644 index e3238e64f..000000000 --- a/Hotspot.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - Hotspot functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Hotspot functions and properties

-
-

Hotspot.GetAtRoomXY

-
static Hotspot* Hotspot.GetAtRoomXY(int x, int y)
-

Returns the hotspot at ROOM co-ordinates (X,Y). If there is no hotspot there, or if invalid co-ordinates are specified, the Hotspot* representing hotspot 0 will be returned.

-

Example:

-
if (Hotspot.GetAtRoomXY(player.x, player.y) == hPressurePlate) {
-    Display("As soon as adventurer stands on the pressure plate the door opens.");
-}
-

will display the message if the player character is over the hPressurePlate hotspot.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Hotspot.GetAtScreenXY, Character.GetAtRoomXY, Object.GetAtRoomXY, Region.GetAtRoomXY, Game.GetLocationName, GetLocationType

-
-
-
-

Hotspot.GetAtScreenXY

-

(Formerly known as global function GetHotspotAt, which is now obsolete)

-
static Hotspot* Hotspot.GetAtScreenXY(int x, int y)
-

Returns the hotspot at SCREEN co-ordinates (X,Y). If there is no hotspot there, or if invalid co-ordinates are specified, the Hotspot* representing hotspot 0 will be returned.

-

Example:

-
if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hDoor)
-    Display("Mouse on the door");
-else if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hotspot[0])
-    Display("Mouse is on something (but not the door)!");
-else
-    Display("Mouse not on a hotspot");
-

will display a message depending on what the mouse is on.

-

See also: Hotspot.GetAtRoomXY, Character.GetAtScreenXY, Object.GetAtScreenXY, Region.GetAtScreenXY, Game.GetLocationName, GetLocationType

-
-
-
-

Hotspot.GetByName

-
static Hotspot* Hotspot.GetByName(string scriptName)
-

Returns a pointer to the Hotspot with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each Hotspot which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
function OpenDoor(Object *obj) {
-    obj.SetView(VDOORANIMATION);
-    obj.Animate(1, 4, eOnce, eBlock);
-    String exitName = obj.GetTextProperty("LinkedExit");
-    Hotspot* exitHotspot = Hotspot.GetByName(exitName);
-    if (exitHotspot != null) {
-        exitHotspot.Enabled = true;
-    }
-}
-

Animates a "door" object, retrieves "exit" hotspot related to that door, and enables it.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Hotspot.ScriptName

-
-
-
-

Hotspot.GetDrawingSurface

-
static DrawingSurface* Hotspot.GetDrawingSurface()
-

Gets a drawing surface for the current room's 8-bit hotspot mask, which allows you to directly draw onto that mask. Note that this function is static and relates to all hotspots at once (not a particular hotspot), because all of them are painted on the same mask.

-

After calling this method, use the various DrawingSurface functions to modify the mask. Since this is a 8-bit mask, DrawingColor will match the hotspot's index. Color value 0 will refer to "no hotspot" (eraser), color value 1 to hotspot number 1, and so forth. Don't forget to call Release() on the surface when you are finished to update the room's state.

-

Any changes you make will only last until the player leaves the room, at which point they will be lost. If you need to make long-lasting changes, you can use this method in the Player Enters Room event, which will recreate these changes whenever player returns back.

-

Example:

-
DrawingSurface *surface = Hotspot.GetDrawingSurface();
-surface.DrawingColor = 4;
-surface.DrawRectangle(50, 50, 100, 100);
-surface.Release();
-

will paint a rectangle for the hotspot 4.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GetDrawingSurfaceForWalkbehind, GetDrawingSurfaceForWalkableArea, Region.GetDrawingSurface

-
-
-
-

Hotspot.GetProperty

-

(Formerly known as GetHotspotProperty, which is now obsolete)

-
Hotspot.GetProperty(string property)
-

Returns the custom property setting of the PROPERTY for the hotspot.

-

This command works with Number properties (it returns the number), and with Boolean properties (returns 1 if the box was checked, 0 if not).

-

Use the equivalent GetTextProperty function to get a text property.

-

Example:

-
if (hotspot[1].GetProperty("Value") > 200)
-    Display("Hotspot 1's value is over 200!");
-

will print the message if hotspot 1 has its "Value" property set to more than 200.

-

See also: Hotspot.GetTextProperty

-
-
-
-

Hotspot.GetTextProperty

-

(Formerly known as GetHotspotPropertyText, which is now obsolete)
(Formerly known as Hotspot.GetPropertyText, which is now obsolete)

-
String Hotspot.GetTextProperty(string property)
-

Returns the custom property setting of the PROPERTY for the hotspot.

-

This command works with Text properties only. The property's text will be returned from this function.

-

Use the equivalent GetProperty function to get a non-text property.

-

Example:

-
String description = hotspot[2].GetTextProperty("Description");
-Display("Hotspot 2's description: %s", description);
-

will retrieve hotspot 2's "description" property and display it.

-

See also: Hotspot.GetProperty

-
-
-
-

Hotspot.SetProperty

-
bool Hotspot.SetProperty(const string property, int value)
-

Sets the new value for the custom property for the specified hotspot. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Number properties (it sets the numeric value), and with Boolean properties (sets FALSE is value is equal to 0, or TRUE otherwise).

-

Use the equivalent SetTextProperty function to set new text property value.

-

Example:

-
hDoor.SetProperty("LockDifficulty", 5);
-

will change Door hotspot's "LockDifficulty" custom property to 5.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Hotspot.SetTextProperty

-
-
-
-

Hotspot.SetTextProperty

-
bool Hotspot.SetTextProperty(const string property, const string value)
-

Sets the new value text for the custom property for the specified hotspot. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Text properties only. The property's text will be changed to new value.

-

Use the equivalent SetProperty function to set a non-text property.

-

Example:

-
hDoor.SetTextProperty("Description", "The sturdy door");
-

will change Door's "description" property.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Hotspot.SetProperty

-
-
-
-

Hotspot.IsInteractionAvailable

-
Hotspot.IsInteractionAvailable(CursorMode)
-

Checks whether there is an event handler defined for activating the hotspot in cursor mode MODE.

-

This function is very similar to RunInteraction, except that rather than run the event handler script function, it simply returns true if something would have happened, or false if unhandled_event would have been run.

-

Example:

-
if (hTable.IsInteractionAvailable(eModeLookat) == 0)
-    Display("looking on this table would not do anything.");
-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: IsInteractionAvailable, Hotspot.RunInteraction

-
-
-
-

Hotspot.RunInteraction

-

(Formerly known as RunHotspotInteraction, which is now obsolete)

-
Hotspot.RunInteraction(CursorMode)
-

Processes the event handler as if the player had clicked the mouse on the hotspot using the specified cursor mode.

-

Example:

-
hDoor.RunInteraction(eModeLookat);
-

will run the code defined in the "LOOK AT HOTSPOT" event for hotspot hDoor.

-

See also: Room.ProcessClick, Hotspot.IsInteractionAvailable, Character.RunInteraction, Object.RunInteraction

-
-
-
-

Hotspot.Enabled

-

(Formerly known as DisableHotspot, which is now obsolete)
(Formerly known as EnableHotspot, which is now obsolete)

-
bool Hotspot.Enabled
-

Enables/disables the specified hotspot. If you set this to false, then all areas of the screen that were previously made up of the hotspot now act as type 0 (no hotspot). You can turn the hotspot back on later by setting this back to true.

-

This setting is persisted in-game; that is, it will not be reset when the player re-enters the room.

-

The default value of this property is always true.

-

Example:

-
hBrownTree.Enabled = false;
-

will disable the hBrownTree hotspot.

-

See also: Region.Enabled, RemoveWalkableArea, RestoreWalkableArea

-
-
-
-

Hotspot.ID

-
readonly int Hotspot.ID
-

Gets the hotspot number of this hotspot. This allows you to interoperate with old script using the number-based hotspot functions.

-

Example:

-
Display("Hotspot hDoor is hotspot number %d.", hDoor.ID);
-Display("Hotspot 3 is number %d.", hotspot[3].ID);
-

displays hDoor's hotspot number, and then displays hotspot 3's number (which will be 3).

-

See also: Hotspot.GetAtScreenXY

-
-
-
-

Hotspot.Name

-

(Formerly known as GetHotspotName, which is now obsolete)
(Formerly known as Hotspot.GetName, which is now obsolete)

-
String Hotspot.Name;
-

Gets/sets the name of the hotspot.

-

NOTE: This property may be changed only in AGS versions 3.6.0 or higher. It is read-only in earlier versions.

-

Example:

-
Display("Hotspot 3's name is %s.", hotspot[3].Name);
-

will retrieve and then display hotspot 3's name.

-

See also: Game.GetLocationName

-
-
-
-

Hotspot.ScriptName

-
readonly String Hotspot.ScriptName
-

Gets the script name of the hotspot, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some hotspot stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each hotspot in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use Hotspot.GetByName function to retrieve the hotspot by the previously saved script name.

-

Example:

-
function InteractHotspot(Hotspot *h) {
-    System.Log(eLogInfo, "Interacted with hotspot %s", h.ScriptName);
-    h.RunInteraction(eModeInteract);
-}
-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Hotspot.GetByName

-
-
-
-

Hotspot.WalkToX

-

(Formerly known as GetHotspotPointX, which is now obsolete)

-
readonly int Hotspot.WalkToX
-

Gets the X room co-ordinate of the hotspot's walk-to point. If the hotspot does not have a walk-to point, returns -1.

-

Example:

-
player.Walk(hTable.WalkToX, hTable.WalkToY, eBlock, eWalkableAreas);
-

will move the character to hotspot hTable's walk-to point.

-

See also: Hotspot.WalkToY, MoveCharacterToHotspot

-
-
-
-

Hotspot.WalkToY

-

(Formerly known as GetHotspotPointY, which is now obsolete)

-
readonly int Hotspot.WalkToY
-

Gets the Y room co-ordinate of the hotspot's walk-to point. If the hotspot does not have a walk-to point, returns -1.

-

Example:

-
player.Walk(hTable.WalkToX, hTable.WalkToY, eBlock, eWalkableAreas);
-

will move the character to hotspot hTable's walk-to point.

-

See also: Hotspot.WalkToX, MoveCharacterToHotspot

-
-
-
- - - - - -
- - diff --git a/ImportingFunctionsAndVariables.html b/ImportingFunctionsAndVariables.html deleted file mode 100644 index 200e2f41a..000000000 --- a/ImportingFunctionsAndVariables.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - Importing functions and variables in other scripts - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Importing functions and variables in other scripts

-

Let's say you have a function or a variable in one script, but would like to use them in another. Sharing functions and variables between scripts is known as import/export in AGS. You export them from the script where they are defined, and let other scripts use these by declaring an import. An import should be declared where a script can "see" it: usually the most convenient place is a header of a script which does the export.

-

You also need to remember that currently in AGS a script may only see things declared in its own header and in any header above in the list of scripts.

-

NOTE: Room and Dialog scripts can see declarations from all the regular script headers, but not from other rooms or dialogs.

-
-

Exporting and importing a function

-

All script functions are exported automatically, so they only need an import declaration to let other scripts know that they exist. This is done by declaring a function with an import keyword. The best practice is to place them in the owner script's header.

-

For example, suppose you have the following function in script MyScript.asc:

-
function ScriptAFunction(int param1, int param2)
-{
-    // some actions here
-}
-

Then the import declaration in the MyScript's header (MyScript.ash) should looks like:

-
import function ScriptAFunction(int param1, int param2);
-

The name, type and arguments of the function must be the same, otherwise there will be errors either during compilation or at runtime.

-
-
-

Exporting and importing a variable

-

Script variables are not exported by default, so that has to be done explicitly inside the script which has them declared, using the export keyword.

-

Let's suppose that you have the following variable inside MyScript.asc:

-
int public_variable;
-

If you want to share this variable with the other scripts, you have put the export statement inside the same script where you have declared the variable (MyScript.asc), somewhere below the declaration:

-
export public_variable;
-

The export statement needs only the variable's name and nothing else. It must not be put inside a function.

-

You can export several variables in one statement if you separate their names with commas, for example:

-
export public_variable1, public_variable2;
-

Now, import declaration in the MyScript's header (MyScript.ash) should looks like:

-
import int public_variable;
-

Both the name and type must match the variable's own declaration exactly.
This bit is important. If the variable is int then it should be imported as int, if it's of the type Character* then the import should also be declared as Character*.

-

Imported arrays must have the correct size, for example if you have int arr[10]; then the import declaration must be:

-
import int arr[10];
-

(NOTE: the export command still requires its name only: export arr;)

-

Similar to the regular variable declaration, you can declare the import of several variables of the same type in one statement if you separate them by commas:

-
import int var1, var2;
-

NOTE: Most commonly import declarations are put in the header of the same script where these variables are defined. But in theory you may not do that and instead place imports inside each particular script where you intend to use these variables.

-

So, for a final example, you have this in MyScript.asc:

-
int public_int1, public_int2;
-int arr[10];
-String someString;
-Character* RandomChar;
-export public_int1, public_int2, arr, someString, RandomChar;
-

And in MyScript.ash:

-
import int public_int1, public_int2;
-import int arr[10];
-import String public_str;
-import Character* RandomChar;
-

To sum this up, the import declaration lets other scripts see this variable, and the export command actually connects existing variables to that declaration.

-

NOTE: The AGS Editor has a special menu called "Global Variables" meant for easier creation of public variables which could are accessible everywhere. This may be a better alternative for beginners, as it takes care of all this import/export managing behind the scenes.

-

See also: import keyword, export keyword

-
-
-
- - - - - -
- - diff --git a/Introduction.html b/Introduction.html deleted file mode 100644 index f4afd2a7e..000000000 --- a/Introduction.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - Introduction - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Introduction

-

Adventure Game Studio

-

Copyright 1999-2011 Chris Jones and 2011-2023 various contributors

-
-

Welcome to AGS!

-

Adventure Game Studio allows you to create your own point-and-click adventure games like the old Sierra and LucasArts classics.

-

AGS is based around an easy-to-use IDE, where you can set up all the parts of your game, and then add some script to process game events. Making a game has never been so productive!

-
-

Installing AGS

-

Note: AGS Editor is Windows only.

-

Download AGS. The latest stable release is always available from the AGS Download site, and beta releases can be found at the top of Editor Releases Forum.

-

Install AGS. Select the Installer and double click on it, or if you downloaded from the forums, there's also an option to get as zip, which can be extracted to a folder you want to.

-

Run AGS. Double-click on AGSEditor.exe on the extracted or the installed folder. If you used the installer, it should have also provided a shortcut on the start menu.

-

To help you proceed further you should check the manual provided with AGS, which is also available online here. It's also recommended to participate in the forums to get additional help when developing your game.

-

To get started, read the tutorial.

- -
-
-
- - - - - -
- - diff --git a/InvWindow.html b/InvWindow.html deleted file mode 100644 index 7ebb9283b..000000000 --- a/InvWindow.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - InvWindow functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

InvWindow functions and properties

-

InvWindow is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-
-
-

InvWindow.ScrollDown

-
InvWindow.ScrollDown()
-

Scrolls the inventory window down one line, if there are more items to display. If the inventory window is already at the bottom, then nothing happens.

-

You would usually use this in response to a GUI button press on a Down arrow button on your GUI.

-

Example:

-
invMain.ScrollDown();
-

will scroll the invMain inv window down one row.

-

See also: InvWindow.ScrollUp, InvWindow.TopItem

-
-
-
-

InvWindow.ScrollUp

-
InvWindow.ScrollUp()
-

Scrolls the inventory window up one line, if there are more items to display. If the inventory window is already at the top, then nothing happens.

-

You would usually use this in response to a GUI button press on an Up arrow button on your GUI.

-

Example:

-
invMain.ScrollUp();
-

will scroll the invMain inv window up one row.

-

See also: InvWindow.ScrollDown, InvWindow.TopItem

-
-
-
-

InvWindow.CharacterToUse

-
Character* InvWindow.CharacterToUse;
-

Gets/sets which character the inventory window is currently displaying the inventory for. This is either set to a specific character, or it can be set to null, in which case the inventory window will track the current player character (this is the default).

-

Example:

-
invMain.CharacterToUse = cJack;
-

will change the invMain inventory window to display character JACK's inventory.

-
-
-
-

InvWindow.ItemAtIndex

-
readonly InventoryItem* InvWindow.ItemAtIndex[];
-

Gets the inventory item that is currently displayed at the specified index in this inventory window. The number of items in the window can be retrieved with the ItemCount property. Indexes range from 0 to ItemCount - 1.

-

If an invalid index is supplied, null is returned.

-

Example:

-
String firstOne = invMain.ItemAtIndex[0].Name;
-Display("First item is %s.", firstOne);
-

will display the name of the first item displayed in the invMain inventory window.

-

See also: InvWindow.ItemCount

-
-
-
-

InvWindow.ItemCount

-

(Formerly known as game.num_inv_items, which is now obsolete)

-
readonly int InvWindow.ItemCount;
-

Gets the total number of items contained in the inventory window. This will tend to equal the total number of items that the character has (though it may not if the "Display multiple items multiple times" game setting is not checked).

-

Example:

-
if (invMain.ItemCount > (invMain.ItemsPerRow * invMain.RowCount)) {
-    btnInvUp.Enabled = true;
-    btnInvDown.Enabled = false;
-}
-

will enable the GUI buttons btnInvUp and btnInvDown if there are more inventory items than will fit in the inventory window.

-

See also: InvWindow.ItemAtIndex, InvWindow.ItemsPerRow, InvWindow.RowCount

-
-
-
-

InvWindow.ItemHeight

-

(Formerly known as SetInvDimensions, which is now obsolete)

-
int InvWindow.ItemHeight;
-

Gets/sets the height of the rows in the inventory window. You should generally set this up in game_start to the height of your largest inventory item. The default is 22.

-

Example:

-
invMain.ItemWidth = 50;
-invMain.ItemHeight = 30;
-

sets the invMain inventory window to use item cells 50x30 large.

-

See also: InvWindow.ItemWidth, InvWindow.RowCount

-
-
-
-

InvWindow.ItemWidth

-

(Formerly known as SetInvDimensions, which is now obsolete)

-
int InvWindow.ItemWidth;
-

Gets/sets the width of the items in the inventory window. You should generally set this up in game_start to the width of your largest inventory item. The default is 40.

-

Example:

-
invMain.ItemWidth = 50;
-invMain.ItemHeight = 30;
-

sets the invMain inventory window to use item cells 50x30 large.

-

See also: InvWindow.ItemHeight, InvWindow.ItemsPerRow

-
-
-
-

InvWindow.ItemsPerRow

-

(Formerly known as game.items_per_line, which is now obsolete)

-
readonly int InvWindow.ItemsPerRow;
-

Gets the number of items that can be displayed in each row of the inventory window. This is calculated by the width of the inventory window divided by the individual ItemWidth.

-

Example:

-
Display("The inventory window can show %d items at a time", invMain.ItemsPerRow * invMain.RowCount);
-

displays how many items can be visible in the invMain window at once.

-

See also: InvWindow.ItemWidth, InvWindow.RowCount

-
-
-
-

InvWindow.RowCount

-
readonly int InvWindow.RowCount;
-

Gets the number of rows that can be displayed within the inventory window. This is calculated by dividing the height of the window by the individual ItemHeight.

-

Example:

-
Display("The inventory window can show %d items at a time", invMain.ItemsPerRow * invMain.RowCount);
-

displays how many items can be visible in the invMain window at once.

-

See also: InvWindow.ItemHeight, InvWindow.ItemsPerRow

-
-
-
-

InvWindow.TopItem

-

(Formerly known as game.top_inv_item, which is now obsolete)

-
int InvWindow.TopItem;
-

Gets/sets the index of the first item currently displayed in the inventory window. The first item is represented by 0, and the last item is has an index of ItemCount - 1.

-

You can use this to work out whether to display scroll arrows or not.

-

Example:

-
if (invMain.TopItem > 0) {
-    btnScrollUp.Visible = true;
-}
-else {
-    btnScrollUp.Visible = false;
-}
-

makes the btnScrollUp button visible or invisible depending on whether the inventory list can be scrolled up.

-

See also: InvWindow.ItemCount

-
-
-
- - - - - -
- - diff --git a/InventoryItem.html b/InventoryItem.html deleted file mode 100644 index 44e683904..000000000 --- a/InventoryItem.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - InventoryItem functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

InventoryItem functions and properties

-
-

InventoryItem.GetAtScreenXY

-

(Formerly known as global function GetInvAt, which is now obsolete)

-
static InventoryItem* InventoryItem.GetAtScreenXY(int x, int y)
-

Returns the inventory item at SCREEN coordinates (X,Y). Note that this only detects inventory items on custom Inventory windows (that are switched on when this function is called), and is intended to allow you to do Verb Coin style GUIs and so on.

-

If there is no inventory item there, or if invalid coordinates are specified, the function returns null.

-

NOTE: The coordinates are SCREEN coordinates, NOT ROOM coordinates. This means that with a scrolling room, the coordinates you pass are relative to the screen's current position, and NOT absolute room coordinates. This means that this function is suitable for use with the mouse cursor position variables.

-

Example:

-
InventoryItem *item = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
-if (item == null) {
-    Display("No inventory item at the mouse coordinates");
-}
-else {
-    Display("Inventory item number %d at the mouse.", item.ID);
-}
-

will display the number of the inv item that the mouse is over

-

See also: InventoryItem.Name, Game.GetLocationName

-
-
-
-

InventoryItem.GetByName

-
static InventoryItem* InventoryItem.GetByName(string scriptName)
-

Returns a pointer to the InventoryItem with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each InventoryItem which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
String invItemName = Game.InputBox("Script Name of the item");
-InventoryItem* item = InventoryItem.GetByName(invItemName);
-if (item != null) {
-    // If invItemName is an item that exists like "iKey"
-    player.AddInventory(item);
-}
-

In the example, we have some elements that can be used to build a debug functionality, so the player gets the wanted item by it's script name.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: InventoryItem.ScriptName, InventoryItem.GetAtScreenXY

-
-
-
-

InventoryItem.GetProperty

-

(Formerly known as GetInvProperty, which is now obsolete)

-
InventoryItem.GetProperty(string property)
-

Returns the custom property setting PROPERTY for the inventory item.

-

This command works with Number properties (it returns the number), and with Boolean properties (returns 1 if the box was checked, 0 if not).

-

Use the equivalent GetTextProperty function to get a text property.

-

Example:

-
if (inventory[1].GetProperty("Value") > 200)
-    Display("Inventory item 1's value is over 200!");
-

will print the message if inventory item 1 has its "Value" property set to more than 200.

-

See also: InventoryItem.GetTextProperty

-
-
-
-

InventoryItem.GetTextProperty

-

(Formerly known as GetInvPropertyText, which is now obsolete)
(Formerly known as InventoryItem.GetPropertyText, which is now obsolete)

-
String InventoryItem.GetTextProperty(string property)
-

Returns the custom property setting PROPERTY for the inventory item.

-

This command works with Text properties only. The property's text will be returned from this function.

-

Use the equivalent GetProperty function to get a non-text property.

-

Example:

-
String description = inventory[2].GetTextProperty("Description");
-Display("Inv item 2's description: %s", description);
-

will retrieve inv item 2's "description" property and display it.

-

See also: InventoryItem.GetProperty

-
-
-
-

InventoryItem.SetProperty

-
bool InventoryItem.SetProperty(const string property, int value)
-

Sets the new value for the custom property for the specified inventory item. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Number properties (it sets the numeric value), and with Boolean properties (sets FALSE is value is equal to 0, or TRUE otherwise).

-

Use the equivalent SetTextProperty function to set new text property value.

-

Example:

-
iStone.SetProperty("Weight", 120);
-

will change Stone's "weight" custom property to 120.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: InventoryItem.SetTextProperty

-
-
-
-

InventoryItem.SetTextProperty

-
bool InventoryItem.SetTextProperty(const string property, const string value)
-

Sets the new value text for the custom property for the specified inventory item. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Text properties only. The property's text will be changed to new value.

-

Use the equivalent SetProperty function to set a non-text property.

-

Example:

-
iKey.SetTextProperty("Description", "A rusty key");
-

will change key's "description" property.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: InventoryItem.SetProperty

-
-
-
-

InventoryItem.IsInteractionAvailable

-

(Formerly known as IsInventoryInteractionAvailable, which is now obsolete)

-
InventoryItem.IsInteractionAvailable(CursorMode)
-

Checks whether there is an event handler defined for activating the inventory item in cursor mode MODE.

-

This function is very similar to RunInteraction, except that rather than run the event handler script function, it simply returns true if something would have happened, or false if unhandled_event would have been run.

-

This is useful for enabling options on a verb-coin style GUI, for example.

-

Example:

-
if (iKeyring.IsInteractionAvailable(eModeLookat) == 0)
-    Display("looking at this item would not do anything.");
-

See also: IsInteractionAvailable, InventoryItem.RunInteraction

-
-
-
-

InventoryItem.RunInteraction

-

(Formerly known as RunInventoryInteraction, which is now obsolete)

-
InventoryItem.RunInteraction(CursorMode)
-

Runs the event handler as if the player had clicked the mouse on the inventory item, using the specified cursor mode.

-

Example:

-
if (button == eMouseLeftInv)
-    inventory[game.inv_activated].RunInteraction(mouse.Mode);
-

will run the inventory event handler for the current cursor mode when the player clicks on the item (Handle Inv Clicks needs to be enabled for this to work)

-

See also: InventoryItem.IsInteractionAvailable, Room.ProcessClick, Character.RunInteraction

-
-
-
-

InventoryItem.CursorGraphic

-
int InventoryItem.CursorGraphic
-

Gets/sets the sprite slot number of the inventory item's mouse cursor. This is the sprite used as the mouse cursor when this inventory item is selected.

-

NOTE: This property is only used if the "Use selected inventory graphic for cursor" setting in General Settings is turned on.

-

Example:

-
Display("The key's cursor graphic is %d", iKey.CursorGraphic);
-

will display inventory item iKey's cursor graphic.

-

Compatibility: Supported by AGS 3.1.2 and later versions.

-

See also: InventoryItem.Graphic

-
-
-
-

InventoryItem.Graphic

-

(Formerly known as GetInvGraphic, which is now obsolete)
(Formerly known as SetInvItemPic, which is now obsolete)

-
int InventoryItem.Graphic
-

Gets/sets the sprite slot number of the inventory item. You could use this with the Object.Graphic property as a means of the player 'dropping' an inventory item, or it may be useful if you want to do a Raw Drawn inventory window.

-

NOTE: For backwards compatibility, if you change this property and the CursorGraphic currently has the same sprite as the main Graphic, then the CursorGraphic will be changed too.

-

Example:

-
int slot = player.ActiveInventory.Graphic;
-

will place the sprite number of the player's current inventory item into slot.

-

See also: InventoryItem.CursorGraphic, InventoryItem.GetAtScreenXY, InventoryItem.Name

-
-
-
-

InventoryItem.ID

-
readonly int InventoryItem.ID
-

Gets the inventory item's ID number. This is the item's number from the editor, and is useful with commands such as Character.AddInventory which require an inventory number to add.

-

Example:

-
AddInventory(EGO, iShovel.ID);
-

uses the obsolete AddInventory command to add the shovel to EGO's inventory

-

See also: Character.AddInventory, Character.LoseInventory

-
-
-
-

InventoryItem.Name

-

(Formerly known as GetInvName, which is now obsolete)
(Formerly known as SetInvItemName, which is now obsolete)
(Formerly known as InventoryItem.GetName, which is now obsolete)
(Formerly known as InventoryItem.SetName, which is now obsolete)

-
String InventoryItem.Name;
-

Gets/sets the name of the inventory item. This is the name which is initially set in Inventory item's properties in the AGS Editor.

-

You can change this property if for example you want to change a 'bowl' to a 'bowl with water in' but want to use the same inventory item for it.

-

Example:

-
Display("Active inventory: %s", player.ActiveInventory.Name);
-

will display the name of the player's current inventory item.

-

Compatibility: inventory item's name was limited to 24 characters prior to AGS 3.6.1.

-

See also: InventoryItem.GetAtScreenXY, InventoryItem.Graphic, Game.GetLocationName

-
-
-
-

InventoryItem.ScriptName

-
readonly String InventoryItem.ScriptName;
-

Gets the script name of the inventory item, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some item stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each item in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use InventoryItem.GetByName function to retrieve the item by the previously saved script name.

-

Example:

-
InventoryItem* activeItem = player.ActiveInventory;
-if(activeItem != null) {
-  Display("Active inventory item's script name: %s", activeItem.ScriptName);
-}
-

Displays the script name of the player's current inventory item.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: InventoryItem.GetByName

-
-
-
- - - - - -
- - diff --git a/KeyboardShortcuts.html b/KeyboardShortcuts.html deleted file mode 100644 index d45352148..000000000 --- a/KeyboardShortcuts.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - Keyboard Shortcuts - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Keyboard Shortcuts

-

The AGS Editor provides various keyboard shortcuts to help you get your work done quickly. These are summarized below:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShortcutFunction
F1Help
F2Game Statistics
F3Find Next
Ctrl+F4Close tab
F5Run with Debugger
Ctrl+F5Run without Debugger
F7Build EXE
F9Toggle Breakpoint
F11Step Into
Ctrl+ASelect All
Ctrl+BMatch Brace
Ctrl+CCopy
Ctrl+DDuplicate line to next
Ctrl+EReplace
Ctrl+FFind
Ctrl+GOpen GlobalScript.asc
Ctrl+HOpen GlobalScript.ash
Ctrl+LOpen Game
Ctrl+MToggle Between Script and Header
Ctrl+QQuit
Ctrl+RSave Room
Ctrl+SSave Game
Ctrl+VPaste
Ctrl+WClose Tab
Ctrl+XCut
Ctrl+YRedo
Ctrl+ZUndo
Ctrl+SpaceShow Autocomplete
Ctrl+TabNext tab
Ctrl+Shift+TabPrevious tab
TabIndent selected lines
Shift+TabUn-indent selected lines
-

Additional shortcuts in the Script Editor

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShortcutFunction
Ctrl+Keypad+Magnify text size
Ctrl+Keypad-Reduce text size
Ctrl+Keypad/Restore text size to normal
Ctrl+BackSpaceDelete to start of word
Ctrl+DeleteDelete to end of word
Ctrl+Shift+BackSpaceDelete to start of line
Ctrl+Shift+DeleteDelete to end of line
Ctrl+HomeGo to start of document
Ctrl+Shift+HomeExtend selection to start of document
Alt+HomeGo to start of display line
Ctrl+EndGo to end of document
Ctrl+Shift+EndExtend selection to end of document
Ctrl+UpScroll up
Ctrl+DownScroll down
Ctrl+Shift+TLine copy
Ctrl+Shift+LLine cut
Ctrl+[Previous paragraph
Ctrl+]Next paragraph
Ctrl+LeftPrevious word
Ctrl+RightNext word
Ctrl+/Previous word part
Alt+Shift+MovementRectangular block selection
-
-
- - - - - -
- - diff --git a/Keycodes.html b/Keycodes.html deleted file mode 100644 index 6f3c57ea3..000000000 --- a/Keycodes.html +++ /dev/null @@ -1,838 +0,0 @@ - - - - - - - Key code table - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Key code table

-

In AGS script you have a eKeyCode enumeration that defines key codes. These key codes can be passed to on_key_press, as well as used in calls to IsKeyPressed.

-

Historically AGS has Ctrl+X key combinations have their own distinct keycodes. At the same time, keycodes corresponding to the modifier keys (Shift, Ctrl and Alt) were never passed to the on_key_press alone and were only allowed with IsKeyPressed.

-

Starting from version 3.6.0 AGS supports two "key handling modes". The old mode works as described above, according to the historical behavior. The new mode actually allows modifier keycodes in on_key_press, and disables combined keycodes like Ctrl+X: instead these are passed as two separate keycodes.

-

Following section lists the members of this enum, and which keys they represent.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AGS keycodeKeyNumeric value
eKeyNonenone0
eKeyCtrlACtrl+A1
eKeyCtrlBCtrl+B2
eKeyCtrlCCtrl+C3
eKeyCtrlDCtrl+D4
eKeyCtrlECtrl+E5
eKeyCtrlFCtrl+F6
eKeyCtrlGCtrl+G7
eKeyCtrlHCtrl+H8
eKeyCtrlICtrl+I9
eKeyCtrlJCtrl+J10
eKeyCtrlKCtrl+K11
eKeyCtrlLCtrl+L12
eKeyCtrlMCtrl+M13
eKeyCtrlNCtrl+N14
eKeyCtrlOCtrl+O15
eKeyCtrlPCtrl+P16
eKeyCtrlQCtrl+Q17
eKeyCtrlRCtrl+R18
eKeyCtrlSCtrl+S19
eKeyCtrlTCtrl+T20
eKeyCtrlUCtrl+U21
eKeyCtrlVCtrl+V22
eKeyCtrlWCtrl+W23
eKeyCtrlXCtrl+X24
eKeyCtrlYCtrl+Y25
eKeyCtrlZCtrl+Z26
eKey0048
eKey1149
eKey2250
eKey3351
eKey4452
eKey5553
eKey6654
eKey7755
eKey8856
eKey9957
eKeyAA65
eKeyBB66
eKeyCC67
eKeyDD68
eKeyEE69
eKeyFF70
eKeyGG71
eKeyHH72
eKeyII73
eKeyJJ74
eKeyKK75
eKeyLL76
eKeyMM77
eKeyNN78
eKeyOO79
eKeyPP80
eKeyQQ81
eKeyRR82
eKeySS83
eKeyTT84
eKeyUU85
eKeyVV86
eKeyWW87
eKeyXX88
eKeyYY89
eKeyZZ90
eKeyAmpersand&38
eKeyAsterisk*42
eKeyAt@64
eKeyBackSlash\92
eKeyBackspaceBackspace8
eKeyCloseBracket]93
eKeyCloseParenthesis)41
eKeyColon:58
eKeyComma,44
eKeyDeleteDelete383
eKeyDollar$36
eKeyDoubleQuote"34
eKeyEquals=61
eKeyEscapeEscape27
eKeyExclamationMark!33
eKeyForwardSlash/47
eKeyGreaterThan>62
eKeyHash#35
eKeyHyphen-45
eKeyInsertInsert382
eKeyLessThan<60
eKeyOpenBracket[91
eKeyOpenParenthesis(40
eKeyPercent%37
eKeyPeriod.46
eKeyPlus+43
eKeyQuestionMark?63
eKeyReturnReturn13
eKeySemiColon;59
eKeySingleQuote'39
eKeySpaceSpace32
eKeyTabTab9
eKeyUnderscore_95
eKeyF1F1359
eKeyF2F2360
eKeyF3F3361
eKeyF4F4362
eKeyF5F5363
eKeyF6F6364
eKeyF7F7365
eKeyF8F8366
eKeyF9F9367
eKeyF10F10368
eKeyF11F11433
eKeyF12F12434
eKeyHomeHome371
eKeyUpArrowUp arrow372
eKeyPageUpPage up373
eKeyLeftArrowLeft arrow375
eKeyNumPad5Numeric keypad 5376
eKeyRightArrowRight arrow377
eKeyEndEnd379
eKeyDownArrowDown arrow380
eKeyPageDownPage down381
eKeyShiftLeftLeft Shift403
eKeyShiftRightRight Shift404
eKeyCtrlLeftLeft Ctrl405
eKeyCtrlRightRight Ctrl406
eKeyAltLeftLeft Alt407
eKeyAltRightRight Alt420
-

Use these keycodes in your on_key_press function to process player input. For example:

-
if (keycode == eKeyA) Display("You pressed A");
-if (keycode == eKeyPlus) Display("You pressed the Plus key");
-

Compatibility: the mod key constants (eKeyShiftLeft to eKeyAltRight) are only supported since AGS 3.6.0. In previous versions you'd have to use corresponding numeric values.

-
-

Key modifiers

-

In addition, there's separate eKeyMod enumeration with modifier "flags". These values are special so that they may be combined in one variable to make a list of modifiers (like, Shift + Ctrl). This enumeration is supported since AGS 3.6.0. Following is the list of possible values:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AGS modifierMod
eKeyModShiftLeftLeft Shift
eKeyModShiftRightRight Shift
eKeyModShiftany Shift
eKeyModCtrlLeftLeft Ctrl
eKeyModCtrlRightRight Ctrl
eKeyModCtrlany Ctrl
eKeyModAltLeftLeft Alt
eKeyModAltRightRight Alt
eKeyModAltany Alt
eKeyModNumNum Lock
eKeyModCapsCaps Lock
-

You may use these mod codes in the extended variant of on_key_press function to check which mod keys were pressed along with the primary key. Remember that since these mods are "flags", they should be tested using not the regular "comparison" operator ==, but bitwise operators. For example:

-
if (keycode == eKeyA) {
-    if (mod & eKeyModCtrl) {
-        Display("Pressed Ctrl+A");
-    }
-}
-
-if (mod & eKeyModAlt == 0) {
-    Display("NO Alt was pressed this time");
-}
-

In addition, there are two constants defining bitwise masks, one for key codes, and another for key modifiers:

- - - - - - - - - - - - - - - - - -
ConstantMeaning
eKeyCodeMaskall key codes
eKeyModMaskall key mods
-

If both key code and mods are combined in one integer variable, using bitwise operations, these masks may then be used to extract code and mods:

-
int combokey = eKeyA | eKeyModCtrlLeft;
-
-int keycode = combokey & eKeyCodeMask; // keycode now contains only eKeyA
-int keymod = combokey & eKeyModMask; // keymod now contains only eKeyModCtrlLeft
-

Compatibility: eKeyMod enumeration is only supported since AGS 3.6.0.

-
-
-
- - - - - -
- - diff --git a/Label.html b/Label.html deleted file mode 100644 index 489107248..000000000 --- a/Label.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - Label functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Label functions and properties

-

Label is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-
-
-

Label.Font

-

(Formerly known as SetLabelFont, which is now obsolete)

-
FontType Label.Font;
-

Gets/sets the font used to display the label's text. This is useful if you have a standard SCI font for your English version, but want to change to a TTF font for foreign language versions.

-

Example:

-
if (IsTranslationAvailable()) {
-    lblStatus.Font = eFontForeign;
-}
-

will change label 'lblStatus' to use font "Foreign" if a game translation is in use.

-

See also: IsTranslationAvailable, Label.Text, TextBox.Font

-
-
-
-

Label.Text

-

(Formerly known as SetLabelText, which is now obsolete)
(Formerly known as Label.GetText, which is now obsolete)
(Formerly known as Label.SetText, which is now obsolete)

-
String Label.Text;
-

Gets/sets the text displayed in the specified label.

-

Examples:

-
lblGameChapter.Text = "Chapter 2";
-

will display "Chapter 2" text on label 'lblGameChapter'.

-
lblHotspotName.Text = Game.GetLocationName(mouse.x, mouse.y);
-

will display the name of the location the cursor is over on label 'lblHotspotName'

-
lblScore.Text = String.Format("Game score: %d out of %d", cur_score, total_score);
-

will display a formatted string with game score variable values on label 'lblScore'.

-

Besides a regular text, or text formatted with String.Format, you can add some special values called "tokens" which will be replaced and automatically updated during the game. Multiple tokens may be present on a single label. The following tokens are currently supported, and will be substituted by actual values at runtime:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TokenDescription
@GAMENAME@The game's name, from General Settings or Game.Name property
@OVERHOTSPOT@The name of the location (hotspot, object, etc) which the cursor is over
@SCORE@The player's current score
@SCORETEXT@The text "Score: X of XX" with the relevant numbers filled in
@TOTALSCORE@The maximum possible score, specified on the General Settings pane
-

Example:

-
lblStatus.Text = "You have @SCORE@ out of @TOTALSCORE@ points.";
-

See also: Button.NormalGraphic, Button.Text, Label.TextColor, Label.Font

-
-
-
-

Label.TextAlignment

-
HorizontalAlignment Label.TextAlignment;
-

Gets/sets how the text is aligned relative to the label's rectangle. Note that currently label supports only horizontal alignment which could be eAlignLeft, eAlignRight and eAlignCenter.

-

See also: Standard Enumerated Types, Label.Font, Label.Text

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-
-
-
-

Label.TextColor

-

(Formerly known as SetLabelColor, which is now obsolete)

-
int Label.TextColor;
-

Gets/sets the text color used to display the label's text.

-

Example:

-
lblStatus.TextColor = 14;
-

will change label 'lblStatus' to have yellow text.

-

See also: Label.Font, Label.Text

-
-
-
- - - - - -
- - diff --git a/Lipsync.html b/Lipsync.html deleted file mode 100644 index f6cb1b36b..000000000 --- a/Lipsync.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - Lip sync - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Lip sync

-

Lip sync is a way to animate character talking in connection with particular letters and their combinations (phonemes).

-

Normally when a character is talking, AGS simply cycles through the speech animation from start to finish, and then loops back round. However, lip syncing allows you to be cleverer by specifying a particular frame to go with various letters and sounds. Then, as the character talks, AGS plays appropriate frames to simulate the character actually saying those words.

-

Lip sync is being configured on corresponding 'Lip Sync' pane in the editor.

-
-
-

Text-based lip syncing

-

In the Lip Sync Editor, you have 20 text boxes, one for each possible frame of the talking loop. In each box, you can enter all the letters which will cause that frame of the loop to be played. Letter combinations such as 'th' and 'ch' can be used too - AGS will match each part of the spoken text to the longest possible phrase in the lip sync editor.

-

separate the letters by forward slashes. For example,

-
3  R/S/Th/G
-

will mean that frame 3 of the character's talking animation is shown whenever the letter R, S, Th or G is spoken.

-

The "Default frame for unlisted characters" box allows you to set which frame is used when a character not listed in any of the text boxes is encountered.

-
-
-
-

Voice-based lip sync

-

AGS supports lip syncing voice speech to the talking animation. If you enable this feature, you cannot use the standard lip-sync for non-voice lines.

-

NOTE: This is an unofficial feature and is not currently supported. Use at your own risk

-

NOTE: The voice sync feature only supports Sierra-style speech.

-

In order to do this, you need to download one of the third-party applications that produce lip sync data based on voice clips. AGS supports two such data formats: PAMELA and Papagayo.

-
-
-
-

PAMELA

-

Download PAMELA application by the following link:
-https://www-personal.monash.edu.au/~myless/catnap/pamela/

-

Set up the phenomes in Pamela so that there are only 10 (or as many talking frames as you have) available choices. Then, in the Lip Sync pane of AGS, change the Type property to "Voice". Enter the Pamela phenomes into the text boxes to create the association between the pamela phenome code and the AGS frame number.

-

For example, enter "AY0" into frame 0's box, "E" into frame 1, and so forth - corresponding to how it is set up in Pamela. For multiple phenomes to share the same frame, separate them with forward slashes -- for example, "AY0/AY1" allows both of those phenomes to correspond to the specified frame.

-

Use the Pamela application on each of your speech lines, and save a Pamela project file (.pam file) for each speech file, naming it the same as the speech.

-

For example, the pamela project for EGO46.OGG would be called EGO46.PAM, placed in your game's Speech folder.

-

When you build the game, this pam file is compiled into the speech.vox and will be used to sync the animation of the talking frames during the game.

-

NOTE: Voice lip sync does not work well with MP3 files. It is strongly recommended that you use OGG or WAV for speech.

-
-
-
-

Papagayo

-

Download Papagayo application by the following link:
-https://www.lostmarble.com/papagayo/

-

First you would need to set up your 10 or so phonemes associations (as described above for PAMELA).

-

Then start up the Papagayo program and open a speech file in .WAV format. The waveform will appear on-screen, represented by a blue, horizontal bar. You can press the triangular 'Play' button at the top of the screen to listen to the speech audio.

-

In the "Spoken Text" field at the bottom of the screen, type in the exact text words heard in the speech file. As you type, you will notice that each word appears as a horizontal orange bar above the blue waveform. At the same time, individual pink phonemes start appearing below the blue waveform bar. (These pink phonemes at the bottom should correspond to the fields in AGS editor's "Lip Sync" tab).

-

If you play the speech audio at this point, you'll see that the mouth image at the upper right corner of the screen changes as each pink phoneme is reached during playback. However, the result will not be perfect. To remedy this, you need to drag the orange words at the top of the screen so that their length matches up with the timing of each spoken word in the audio. Double-clicking an orange word will make that portion of the audio play, so you can test if it's accurate.

-

Sometimes an orange word will contain too many, too few, or inaccurate phonemes. You can edit these by right-clicking an orange word and adding, editing, or deleting the desired phonemes. Each one should be separated by a space.

-

For even further accuracy, individual pink phonemes can be dragged left or right to position them more precisely.

-

When you're happy with the results, you can save the project as a .pgo file, which will allow you to open and re-edit this line later. But to use it in AGS, click the "Export" button at the bottom right side of the screen, and save it as a .dat file.

-

Use the Papagayo application on each of your speech lines, and export a Papagayo file (.dat file) for each speech file, naming it the same as the speech.

-

For example, the Papagayo project for EGO46.OGG would be called EGO46.DAT, placed in your game's Speech folder.

-

When you build the game, this dat file is compiled into the speech.vox and will be used to sync the animation of the talking frames during the game.

-
-
-
- - - - - -
- - diff --git a/ListBox.html b/ListBox.html deleted file mode 100644 index 6bc6d0563..000000000 --- a/ListBox.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - ListBox functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

ListBox functions and properties

-

ListBox is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-
-
-

ListBox.AddItem

-

(Formerly known as ListBoxAdd, which is now obsolete)

-
ListBox.AddItem(string newitem)
-

Adds NEWITEM to the specified list box. The item will be appended to the end of the list.

-

NOTE: List boxes have a limit of 200 items. If you try to add more than that, this function will return false and the item will not be added.

-

Example:

-
String input = txtUserInput.Text;
-lstChoices.AddItem(input);
-

will take the input from the user and add it to the listbox.

-

See also: ListBox.Clear, ListBox.FillDirList, ListBox.InsertItemAt, ListBox.Items, ListBox.RemoveItem

-
-
-
-

ListBox.Clear

-

(Formerly known as ListBoxClear, which is now obsolete)

-
ListBox.Clear()
-

Removes all items from the specified list box.

-

Example:

-
lstNoteBook.Clear();
-

will remove all the items from listbox lstNoteBook.

-

See also: ListBox.AddItem

-
-
-
-

ListBox.FillDirList

-

(Formerly known as ListBoxDirList, which is now obsolete)

-
ListBox.FillDirList(string filemask)
-

Fills the list box with a list of filenames matching FILEMASK in the current directory. This could be useful if you have various data files and the player can choose which one to load.

-

FILEMASK is a standard Windows search expression such as "*.dat" or "data*.*"

-

When specifying file path you may use special location tags:
$INSTALLDIR$, which allows you to explicitly access files in the game installation directory.
$SAVEGAMEDIR$, which allows you to access files in the save game directory.
$APPDATADIR$, which allows you to access files to a folder on the system which is accessible by and shared by all users.

-

Example:

-
lstSaveGames.FillDirList("agssave.*");
-

will fill the listbox with the list of the saved games. Note that actually for this task you would use FillSaveGameList instead.

-

See also: ListBox.AddItem, ListBox.Clear, ListBox.FillSaveGameList

-
-
-
-

ListBox.FillSaveGameList

-

(Formerly known as ListBoxSaveGameList, which is now obsolete)

-
ListBox.FillSaveGameList()
-

Fills the specified listbox with the save game list, sorted correctly with the most recent game at the top of the list.

-

The SaveGameSlots property is updated to contain the save game slot number for each index in the list, so that you can do:

-
int index = lstSaveGames.SelectedIndex;
-RestoreGameSlot(lstSaveGames.SaveGameSlots[index]);
-

NOTE: The save game list can only hold 50 save games. If ListBox.ItemCount returns 50 and you are doing a Save dialog box, you may want to make the user replace an existing file rather than saving a new one. Additionally, it can only list Save Game Slots from 0 to 99, this allows using slots of higher number for other purposes.

-

Example:

-
lstSaveGames.FillSaveGameList();
-

will fill listbox lstSaveGames with the list of the saved games.

-

See also: ListBox.FillDirList, ListBox.ItemCount, ListBox.SaveGameSlots, ListBox.SelectedIndex

-
-
-
-

ListBox.GetItemAtLocation

-
ListBox.GetItemAtLocation(int x, int y)
-

Determines which item in the list box is at the screen co-ordinates (X,Y). This allows you to find out which item the mouse is hovering over, for instance.

-

Returns the item index (where the first item is 0), or -1 if the specified co-ordinates are not over any item or are outside the list box.

-

Example:

-
int index = lstOptions.GetItemAtLocation(mouse.x, mouse.y);
-if (index < 0) {
-    Display("The mouse is not over an item!");
-}
-else {
-    String selectedItem = lstOptions.Items[index];
-    Display("The mouse is over item '%s'.", selectedItem);
-}
-

will display the item text that the mouse is currently hovering over.

-

See also: ListBox.SelectedIndex

-
-
-
-

ListBox.InsertItemAt

-
ListBox.InsertItemAt(int index, string newitem)
-

Inserts NEWITEM into the specified list box. The item will be inserted before the specified index.

-

Listbox indexes go from 0 (the first item) to ItemCount - 1 (the last item). The new item will be inserted before the index you specify.

-

NOTE: List boxes have a limit of 200 items. If you try to add more than that, this function will return false and the item will not be added.

-

Example:

-
lstChoices.AddItem("First item");
-lstChoices.AddItem("Second item");
-lstChoices.InsertItemAt(1, "Third item");
-

will insert the Third Item in between the First and Second items.

-

See also: ListBox.AddItem, ListBox.RemoveItem

-
-
-
-

ListBox.RemoveItem

-

(Formerly known as ListBoxRemove, which is now obsolete)

-
ListBox.RemoveItem(int item)
-

Removes ITEM from the specified list box. ITEM is the list index of the item to remove, starting with 0 for the top item.

-

If you want to remove all items from the list, then use ListBox.Clear instead.

-

NOTE: Calling this function causes other items in the list to get re-numbered, so make sure you don't keep around any references from ListBox.SelectedIndex and related functions while using this command.

-

Example:

-
lstTest.AddItem("First item");
-lstTest.AddItem("Second item");
-lstTest.RemoveItem(0);
-

the list box will now just contain "Second item".

-

See also: ListBox.Clear, ListBox.FillDirList

-
-
-
-

ListBox.ScrollDown

-
ListBox.ScrollDown()
-

Scrolls the list box down one row. If it is already at the bottom, nothing happens.

-

Example:

-
lstTest.ScrollDown();
-

will scroll the lstTest list box down one row.

-

See also: ListBox.ScrollUp

-
-
-
-

ListBox.ScrollUp

-
ListBox.ScrollUp()
-

Scrolls the list box up one row. If it is already at the top, nothing happens.

-

Example:

-
lstTest.ScrollUp();
-

will scroll the lstTest list box up one row.

-

See also: ListBox.ScrollDown

-
-
-
-

ListBox.Font

-
FontType ListBox.Font
-

Gets/sets the font used by the specified list box.

-

Example:

-
lstSaveGames.Font = eFontSpeech;
-

will change the lstSaveGames list box to use Font "Speech".

-

See also: Label.Font, TextBox.Text

-
-
-
-

ListBox.HideBorder

-

This property is obsolete since AGS 3.5.0. Use ListBox.ShowBorder instead.

-
bool ListBox.HideBorder
-

Gets/sets whether the list box's border is hidden.

-
-
-
-

ListBox.HideScrollArrows

-

This property is obsolete since AGS 3.5.0. Use ListBox.ShowScrollArrows instead.

-
bool ListBox.HideScrollArrows
-

Gets/sets whether the built-in up/down scroll arrows are hidden.

-
-
-
-

ListBox.ItemCount

-

(Formerly known as ListBoxGetNumItems, which is now obsolete)

-
readonly int ListBox.ItemCount
-

Gets the number of items in the specified listbox. Valid item indexes range from 0 to (numItems - 1).

-

This property is read-only. To change the item count, use the AddItem and RemoveItem methods.

-

Example:

-
int saves = lstSaveGames.ItemCount;
-

will pass the number of saved games to the int saves.

-

See also: ListBox.Items

-
-
-
-

ListBox.Items

-

(Formerly known as ListBoxGetItemText, which is now obsolete)
(Formerly known as ListBox.GetItemText, which is now obsolete)
(Formerly known as ListBox.SetItemText, which is now obsolete)

-
String ListBox.Items[index]
-

Gets/sets the text of the list box item at INDEX.

-

List box items are numbered starting from 0, so the first item is 0, the second is 1, and so on. The highest allowable index is ItemCount minus 1.

-

If you want to add a new item to the listbox, use the ListBox.AddItem method.

-

Example:

-
String selectedItemText = lstOptions.Items[lstOptions.SelectedIndex];
-

will get the text of the selected item in the list box.

-

See also: ListBox.SelectedIndex, ListBox.ItemCount, ListBox.AddItem

-
-
-
-

ListBox.RowCount

-
readonly int ListBox.RowCount
-

Gets the number of rows that can be shown within the list box. This depends on the size of the list box, and does not depend on how many items are actually stored in the list box.

-

This property is read-only. To change the row count, adjust the height of the list box.

-

Example:

-
Display("You can currently see %d items from the listbox's contents", lstSaveGames.RowCount);
-

will display the number of rows that the listbox can display.

-

See also: ListBox.ItemCount, ListBox.ScrollDown, ListBox.ScrollUp

-
-
-
-

ListBox.SaveGameSlots

-

(Formerly known as global array savegameindex, which is now obsolete)

-
readonly int ListBox.SaveGameSlots[];
-

Contains the corresponding save game slot for each item in the list.

-

This is necessary because the FillSaveGameList command sorts the list of save games to put the most recent first. Therefore, you can use this array to map the list box indexes back to the corresponding save game slot.

-

NOTE: You must use the FillSaveGameList command in order to populate this array.

-

Example:

-
int index = lstSaveGames.SelectedIndex;
-RestoreGameSlot(lstSaveGames.SaveGameSlots[index]);
-

will restore the currently selected game in the list, assuming FillSaveGameList had been used previously.

-

See also: ListBox.FillSaveGameList, ListBox.SelectedIndex

-
-
-
-

ListBox.SelectedBackColor

-
int ListBox.SelectedBackColor
-

Gets/sets the fill color of the selection rectangle drawn around the selected item.

-

Example:

-
lstSaveGames.SelectedBackColor = Game.GetColorFromRGB(0, 148, 255);
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: ListBox.Font, ListBox.SelectedTextColor, ListBox.TextColor

-
-
-
-

ListBox.SelectedIndex

-

(Formerly known as ListBoxGetSelected, which is now obsolete)
(Formerly known as ListBoxSetSelected, which is now obsolete)

-
int ListBox.SelectedIndex
-

Gets/sets the index into the list of the currently selected item. The first item is 0, second is 1, and so on. If no item is selected, this is set to -1.

-

You can set this to -1 to remove the highlight (i.e. un-select all items).

-

Example:

-
String selectedText = lstOptions.Items[lstOptions.SelectedIndex];
-

will get the text of the selected item in the listbox.

-
-
-
-

ListBox.SelectedTextColor

-
int ListBox.SelectedTextColor
-

Gets/sets the text color used for the selected item.

-

Example:

-
lstSaveGames.SelectedTextColor = Game.GetColorFromRGB(255, 255, 80);
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: ListBox.Font, ListBox.SelectedTextColor, ListBox.TextColor

-
-
-
-

ListBox.ShowBorder

-

(Formerly known as ListBox.HideBorder, which is now obsolete)

-
bool ListBox.ShowBorder
-

Gets/sets whether the list box's border is shown.

-

Border is drawn using color from TextColor property.

-

Note that hiding the border will also implicitly hide the up/down scroll arrows for the list box.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: ListBox.ShowScrollArrows, ListBox.TextColor

-
-
-
-

ListBox.ShowScrollArrows

-

(Formerly known as ListBox.HideScrollArrows, which is now obsolete)

-
bool ListBox.ShowScrollArrows
-

Gets/sets whether the built-in up/down scroll arrows are shown.

-

Arrows are drawn using color from TextColor property.

-

Because the overall appearance of the scroll arrows is not customizable, you may wish to use this to hide them and provide your own arrows using GUI Button controls.

-

NOTE: If the list box's "Show Border" setting is disabled, then the scroll arrows will also be hidden, since "Show Border" supersedes "Show Scroll Arrows". You only need to use this ShowScrollArrows property if you want the border to be shown but the arrows hidden.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: ListBox.ShowBorder, ListBox.TextColor

-
-
-
-

ListBox.TextAlignment

-
HorizontalAlignment ListBox.TextAlignment
-

Gets/sets the way a text is aligned inside an item's rectangle. Currently only horizontal alignment is supported, that is: eAlignLeft, eAlignCenter and eAlignRight.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Standard Enumerated Types, ListBox.Font, ListBox.SelectedBackColor, ListBox.SelectedTextColor

-
-
-
-

ListBox.TextColor

-
int ListBox.TextColor
-

Gets/sets the text color used by default, that is - for the non-selected items. Note that the same color is also used for the listbox's border and and scroll arrows.

-

Example:

-
lstSaveGames.TextColor = Game.GetColorFromRGB(80, 80, 200);
-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: ListBox.Font, ListBox.SelectedBackColor, ListBox.SelectedTextColor, ListBox.ShowBorder, ListBox.ShowScrollArrows

-
-
-
-

ListBox.TopItem

-

(Formerly known as ListBoxSetTopItem, which is now obsolete)

-
int ListBox.TopItem
-

Gets/sets the top item in the list box. The top item is the first item that is visible within the list box, so changing this effectively scrolls the list up and down.

-

Indexes for TopItem start from 0 for the first item in the list.

-

Example:

-
lstSaveGames.TopItem = 0;
-

will automatically scroll listbox lstSaveGames back to the top of the list.

-
-
-
-

ListBox.Translated

-
bool ListBox.Translated
-

Gets/sets whether the list box's items are translated to the selected game language at runtime.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-
-
-
- - - - - -
- - diff --git a/MIDI-playback.html b/MIDI-playback.html deleted file mode 100644 index 45872b6ec..000000000 --- a/MIDI-playback.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - MIDI playback - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

MIDI playback

-

MIDI is handled differently from other sound formats. MIDI files do not contain sampled audio, but instead contain control data intended to be received by MIDI compatible instruments. Since AGS 3.6.0, in order to play a MIDI file within the AGS engine the control data is passed to a software-based synthesizer known as TiMidity++ (or simply "Timidity").

-

NOTE: Timidity is built into the AGS engine and does not have to be installed separately.

-

NOTE: Prior to AGS 3.6.0 MIDI playback on Windows would use a software-based synthesizer that was provided with the operating system. This is no longer the case; the following requirements now apply to Windows too.

-

In addition to the MIDI data and in order to generate audio, Timidity also requires Gravis Ultrasound compatible (GUS) patches files. These files provide a mapping between the MIDI data being passed in and synthesizer voices which generate audio output. The location of the patch files and the MIDI instruments which they may represent are determined through the presence of a Timidity configuration file.

-
-

Where to get patch files

-

While it is possible to create custom Gravis Ultrasound compatible patch files, the majority of use cases are more easily covered by downloading a pre-configured bundle of compatible patch files from the Internet. As an example of a working set of patch files which are provided with Timidity configurations, the following archive contains the patches which were originally distributed with the Gravis Ultrasound driver:

-

http://www.gamers.org/pub/idgames/music/dgguspat.zip

-

IMPORTANT: It is recommended to ensure that you have the legal right to distribute and make use of third party patch files. The examples discussed here do not confirm any legal right or endorsement with regard to their usage.

-
-
-

How to configure Timidity

-

The Timidity configuration file should be named "timidity.cfg" and should be present in the top-level of the game directory or at one of the following system paths:

-

On Windows:

-
    -
  • c:\timidity\timidity.cfg
  • -
-

On Linux and macOS

-
    -
  • /etc/timidity.cfg
  • -
  • /usr/local/share/timidity/timidity.cfg
  • -
-

It is also possible to indicate a specific configuration file to use by setting its path as the value of the environment variable TIMIDITY_CFG.

-

When distributing a game with its own configuration and patch files it is likely preferable to have the Timidity configuration file in the top-level of the game directory (so that it is located automatically) and the referenced patch files located within a sub-directory. The dir directive within a Timidity configuration can be used to specify an additional search path for patch files. For example, if all patch files are located within a sub-directory named "my_patches" all that is needed is the relative path name:

-
dir my_patches
-

The path to a patch directory can also be absolute. An absolute path which is relative to the configuration file can be specified through the use of the special token $basedir, which expands to the path of the directory which contains the configuration file:

-
dir $basedir/my_patches
-
-
-
- - - - - -
- - diff --git a/Maths.html b/Maths.html deleted file mode 100644 index 442c76bbe..000000000 --- a/Maths.html +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - Maths functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Maths functions and properties

-
-

FloatToInt

-
int FloatToInt(float value, optional RoundDirection)
-

Converts the supplied floating point value into an integer.

-

This function is necessary because implicit conversions in the script are not supported.

-

RoundDirection can be either eRoundDown (the default), eRoundUp or eRoundNearest, which specifies what direction to round the floating point number in.

-
    -
  • eRoundDown - finds the nearest integer which is <= value. For example: -
      -
    • +1.5 = +1,
    • -
    • -1.5 = -2;
    • -
  • -
  • eRoundUp - finds the nearest integer which is >= value. For example: -
      -
    • +1.5 = +2,
    • -
    • -1.5 = -1;
    • -
  • -
  • eRoundNearest - finds the actual nearest integer. Middle cases are rounded away from zero. For example: -
      -
    • +1.2 = +1,
    • -
    • +1.8 = +2,
    • -
    • +1.5 = +2,
    • -
    • -1.2 = -1,
    • -
    • -1.8 = -2,
    • -
    • -1.5 = -2.
    • -
  • -
-

Example:

-
Display("Round down: %d", FloatToInt(10.7));
-Display("Round up: %d", FloatToInt(10.7, eRoundUp));
-Display("Round nearest: %d", FloatToInt(10.7, eRoundNearest));
-

displays:

-
    -
  • Round down: 10
  • -
  • Round up: 11
  • -
  • Round nearest: 11
  • -
-

See also: IntToFloat

-
-
-
-

IntToFloat

-
float IntToFloat(int value)
-

Converts the supplied integer value into a floating point number.

-

This function is necessary because implicit conversions in the script are not supported.

-

Example:

-
float number = IntToFloat(10);
-

loads 10.0 into the variable number.

-

See also: FloatToInt

-
-
-
-

Maths.ArcCos

-
float Maths.ArcCos(float value)
-

Calculates the arc-cosine, in radians, of the specified value.

-

To convert an angle in radians to degrees, use Maths.RadiansToDegrees.

-

Example:

-
float angle = Maths.ArcCos(1.0);
-

calculates the arc-cosine of 1.0 and places it into variable angle.

-

See also: Maths.Cos, Maths.DegreesToRadians,

-
-
-
-

Maths.ArcSin

-
float Maths.ArcSin(float value)
-

Calculates the arc-sine, in radians, of the specified value.

-

To convert an angle in radians to degrees, use Maths.RadiansToDegrees.

-

Example:

-
float angle = Maths.ArcSin(0.5);
-

calculates the arc-sine of 0.5 and places it into variable angle.

-

See also: Maths.Sin, Maths.DegreesToRadians,

-
-
-
-

Maths.ArcTan

-
float Maths.ArcTan(float value)
-

Calculates the arc-tan, in radians, of the specified value. Return value is in range -PI/2 to +PI/2.

-

To convert an angle in radians to degrees, use Maths.RadiansToDegrees.

-

Example:

-
float angle = Maths.ArcTan(0.5);
-

calculates the arc-tan of 0.5 and places it into variable angle.

-

See also: Maths.ArcTan2, Maths.DegreesToRadians, Maths.Tan

-
-
-
-

Maths.ArcTan2

-
float Maths.ArcTan2(float y, float x)
-

Calculates the arctangent of y/x. This is well defined for every point other than the origin, even if x equals 0 and y does not equal 0. The result is returned in radians. Return value is in range -PI to +PI.

-

To convert an angle in radians to degrees, use Maths.RadiansToDegrees.

-

Example:

-
float angle = Maths.ArcTan2(-862.42, 78.5149);
-

calculates the arc-tan of -862.42 / 78.5149 and places it into variable angle.

-

See also: Maths.DegreesToRadians, Maths.ArcTan

-
-
-
-

Maths.Cos

-
float Maths.Cos(float radians)
-

Calculates the cosine of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float cosine = Maths.Cos(Maths.DegreesToRadians(360.0));
-

calculates the cosine of 360 degrees (which is 1.0) and places it into variable cosine.

-

See also: Maths.ArcCos, Maths.Cosh, Maths.DegreesToRadians, Maths.Sin, Maths.Tan

-
-
-
-

Maths.Cosh

-
float Maths.Cosh(float radians)
-

Calculates the hyperbolic cosine of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float hcos = Maths.Cosh(Maths.DegreesToRadians(360.0));
-

calculates the hyperbolic cosine of 360 degrees and places it into variable hcos.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.Cos, Maths.DegreesToRadians, Maths.Sinh, Maths.Tanh

-
-
-
-

Maths.DegreesToRadians

-
float Maths.DegreesToRadians(float degrees)
-

Converts the supplied angle in degrees, to the equivalent angle in radians.

-

Since the trigonometric functions such as Sin, Cos and Tan work in radians, this function is handy if you know the angle you want in degrees.

-

Example:

-
float cosine = Maths.Cos(Maths.DegreesToRadians(360.0));
-

calculates the cosine of 360 degrees (which is 1.0) and places it into variable cosine.

-

See also: Maths.Cos, Maths.RadiansToDegrees, Maths.Sin, Maths.Tan

-
-
-
-

Maths.Exp

-
float Maths.Exp(float x)
-

Returns the exponential value of the floating-point parameter, x

-

The result is e to the power x, where e is the base of the natural logarithm. On overflow, the function returns infinite and on underflow, returns 0.

-

Example:

-
float expValue = Maths.Exp(2.302585093);
-

calculates Exp of 2.302585093 (which should be 10) and places it into the variable.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.Log, Maths.Log10

-
-
-
-

Maths.Log

-
float Maths.Log(float x)
-

Returns the natural logarithm (base e) of x.

-

x must be a positive non-zero number.

-

Example:

-
float logVal = Maths.Log(9000.0);
-

calculates Log of 9000 (which should be 9.104980) and places it into the variable.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.Exp, Maths.Log10

-
-
-
-

Maths.Log10

-
float Maths.Log10(float x)
-

Returns the base-10 logarithm of x.

-

x must be a positive non-zero number.

-

Example:

-
float logVal = Maths.Log(9000.0);
-

calculates Log10 of 9000 (which should be 3.954243) and places it into the variable.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.Exp, Maths.Log

-
-
-
-

Maths.RadiansToDegrees

-
float Maths.RadiansToDegrees(float radians)
-

Converts the supplied angle in radians, to the equivalent angle in degrees.

-

Since the trigonometric functions such as Sin, Cos and Tan work in radians, this function is handy to convert the results of one of those functions back to degrees.

-

Example:

-
float halfCircle = Maths.RadiansToDegrees(Maths.Pi);
-

converts PI radians into degrees (which is 180).

-

See also: Maths.Cos, Maths.DegreesToRadians, Maths.Sin, Maths.Tan

-
-
-
-

Maths.RaiseToPower

-
float Maths.RaiseToPower(float base, float exponent)
-

Calculates the value of base raised to the power exponent.

-

This means that base is multiplied by itself exponent times.

-

Example:

-
float value = Maths.RaiseToPower(4.0, 3.0);
-

calculates 4 to the power 3 (which is 64).

-

See also: Maths.Sqrt

-
-
-
-

Maths.Sin

-
float Maths.Sin(float radians)
-

Calculates the sine of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float sine = Maths.Sin(Maths.DegreesToRadians(360.0));
-

calculates the sine of 360 degrees (which is 0) and places it into variable sine.

-

See also: Maths.ArcSin, Maths.Sinh, Maths.DegreesToRadians, Maths.Cos, Maths.Tan

-
-
-
-

Maths.Sinh

-
float Maths.Sinh(float radians)
-

Calculates the hyperbolic sine of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float hsine = Maths.Sinh(Maths.DegreesToRadians(360.0));
-

calculates the hyperbolic sine of 360 degrees and places it into variable hsine.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.ArcSin, Maths.Sin, Maths.DegreesToRadians, Maths.Cosh, Maths.Tanh

-
-
-
-

Maths.Sqrt

-
float Maths.Sqrt(float value)
-

Calculates the square root of the supplied value.

-

The square root is the number which, when multiplied by itself, equals value.

-

Example:

-
Display("The square root of 4 is %d!", FloatToInt(Maths.Sqrt(4.0)));
-

displays the square root of 4 (rounded down to the nearest integer).

-

See also: Maths.Cos, Maths.RaiseToPower, Maths.Sin, Maths.Tan

-
-
-
-

Maths.Tan

-
float Maths.Tan(float radians)
-

Calculates the tangent of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float tan = Maths.Tan(Maths.DegreesToRadians(45.0));
-

calculates the tan of 45 degrees (which is 1.0) and places it into variable tan.

-

See also: Maths.ArcTan, Maths.Tanh, Maths.DegreesToRadians, Maths.Cos, Maths.Sin

-
-
-
-

Maths.Tanh

-
float Maths.Tanh(float radians)
-

Calculates the hyperbolic tangent of the specified angle (in radians).

-

To convert an angle in degrees to radians, use Maths.DegreesToRadians.

-

Example:

-
float htan = Maths.Tanh(Maths.DegreesToRadians(45.0));
-

calculates the hyperbolic tan of 45 degrees and places it into variable htan.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Maths.ArcTan, Maths.Tan, Maths.DegreesToRadians, Maths.Cos, Maths.Sin

-
-
-
-

Maths.Pi

-
readonly float Maths.Pi
-

Gets the value of Pi (defined as 3.14159265358979323846).

-

Example:

-
Display("Pi is %f!", Maths.Pi);
-

displays the value of Pi.

-

See also: Maths.Cos, Maths.Sin, Maths.Tan

-
-
-
- - - - - -
- - diff --git a/Mouse.html b/Mouse.html deleted file mode 100644 index e770ac316..000000000 --- a/Mouse.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - Mouse functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Mouse functions and properties

-
-

Mouse.ChangeModeGraphic

-

(Formerly known as ChangeCursorGraphic, which is now obsolete)

-
Mouse.ChangeModeGraphic(CursorMode, int slot)
-

Changes the specified mouse cursor mode's cursor graphic to SLOT. This allows you to dynamically change what a mouse cursor looks like.

-

NOTE: To change what the Use Inventory cursor looks like, you should change the active inventory item's CursorGraphic property instead of using this function.

-

Example:

-
mouse.ChangeModeGraphic(eModeLookat, 120);
-

will change the cursor's graphic for look mode to the image that's imported in the sprite's manager slot 120.

-

See also: Mouse.ChangeModeHotspot, Mouse.ChangeModeView, Mouse.GetModeGraphic, Mouse.Mode

-
-
-
-

Mouse.ChangeModeHotspot

-

(Formerly known as ChangeCursorHotspot, which is now obsolete)

-
Mouse.ChangeModeHotspot(CursorMode, int x, int y)
-

Permanently changes the specified mouse cursor mode's hotspot on the cursor graphic to (X,Y). This is the offset into the graphic where the click takes effect. (0,0) is the upper left corner of the cursor graphic.

-

Example:

-
mouse.ChangeModeHotspot(eModeWalkto, 10, 10);
-

will change the cursor's hotspot for walk mode to coordinates 10,10.

-

See also: Mouse.ChangeModeGraphic, Mouse.ChangeModeView

-
-
-
-

Mouse.ChangeModeView

-
Mouse.ChangeModeView(CursorMode, int view)
-

Changes the specified mouse cursor mode's animation view to VIEW.

-

You can pass view as -1 to stop the cursor from animating.

-

This allows you to dynamically change the view used for the cursor's animation while the game is running.

-

Example:

-
mouse.ChangeModeView(eModeLookat, ROLLEYES);
-

will change the Look cursor's view to ROLLEYES.

-

See also: Mouse.ChangeModeGraphic, Mouse.ChangeModeHotspot

-
-
-
-

Mouse.Click

-
static void Click(MouseButton)
-

Fires mouse click event at current mouse position (at mouse.x / mouse.y). This is in all aspects identical to what would happen if a player clicked actual mouse button. This function may be useful to simulate player actions in game, or create automatic demonstrations (like tutorials).

-

Example:

-
Mouse.SetPosition(100, 100);
-Mouse.Click(eMouseLeft);
-

This will simulate user click at (100,100).

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: GUI.ProcessClick, Room.ProcessClick

-
-
-
-

Mouse.DisableMode

-

(Formerly known as DisableCursorMode, which is now obsolete)

-
Mouse.DisableMode(int mode)
-

Disables the mouse cursor MODE. Any attempts to set the cursor to this mode while it is disabled (such as using UseModeGraphic) will fail. This function also greys out and disables any interface buttons whose left-click command is set as "Set mode X", where X is equal to MODE.

-

If the current cursor mode is MODE, then the engine will change it to the next enabled standard cursor.

-

Example:

-
mouse.DisableMode(eModeWalkto);
-

will make the walk mode unavailable until it's enabled again.

-

See also: Mouse.EnableMode, Mouse.IsModeEnabled

-
-
-
-

Mouse.EnableMode

-

(Formerly known as EnableCursorMode, which is now obsolete)

-
Mouse.EnableMode(int mode)
-

Re-enables the mouse cursor mode MODE. This function also enables any interface buttons which were disabled by the DisableMode command.

-

Example:

-
mouse.EnableMode(eModeWalkto);
-

will enable cursor mode walk which was disabled before.

-

See also: Mouse.DisableMode, Mouse.IsModeEnabled

-
-
-
-

Mouse.IsModeEnabled

-
static bool Mouse.IsModeEnabled(int mode)
-

Returns whether the specified mouse cursor is currently enabled.

-

Example:

-
if (mouse.IsModeEnabled(eModeWalkto)) {
-    mouse.Mode = eModeWalkto;
-}
-

will change the the "WalkTo" cursor mode, but only if it's currently enabled.

-

See also: Mouse.EnableMode, Mouse.DisableMode

-
-
-
-

Mouse.GetModeGraphic

-
static int Mouse.GetModeGraphic(CursorMode)
-

Returns the sprite slot number of the specified mouse cursor mode.

-

This could be useful if you want to change it manually with ChangeModeGraphic but be able to remember what it was before.

-

Example:

-
Display("The current mouse cursor sprite is %d.", mouse.GetModeGraphic(mouse.Mode));
-

will display the sprite slot number of the current mouse cursor.

-

See also: Mouse.ChangeModeGraphic

-
-
-
-

Mouse.IsButtonDown

-

(Formerly known as global function IsButtonDown, which is now obsolete)

-
Mouse.IsButtonDown(MouseButton)
-

Tests whether the user has the specified mouse button down. BUTTON must either be eMouseLeft, eMouseRight or eMouseMiddle.

-

Returns true if the button is currently pressed, false if not. This could be used to test the length of a mouse click and similar effects.

-

Example:

-
int timer=0;  // (at top of script file)
-if (mouse.IsButtonDown(eMouseRight)) {
-    if (timer == 40) {
-        Display("You pressed the right button for 1 sec");
-        timer = 0;
-    }
-    else {
-        timer++;
-    }
-}
-

will display the message if the player presses the right button for 1 sec.

-

Compatibility: eMouseMiddle supported by AGS 3.2.0 and later versions.
eMouseLeft and eMouseRight supported by all versions.

-

See also: IsKeyPressed

-
-
-
-

Mouse.SaveCursorUntilItLeaves

-

(Formerly known as SaveCursorForLocationChange, which is now obsolete)

-
Mouse.SaveCursorUntilItLeaves()
-

Saves the current mouse cursor, and restores it when the mouse leaves the current hotspot, object or character.

-

This allows you to temporarily change the mouse cursor when the mouse moves over a hotspot, and have it automatically change back to the old cursor when the player moves the mouse away.

-

NOTE: You must call this BEFORE you change to your new temporary cursor, or the new cursor will be saved by this command.

-

Example:

-
mouse.SaveCursorUntilItLeaves();
-mouse.Mode = eModeTalk;
-

will change the cursor mode to Talk for as long as the mouse is over the current object

-

See also: Mouse.Mode

-
-
-
-

Mouse.SelectNextMode

-

(Formerly known as SetNextCursorMode, which is now obsolete)

-
Mouse.SelectNextMode()
-

Selects the next enabled mouse cursor mode. This is useful for Sierra-style right-click cycling through modes. This function will choose the next mode marked as a Standard Mode, and will also use the Use Inventory mode if the player has an active inventory item.

-

See also: Mouse.Mode

-
-
-
-

Mouse.SelectPreviousMode

-
Mouse.SelectPreviousMode()
-

Selects the previous enabled mouse cursor mode. This is useful for Sierra-style right-click cycling through modes. This function will choose the previous mode marked as a Standard Mode, and will also use the Use Inventory mode if the player has an active inventory item.

-

See also: Mouse.Mode

-
-
-
-

Mouse.SetBounds

-

(Formerly known as SetMouseBounds, which is now obsolete)

-
Mouse.SetBounds(int left, int top, int right, int bottom)
-

Restricts the area where the mouse can move on screen. The four parameters are the relevant pixel co-ordinates of that edge of the bounding rectangle. They are in the usual range (0, 0) - (Screen.Width, Screen.Height).

-

You can pass (0,0,0,0) to disable the bounding rectangle and allow the mouse to move everywhere, as usual.

-

NOTE: The effect of this function only lasts until the player leaves the screen, at which point the cursor bounds will be reset.

-

Example:

-
mouse.SetBounds(160, 100, 320, 200);
-

will restrict the mouse cursor to the bottom-right quarter of the screen of a game that has screen resolution of 320x200.

-

See also: Mouse.SetPosition

-
-
-
-

Mouse.SetPosition

-

(Formerly known as SetMousePosition, which is now obsolete)

-
Mouse.SetPosition(int x, int y)
-

Moves the mouse pointer to screen co-ordinates (X,Y). They are in the usual range (0, 0) - (Screen.Width,Screen.Height). The mouse.x and mouse.y variables will be updated to reflect the new position.

-

NOTE: Only use this command when absolutely necessary. Moving the mouse cursor for the player is a sure way to irritate them if you do it too often during the game.

-

Example:

-
mouse.SetPosition(Screen.Width/2, Screen.Height/2);
-

will place the mouse cursor in the center of the screen.

-

See also: Mouse.SetBounds

-
-
-
-

Mouse.Update

-

(Formerly known as RefreshMouse, which is now obsolete)

-
Mouse.Update();
-

Updates the global variables "mouse.x" and "mouse.y" with the current position of the mouse. Normally, these variables are set just before each script function is executed. However, if you have a very long script where the mouse may have moved since the start of the function, and you need the exact current location, then this command will update the variables.

-

Example:

-
Display("The mouse was at: %d, %d.", mouse.x, mouse.y);
-mouse.Update();
-Display("The mouse is now at: %d, %d.", mouse.x, mouse.y);
-

will display the mouse position just before each dialog box is displayed

-
-
-
-

Mouse.UseDefaultGraphic

-

(Formerly known as SetDefaultCursor, which is now obsolete)

-
Mouse.UseDefaultGraphic()
-

Changes the appearance of the mouse cursor to the default for the current cursor mode. Use this to restore the cursor picture after you changed it with the UseModeGraphic function.

-

See also: Mouse.UseModeGraphic

-
-
-
-

Mouse.UseModeGraphic

-

(Formerly known as SetMouseCursor, which is now obsolete)

-
Mouse.UseModeGraphic(CursorMode)
-

Changes the appearance of the mouse cursor to use the specified cursor. Unlike the Mouse.Mode property, this does not change the mode used if the user clicks on a hotspot. This is useful for displaying a "wait" cursor temporarily.

-

Example:

-
mouse.UseModeGraphic(eModeWait);
-

will change the mouse cursor to the cursor 'Wait' specified in the Cursors tab.

-

See also: Mouse.ChangeModeGraphic, Mouse.Mode, Mouse.UseDefaultGraphic

-
-
-
-

Mouse.AutoLock

-
static bool Mouse.AutoLock;
-

Gets/sets if the system mouse cursor is automatically locked in the game window when the player clicks in it. The "locked" cursor will not be able to leave the bounds of the window. This is useful when playing a game in a windowed mode, preventing occasional misclicks outside that could lead to switching out of the game.

-

NOTE: it is strongly advised to not set this property unconditionally, but instead make a menu option in game where player could set this to their preference.

-

NOTE: the player may toggle mouse lock on and off anytime using Ctrl + Alt key combination; but that does not disable autolock on click.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-
-
-
-

Mouse.ControlEnabled

-
static bool Mouse.ControlEnabled;
-

Gets/sets if the mouse cursor movement has to be controlled by AGS engine; otherwise it is controlled by operation system. Note that in practice mouse is only controlled when the game is run in fullscreen mode.

-

This setting may be useful to know if custom mouse speed setting is applied or not.

-

Example:

-
sldMouseSpeed.Visible = Mouse.ControlEnabled;
-

makes mouse speed slider visible only if the mouse is controlled by the game.

-

Compatibility: Supported by AGS 3.3.5 and later versions.
Settable since AGS 3.5.0.

-

See also: Mouse.Speed

-
-
-
-

Mouse.Mode

-

(Formerly known as GetCursorMode, which is now obsolete)
(Formerly known as SetCursorMode, which is now obsolete)

-
int Mouse.Mode;
-

Gets/sets the current mode of the mouse cursor. This is one of the cursor modes from your Cursors tab (but with eMode prepended). For example, a cursor mode called "Walk to" on your cursors tab would be eModeWalkto.

-

Setting this changes both the appearance of the cursor and the Cursor Mode used if the player clicks on a hotspot.

-

Example:

-
if (mouse.Mode == eModeWalkto)
-{
-    // code here
-}
-

will execute the code only if the current cursor mode is MODE 0 (WALK).

-

See also: Mouse.SaveCursorUntilItLeaves, Mouse.UseModeGraphic, Mouse.SelectNextMode

-
-
-
-

Mouse.Speed

-
static float Mouse.Speed;
-

Gets/sets in-game mouse cursor speed. 1.0 is default, values in the range 0-1 make cursor movement slower, values higher than 1 make cursor movement faster.

-

Mouse speed changed this way will be saved to the configuration file when player exits the game. Next time game starts it will restore the last value you applied, unless player has modified it in the setup program.

-

The custom mouse speed is only applied if mouse cursor movement is currently being controlled by the game, which is usually true only when game is run in fullscreen mode. Setting this property has no effect otherwise. You can use Mouse.ControlEnabled to know if speed will be applied.

-

NOTE: It is strongly advised to NEVER use this parameter to achieve gameplay effect (such as character's loss of coordination, and so forth).

-

Example:

-
Mouse.Speed = IntToFloat(sldMouseSpeed.Value) / 10.0;
-

converts slider control's position into mouse speed.

-

Compatibility: Supported by AGS 3.3.5 and later versions.

-

See also: Mouse.ControlEnabled, Mouse.SetPosition

-
-
-
-

Mouse.Visible

-

(Formerly known as HideMouseCursor, which is now obsolete)
(Formerly known as ShowMouseCursor, which is now obsolete)

-
bool Mouse.Visible;
-

Gets/sets whether the mouse cursor is visible. This is initially true by default, but setting this to false is useful for briefly hiding the cursor on occasions when you don't want it around.

-

If you want the LucasArts-style where the mouse cursor is never visible during cutscenes then a much easier solution is simply to import a transparent graphic over the default wait cursor, so that the Wait cursor becomes invisible.

-

Example:

-
mouse.Visible = false;
-Wait(40);
-mouse.Visible = true;
-

hides the mouse, waits for a second, then turns it back on again

-

See also: Mouse.UseModeGraphic

-
-
-
- - - - - -
- - diff --git a/Multimedia.html b/Multimedia.html deleted file mode 100644 index 73a65ac71..000000000 --- a/Multimedia.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - Multimedia functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Multimedia functions

-
-

CDAudio

-
CDAudio (eCDAudioFunction, int param)
-

This function allows you to play and control an audio CD in your game. Different tasks are performed, depending on the value of the AudioFunction parameter. If there is no CD-ROM drive on the system, the function does nothing.

-

The PARAM parameter is used by some of the functions for various reasons; if it is not needed for the particular function you are calling, pass zero instead.

-

The tasks performed are as follows depending on the COMMAND parameter:

-
eCDIsDriverPresent - checks if there is a CD-ROM driver available on
-   the system. Returns 1 if there is, and 0 if there is not.
-eCDGetPlayingStatus - checks whether the CD drive is currently playing
-   an audio track. Returns 1 if it is, and 0 if it is not.
-eCDPlayTrack - starts playback from track PARAM on the CD. If the track
-   does not exist, or if it is a data track, nothing happens.
-eCDPausePlayback - pauses the currently playing audio track.
-eCDResumePlayback - continues from where the track was paused.
-eCDGetNumTracks - returns the number of tracks on the CD
-   currently in the drive. If the drive is empty, returns 0.
-eCDEject - ejects the drive tray if the drive has the ability. This is
-   a feature you'll play with to start off because it's neat, and then
-   realize that it has no real use in your game.
-   Your script does not continue until the drive is fully ejected.
-eCDCloseTray - the reverse of Eject. This will pull the drive tray back
-   in again. Your script does not continue until the drive has been
-   fully closed.
-eCDGetCDDriveCount - returns the number of CD drives in the
-   system, normally 1.
-eCDSelectActiveCDDrive - changes the current CD drive to PARAM,
-   where PARAM ranges from 1 to (number of CD drives). All the other
-   CD Audio functions operate on the current CD drive.
-

NOTE: These CD Audio functions are slow compared to all the other script functions. This will not be noticeable if you call them from most scripts, but using CDAudio in a repeatedly_execute script will noticeably slow down the game.

-

Cross-Platform Support

-

Windows: Yes, but supports 1 CD-ROM drive only
Linux: Yes, but supports 1 CD-ROM drive only
MacOS: No

-

Example:

-
CDAudio(eCDPlayTrack, 3);
-

will play track 3 of the CD that's in the CD ROM drive.

-
-
-
-

IsSpeechVoxAvailable

-
IsSpeechVoxAvailable()
-

Returns whether the SPEECH.VOX file is being used by the game. This could be useful if you have an optional speech download pack, and you want to know whether the player has it or not.

-

Returns 1 if the speech files are available, 0 if not.

-

Example:

-
if (IsSpeechVoxAvailable()==0)
-    Display ("You don't have the voice pack");
-

will display a message if the voice pack is not available.

-

NOTE: This function used to be called IsVoxAvailable, but has now been renamed to avoid confusion.

-

See also: AudioClip.IsAvailable Game.ChangeSpeechVox, Game.SpeechVoxFilename, Voice speech

-
-
-
-

PlayFlic

-
PlayFlic (int flic_number, int options)
-

Plays a FLI or FLC animation. The game checks for FLICx.FLC and FLICx.FLI (where X is FLIC_NUMBER) and if it finds one, plays it. The game is paused while the animation plays.

-

OPTIONS has these meanings:

-
0  player can't skip animation
-1  player can press ESC to skip animation
-2  player can press any key or click mouse to skip animation
-+10 (i.e. 10, 11, 12) do not stretch to full-screen, just play at flc size
-+100 do not clear the screen before starting playback
-

Example:

-
PlayFlic(2, 1);
-

will play flic2 and the player will be able to skip the flic by pressing the ESC key.

-

See also: PlayVideo

-
-
-
-

PlaySilentMIDI

-
PlaySilentMIDI (int music_number)
-

This command is obsolete.

-

Use the AudioClip.Play command and set its Volume property to 0 to simulate this effect.

-

See also: AudioClip.Play, AudioChannel.Volume

-
-
-
-

PlayVideo

-
PlayVideo (string filename, VideoSkipStyle, int flags)
-

Plays a supported video file. The game is paused while the video plays.

-

As of 3.6.0 AGS only supports OGG Theora videos (*.ogv). Prior to 3.6.0 it also supported AVI and MPG, but only on MS Windows, and if necessary codecs are installed on player's system. Please see the notes in the end of this article for more information on this.

-

VideoSkipStyle defines how the player can skip the video:

-
eVideoSkipNotAllowed     player can't skip video
-eVideoSkipEscKey         player can press ESC to skip video
-eVideoSkipAnyKey         player can press any key to skip video
-eVideoSkipAnyKeyOrMouse  player can press any key or click mouse to skip
-

Flags has these meanings:

-
0: default mode; the video is be played at original size, with its own audio; game's audio is muted.
-+1: the video will be stretched to full screen, with appropriate black borders to maintain its aspect ratio.
-+10 (i.e. 10, 11): video's own audio will be muted, and game audio will continuing playing.
-+20 (i.e. 20, 21): both game's and video's audio will be playing.
-

NOTE: In 256-color games, PlayVideo is not supported. Please use a FLC/FLI video with the PlayFlic command instead.

-

Example:

-
PlayVideo("Intro.ogv", eVideoSkipEscKey, 11);
-

will play the video "Intro.ogv", allowing the player to skip with ESC if they've seen it before. The video will be stretched to fullscreen, maintaining aspect ration; but it's audio track will be muted, while game sounds will continue to play.

-

OGG Theora format

-

As of AGS 3.6.0 PlayVideo can only play OGG Theora (*.ogv). The benefit of this format is that no extra codecs or drivers have to be installed on the user's system in order to play them. OGG Theora videos are automatically included into the game package when you compile the game. For that you need to make sure that file has a .OGV extension and is placed in your game project folder.

-

There are multiple tools out there that may convert another video to OGV. For instance, a good converter for Theora is ffmpeg2theora.

-

NOTE: Prior to 3.6.0 there has been a mistake in AGS, because of which the OGG videos could be positioned on screen with a slight negative offset, cutting few rows or columns of pixels. If you are still using AGS 3.5.1 or lower, you have to make sure that your video's frame sizes are multipliers of 16 and actual image placed aligned to the center. For example, if you want 320x200 video then increase canvas to 320x208 and place image at offset (0, 4). This is not a problem anymore in 3.6.0 or later versions.

-

Other video formats

-

In previous versions of AGS (3.5.1 or lower), PlayVideo could also play AVI, MPG and few other formats, but only on MS Windows, because the playback was implemented through the use of the DirectShow interface. Engine also relied on the codecs installed on player's system (for example, if you created your video with the XVid codec, the player will need to have XVid installed to be able to view it).

-

These types of video were not included into the game package. You have to place them separately near you game's exe for them to work.

-

Cross-Platform Support

-

OGG Theora: supported everywhere. AVI / MPG: Windows only.

-

Compatibility:

-

OGG Theora supported by AGS 3.1.1 and later versions.
AVI / MPG support was discontinued in AGS 3.6.0 and not supported until further notice.
Flag +20 (play both game and video's audio) is supported by AGS 3.6.0 and later versions.

-

See also: PlayFlic

-
-
-
-

SetSpeechVolume

-
SetSpeechVolume (int volume)
-

Sets the volume for in-game speech. VOLUME ranges from 0-255, where 255 is the loudest. The default speech volume is 255 so this function can only be used to reduce the volume.

-

Example:

-
SetSpeechVolume(200);
-

will set the speech volume to 200.

-

See also: Game.SetAudioTypeVolume, Game.SetAudioTypeSpeechVolumeDrop, Game.PlayVoiceClip

-
-
-
- - - - - -
- - diff --git a/MultipleScripts.html b/MultipleScripts.html deleted file mode 100644 index a87c7beab..000000000 --- a/MultipleScripts.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - Multiple Scripts - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Multiple Scripts

-

If you're working on a fairly large game, you'll find that your global script can quickly become rather large and unwieldy. AGS allows you to create extra scripts (also known as Script Modules) in order to split up your code and easily import scripts written by other people.

-

The main global script still has to contain all the event functions (Look At Character scripts, Interact With Inventory scripts and so forth) and all the GUI handlers (btnSave_Click, etc).

-

But if you have any custom functions then you can put them in a separate script in order to divide up your code. Scripts have the added advantage that they can be easily exported and imported, if you want to share some of your code with other people, or even just move it from one game to another.

-

The scripts for the game can be seen under the "Scripts" node in the project tree. Each script has its own header, which is where you place the import definitions for that script to allow the rest of your game to access its functionality.

-

The order of the scripts is important. A script can only use functionality from other scripts that come before it in the list, so the Move Up and Move Down options allow you to adjust the order. The global script is always at the bottom so that it can access all other scripts, and room scripts are automatically provided with access to all the scripts.

-

As an example, suppose you want to have a special AddNumbers function in a module. You'd create a new script, then put this in its header file (.ASH):

-
import function AddNumbers(int a, int b);
-

Then, in the script file (.ASC) you could put:

-
function AddNumbers(int a, int b) {
-    return a + b;
-}
-

That's the basic principle behind using multiple scripts!

-

Special functions

-

Can extra scripts use special functions like game_start and repeatedly_execute? Well, yes and no. They can contain the following functions, and they will be called at the appropriate times just before the global script's function is:

-
    -
  • function game_start()
  • -
  • function on_event(EventType event, int data)
  • -
  • function on_key_press(eKeyCode keycode)
  • -
  • function on_mouse_click(MouseButton button)
  • -
  • function repeatedly_execute()
  • -
  • function repeatedly_execute_always()
  • -
  • function late_repeatedly_execute_always()
  • -
-

All other special functions, such as dialog_request, will only be called in the Global Script, even if they exist in another script. If you need other scripts to handle any of this functionality, you can simply create a custom function in the script and then call it from the global script.

-

The ClaimEvent command is supported for on_key_press, on_mouse_click and on_event. Calling it prevents the rest of the scripts (including the global script) from being called.

-

See also: Importing functions and variables in other scripts

-
-
- - - - - -
- - diff --git a/MusicAndSound.html b/MusicAndSound.html deleted file mode 100644 index abef49d86..000000000 --- a/MusicAndSound.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Music and sound - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Music and sound

-

Sound and music are an essential part of any gameplay experience, and AGS 3.2 and higher provides a re-written audio system giving you full control over your game audio.

-
-

File formats

-

AGS is able to play the following types of audio file:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
extensionSound Format
.oggOgg Vorbis
.wavWave (8, 16, 24 and 32 bit)
.mp3MPEG-1 Audio Layer III
.vocCreative Labs Voice
.midMIDI (requires Soundfont)
.modProTracker / NoiseTracker MOD
.xmFastTracker II
.s3mScreamTracker file
.itImpulse Tracker
-

OGG is a digital music format similar to MP3, but achieving better compression and higher quality. For more information and programs to encode your music to OGG, see https://www.vorbis.org/

-

If you use MIDI, the player will need a Soundfont and a Timidity config file to be able to play the music.

-
-
-

Audio in the Editor

-

Look under the "Audio" branch in the project tree. Here you'll find sub-nodes called "Speech", "Types" and two default folders called "Music" and "Sounds".

-

Speech

-

At the moment, voice speech files are not set up within the editor. See the Voice speech help page to find out more about adding speech to your game.

-

Audio Types

-

Audio Types allow you to group together similar types of audio files. The standard distinction here is between Sound and Music, whereby you usually only want one Music file to be playing at any one time; whereas you might have several simultaneous sound effects.

-

Double-click on an Audio Type and it will open up; you can see its properties in the Property Grid. Here, the "MaxChannels" setting allows you to specify how many audio clips of this type are allowed to play at the same time. The "VolumeReductionWhenSpeechPlaying" setting allows you to have AGS automatically reduce the volume of these audio clips while speech is playing, to make it easier for the player to hear the speech over the background music.

-

You'll probably find that the default settings here are fine, and in many games you won't need to change them.

-

Importing audio files

-

Now let's get on to the important question -- how do you add sound and music to your game? Well, if you right-click on the "Sound" or "Music" folders (or any other folders that you create yourself), you'll see an option called "Add Audio Files".

-

Select this option, and you'll be given a dialog box to find the audio files that you want to import. Once imported, they'll be assigned script names automatically. If you already name the sound files you create and want to use in a short and descriptive way you don't have to rename them in the game project and save a lot of time and keep both your game project and the assets organized.

-

Double-click an audio file in the project tree to open a window where you can preview it, as well as change its properties in the Property Grid.

-

Using folders to organize sounds

-

Rightclick on the main music node, on one of the subordinate type folders or any user-created subfolder to these to create a subfolder to that node. It is good practice to add some new subfolders when you start a new project or you will have to drag and drop a lot of files later (as you can not drag and drop them in droves but only one at a time). You could split your music into Chapter 1 music, Chapter 2 music, etc or split it to "music calm" and "music battle" or whatever you need.
-The same applies to the folder for sounds and sound effects, add subfolders to it to split your sound library into "Menu sounds" for button presses and "game sounds" for in-game sounds. Sort them by chapter or by room, this will make finding, navigating and addressing the sounds so much easier.

-

Playing audio in the game

-

The script to play an audio clip in the game is very simple. For example:

-
aExplosion.Play();
-

plays the audio clip called aExplosion.

-

Priorities and channels

-

AGS currently has an 16-channel audio system, which means that up to 16 sounds can be playing at the same time. One channel is always reserved for the speech voice-over and you cannot change that, so you have 15 at your disposal. By default Audio Types reserve one channel for music and one for ambient sounds; thus leaving 13 available for other types, but you can change that to your needs.

-

NOTE: Because total number of channels is a constant, AGS does not guarantee to reserve exactly as many channels as you set. Channels are reserved in the order of types in the project, so if you set "MaxChannels" to 9 for music and 9 for sounds, then at runtime the game will reserve 9 for music and only 6 remaining for sounds.

-

If you try to play an audio clip and there are no channels available, then an existing one will be stopped and the new one will take its place. However, this will only happen if the new audio clip has an equal or higher priority than one of the currently playing sounds.

-

Thus, the priority allows you to decide which audio clips are more important than others. For example, you might set a footstep sound as low priority, and a door opening as high priority. This can be configured at the folder level in the editor, and also by changing the properties of an individual audio clip (by default they will inherit from their containing folder).

-

Sometimes you might not want the priority of the sound to be fixed in the editor -- you might want to decide it at run-time in the script. For this reason the Play command has an optional parameter which allows you to explicitly specify the priority when you play it, for example:

-
aExplosion.Play(eAudioPriorityLow);
-

NOTE: having only one channel reserved for an audio type and all clips having same priority by default will make any new played sound of that type replace the previous one automatically. This may be useful, for example, to ensure that only one music clip is playing at the same time in your game.

-

See also: AGS Audio Channel Troubleshooting

-

Seeking and changing volume

-

So, how do you change a sound once it is playing? Well, there are no methods on the Audio Clip to do this, because you might be playing two copies of the same sound at once, and then AGS wouldn't know which one you wanted to access. That's where Audio Channels come to the rescue.

-

When you use the Play() command, AGS returns to you an AudioChannel* instance representing the channel on which the sound is playing. You can store this to a global variable and access it later on. For example:

-
AudioChannel* chan = aExplosion.Play();
-chan.Volume = 20;
-

This will start the aExplosion audio clip playing, and then change its volume to 20%.

-

Using Audio Channels

-

Supposing you want to start playing a sound now, and then change its volume or panning later on. How would you do that? Well, you'd need to keep the AudioChannel around, so that you can access it later. The easiest way to do that is to make it a Global Variable; if you open the Global Variables editor, you can create a new AudioChannel* variable (let's call it longWindedSound). Then when you play the sound you set it like this:

-

longWindedSound = aExplosion.Play();

-

later on, elsewhere in the script, you can change the volume by doing:

-
if (longWindedSound != null)
-{
-    longWindedSound.Volume = 20;
-}
-

Note the check for null here -- this makes sure that your game won't crash if the sound isn't playing (it might have finished, or not have been started yet).

-

Overall system volume

-

There is a property called System.Volume that controls the overall game volume, which you can use with some sort of volume control slider for the player. All individual sound volumes work within the overall system volume.

-

Conclusion

-

The new audio system in AGS gives you much more control over your game audio. Please see the following sections for a complete list of the supported commands:

-

AudioClip reference, AudioChannel reference

-
-
-
-

The AudioCache folder

-

When you import audio files into AGS, you'll probably notice that a folder inside your game folder, called AudioCache, starts to fill up with files. What is it and why is it there?

-

Well, when you import audio into AGS, you might be importing it from anywhere -- it could be off your hard drive, but it might also be off a USB stick or a CD. AGS can't rely on the audio files always being there because you might remove the USB stick or delete the files on it.

-

Therefore, when you import audio into AGS it makes a copy of the file in the AudioCache folder. AGS also remembers where the file came from, and when you compile your game it will check if the file has been updated in its original location -- if so it will copy the latest version to the AudioCache.

-

But if the source file no longer exists, your game will continue to build just fine because AGS has its own copy of the file.

-

This allows AGS to stick to one of its core principles, that all the files you need to build your game are within the game's folder. That way, you have complete security in knowing that by backing up your game folder, your game will be safe if the worst happens.

-
-
-
- - - - - -
- - diff --git a/OOProgramming.html b/OOProgramming.html deleted file mode 100644 index 5ea611c8d..000000000 --- a/OOProgramming.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - Object Oriented Programming - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Object Oriented Programming

-

The basic idea of encapsulation is that you are going to protect your data structure (struct) by using methods (functions) to get and/or set the properties instead of making them directly readable/writable.

-

For example:

-
struct Weapon
-{
-    protected int damage;
-    import int GetDamage();
-    import void SetDamage(int);
-};
-
-int Weapon::GetDamage()
-{
-    return this.damage;
-}
-
-void Weapon::SetDamage(int damage)
-{
-    this.damage = damage;
-}
-

Why would you want to do this you ask? Let's say for example that you want to make sure that the damage property of your Weapons is always a positive (or 0) value. If the user could directly set sword.damage = -15; then you would have no way to prevent the property being changed. To further extrapolate this problem if the user of this code is defining dynamic instances of this struct you wouldn't even be able to authenticate the data using repeatedly_execute (short of forcing them to call an Update method every loop).

-

By encapsulating the property you can make sure that the user is supplying a valid value before storing it into the instance:

-
void Weapon::SetDamage(int damage)
-{
-    if (damage < 0) damage = 0;
-    this.damage = damage;
-}
-

Now if the user supplies an invalid value for the damage it will be replaced with 0. This makes sure that the damage does not get set to a negative value.

-
-

Protection

-

Access modifiers can be applied to struct members to set the access and modification scope of struct members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
KeywordGetSet
readonlyYesNo
writeprotectedYesUsing this
protectedUsing thisUsing this
-

To be consistent with Java and C#, the protection level is always specified first. For example:

-
protected import static function my_function();
-
-
-

Defining attributes

-

Note: You cannot use an attribute in the same script where the getter and setter methods are defined. If you try, you'll get an error like this:

-
Error: is_script_import: NULL pointer passed
-

The keyword attribute is actually comparable to the C# idea of properties, though the actual implementation is of course different. An attribute gives us the ability to encapsulate our properties so we can protect our data without losing the ease of access that just using properties grants.

-

An attribute is declared more like a method than a property. You must also supply two functions for each attribute, a getter and a setter, named get_XXX and set_XXX respectively where XXX is the name of the attribute. The named attributes themselves are considered virtual, so there also needs to be a struct member used to store the data.

-

For example:

-
struct Weapon
-{
-    protected int damage; // this is our actual property to store the damage
-    import attribute int Damage; // this is our attribute
-    import int get_Damage();
-    import void set_Damage(int damage);
-};
-
-int Weapon::get_Damage()
-{
-    return this.damage;
-}
-
-void Weapon::set_Damage(int damage)
-{
-    this.damage = damage;
-}
-

It is also possible to use the attribute keyword to encapsulate array access, this time by using a getter named geti_XXX and and setter named seti_XXX. Since dynamic arrays are not supported as struct members you would typically have to declare the actual property with a static size.

-

For example:

-
#define MAX_PEOPLE_COUNT 20 // max 20 people
- 
-struct People
-{
-    protected String names[MAX_PEOPLE_COUNT];
-    import attribute String Names[];
-    import String geti_Names(int index);
-    import void seti_Names(int index, String name);
-    readonly import attribute int Count;
-    import int get_Count();
-};
-
-String People::geti_Names(int index)
-{
-    if ((index < 0) || (index >= MAX_PEOPLE_COUNT)) return null; // invalid index
-    return this.names[index];
-}
-
-void People::seti_Names(int index, String name)
-{
-    if ((index < 0) || (index >= MAX_PEOPLE_COUNT)) return;
-    if (String.IsNullOrEmpty(name)) name = "John Doe";
-    this.names[index] = name;
-}
-
-int People::get_Count()
-{
-    return PEOPLE_COUNT;
-}
-
-
-

Access with extender functions

-

By default getter and setter methods will show in autocomplete data within the script editor, unless explicitly disabled per definition:

-
struct Weapon
-{
-    protected int damage;
-    import attribute int Damage;
-    import int get_Damage(); // $AUTOCOMPLETEIGNORE$
-    import void set_Damage(int damage); // $AUTOCOMPLETEIGNORE$
-};
-

This hides them within the script editor but it still means that the functions are globally accessible and we have to reference them in the script header. By using extender functions instead, we no longer need to define them in the script header and no longer need to add the special tokens to have the functions ignored for autocomplete purposes.

-

Example script header:

-
// Script.ash
-
-struct Weapon
-{
-    protected int damage;
-    import attribute int Damage;
-};
-

Example script:

-
// Script.asc
-
-int get_Damage(this Weapon*)
-{
-    return this.damage;
-}
-
-void set_Damage(this Weapon*, int damage)
-{
-    if (damage < 0) damage = 0;
-    this.damage = damage;
-}
-
-
-

Static attributes

-

Using an attribute will actually allow you to simulate defining static properties within a struct.

-
struct Some
-{
-    import static attribute int Thing;
-};
-
-// since the attribute is static, adding a property to the struct doesn't make sense
-int Some_Thing;
-
-// even though it's static we can still use extenders to define the accessors;
-// but note how we use "static Some" here instead of "this Some*", as no this pointer
-// may be available in a static method.
-int get_Thing(static Some)
-{
-    return Some_Thing;
-}
-
-void set_Thing(static Some, int thing)
-{
-    Some_Thing = thing;
-}
-
-// Meanwhile, in some other script...
-Some.Thing = 42;
-
-
-
- - - - - -
- - diff --git a/Object.html b/Object.html deleted file mode 100644 index 3fef0150b..000000000 --- a/Object.html +++ /dev/null @@ -1,801 +0,0 @@ - - - - - - - Object functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Object functions and properties

-
-

Object.Animate

-

(Formerly known as AnimateObject, which is now obsolete)
(Formerly known as AnimateObjectEx, which is now obsolete)

-
Object.Animate(int loop, int delay, optional RepeatStyle,
-               optional BlockingStyle, optional Direction, optional int frame, optional int volume)
-

Starts the object animating, using loop number LOOP of its current view, and optionally starting at FRAME. The overall speed of the animation is set with DELAY, where 0 is the fastest, and increasing numbers mean slower. The delay for each frame is worked out as DELAY + FRAME SPD, so the individual frame speeds are relative to this overall speed.

-

The RepeatStyle parameter sets whether the animation will continuously repeat the cycling through the frames. This can be eOnce (or zero), in which case the animation will start from the first frame of LOOP, and go through each frame in turn until the last frame, where it will stop. If RepeatStyle is eRepeat (or 1), then when the last frame is reached, it will go back to the first frame and start over again with the animation. If RepeatStyle is 2 then it will do the animation once, but then return the graphic to the first frame and stop (whereas repeat=0 will leave the graphic on the last frame).

-

For blocking you can pass either eBlock (in which case the function will wait for the animation to finish before returning), or eNoBlock (in which case the animation will start to play, but your script will continue). The default is eBlock.

-

Direction specifies which way the animation plays. You can either pass eForwards (the default) or eBackwards.

-

Frame lets you specify the starting frame, which should be one of the chosen loop's frame.
Note that for compatibility reasons if direction is eBackwards the animation actually begins with the previous frame. If you pass frame 0 (the default) then it will begin with the last frame in the loop.

-

Volume lets you specify the relative volume in percents (0-100) of the frame-linked sounds for the duration of this animation. It's 100 by default (which means - unchanged).

-

You need to use SetView at some stage before this command, in order to set up the object's current view.

-

Example:

-
object[0].Animate(2, 5);
-object[1].Animate(1, 3, eOnce, eBlock, eBackwards);
-

will animate object 0 using loop 2 of its current view, at speed 5, and play the animation once only. This happens in the background. Then, object 1 will animate backwards using loop 1 of its current view, at speed 3. The function won't return until the animation is finished.

-

Compatibility: Optional frame parameter is supported only by AGS 3.5.0 and later versions.
Optional volume parameter is supported only by AGS 3.6.0 and later versions.

-

See also: Button.Animate, Character.Animate, Object.Animating, Object.SetView, Object.StopAnimating

-
-
-
-

Object.GetAtRoomXY

-
static Object* Object.GetAtRoomXY(int x, int y)
-

Checks if there is a room object at ROOM co-ordinates (X,Y). Returns the object if there is, or null if there is not.

-

NOTE: When looking up for an object under coordinates, GetAtRoomXY is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
if (Object.GetAtRoomXY(oBullet.x, oBullet.y) == oWall) {
-    Display("A bullet hits the wall.");
-}
-

will display the message if the object oBullet is over the object oWall.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Object.GetAtScreenXY, Character.GetAtRoomXY, Hotspot.GetAtRoomXY, Region.GetAtRoomXY, Game.GetLocationName, GetLocationType

-
-
-
-

Object.GetAtScreenXY

-

(Formerly known as global function GetObjectAt, which is now obsolete)

-
static Object* Object.GetAtScreenXY(int x, int y)
-

Checks if there is a room object at SCREEN co-ordinates (X,Y). Returns the object if there is, or null if there is not.

-

NOTE: When looking up for an object under coordinates, GetAtScreenXY is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
if (Object.GetAtScreenXY(mouse.x, mouse.y) == oRock) {
-    Display("Clicked on the rock.");
-}
-

will display the message if there is the object oRock under the mouse cursor.

-

See also: Object.GetAtRoomXY, Character.GetAtScreenXY, Hotspot.GetAtScreenXY, Region.GetAtScreenXY, Game.GetLocationName, GetLocationType

-
-
-
-

Object.GetByName

-
static Object* Object.GetByName(string scriptName)
-

Returns a pointer to the Object with the specified script name, or null if it does not exist.

-

Normally you do not need to use this, as there will be a automatically created global script variable for each Object which got a script name. Where GetByName() function may come useful is situation in which you a) do not know exact name, b) had to store object's reference in a string for some reason. Good examples of this are saving object's name in a custom property, or a file, then reading it back.

-

Example:

-
void on_event(EventType event, int data) {
-  if(event == eEventEnterRoomBeforeFadein) {
-
-    String hauntedObjectName = player.GetTextProperty("haunted-object");
-
-    Object* hauntedObject = Object.GetByName(hauntedObjectName);
-    if (hauntedObject != null) {
-      // Do something special if the room has an object the player haunts
-      hauntedObject.Transparency = 50;
-      hauntedObject.Clickable = false;
-    }
-  }
-}
-

In this example, the player has a custom property that stores the script name of room objects it's haunted by, and if a room has said object, that object becomes haunted - in the example it just becomes "ghostly": non-clickable and transparent.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Object.ScriptName, Object.GetAtRoomXY, Object.GetAtScreenXY

-
-
-
-

Object.GetProperty

-

(Formerly known as GetObjectProperty, which is now obsolete)

-
Object.GetProperty(string property)
-

Returns the custom property setting of the PROPERTY for the specified object.

-

This command works with Number properties (it returns the number), and with Boolean properties (returns 1 if the box was checked, 0 if not).

-

Use the equivalent GetTextProperty function to get a text property.

-

Example:

-
if (object[0].GetProperty("Value") > 200)
-    Display("Object 0's value is over 200!");
-

will print the message if object 0 has its "Value" property set to more than 200.

-

See also: Object.GetTextProperty

-
-
-
-

Object.GetTextProperty

-

(Formerly known as GetObjectPropertyText, which is now obsolete)
(Formerly known as Object.GetPropertyText, which is now obsolete)

-
String Object.GetTextProperty(string property)
-

Returns the custom property setting of the PROPERTY for the specified object.

-

This command works with Text properties only. The property's text will be returned from this function.

-

Use the equivalent GetProperty function to get a non-text property.

-

Example:

-
String description = object[0].GetTextProperty("Description");
-Display("Object 0's description: %s", description);
-

will retrieve Object 0's "description" property then display it.

-

See also: Object.GetProperty

-
-
-
-

Object.SetProperty

-
bool Object.SetProperty(const string property, int value)
-

Sets the new value for the custom property for the specified room object. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Number properties (it sets the numeric value), and with Boolean properties (sets FALSE is value is equal to 0, or TRUE otherwise).

-

Use the equivalent SetTextProperty function to set new text property value.

-

Example:

-
oTable.SetProperty("ItemCapacity", 5);
-

will change Table's "ItemCapacity" custom property to 5.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Object.SetTextProperty

-
-
-
-

Object.SetTextProperty

-
void Object.SetTextProperty(const string property, const string value)
-

Sets the new value text for the custom property for the specified room object.

-

This command works with Text properties only. The property's text will be changed to new value.

-

Use the equivalent SetProperty function to set a non-text property.

-

Example:

-
oTable.SetTextProperty("Description", "A dull furniture");
-

will change table's "description" property.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Object.SetProperty

-
-
-
-

Object.IsCollidingWithObject

-

(Formerly known as AreObjectsColliding, which is now obsolete)

-
bool Object.IsCollidingWithObject(Object* obj2)
-

Checks if the specified object and OBJ2 are touching each other. Returns true if they are, and false if they are not.

-

NOTE: This function only performs a rectangular check, even when pixel-perfect click detection is turned on.

-

Example:

-
if (object[2].IsCollidingWithObject(object[3]))
-{
-    Display("object 2 and 3 are colliding!");
-}
-

will display the message if the objects 2 and 3 are colliding.

-

See also: AreThingsOverlapping

-
-
-
-

Object.IsInteractionAvailable

-
Object.IsInteractionAvailable(CursorMode)
-

Checks whether there is an event handler defined for activating the room object in cursor mode MODE.

-

This function is very similar to RunInteraction, except that rather than run the event handler script function, it simply returns true if something would have happened, or false if unhandled_event would have been run.

-

Example:

-
if (oDoor.IsInteractionAvailable(eModeInteract) == 0)
-    Display("interacting with this door would not do anything.");
-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: IsInteractionAvailable, Object.RunInteraction

-
-
-
-

Object.MergeIntoBackground

-

(Formerly known as MergeObject, which is now obsolete)

-
Object.MergeIntoBackground()
-

Merges the object into the background scene for this room. This means that the object's image will be painted onto the room background and then object is turned off permanently (will no longer be displayed and may not be interacted with). This is a 1-way operation - once the object has been merged, it cannot be changed back. Therefore you should only use this function if a game event has occurred that means the room is permanently changed.

-

NOTE: this is an old function that was meant primarily for optimizing the game on ancient computers. Today it is not necessary. If you desire to make object not-interactable, the good solution is to make it not-clickable by setting Object.Clickable property to false. Similar effect may be achieved by painting object's graphic onto the room background using its DrawingSurface, and then setting Object.Visible to false.

-

NOTE: objects can only be merged if the object graphic was imported at the same color depth as the background graphic.

-

Example:

-
object[3].MergeIntoBackground();
-

will merge the object's image into the room's background image and make the object unusable.

-
-
-
-

Object.Move

-

(Formerly known as MoveObject, which is now obsolete)
(Formerly known as MoveObjectDirect, which is now obsolete)

-
Object.Move(int x, int y, int speed, optional BlockingStyle,
-            optional WalkWhere);
-

Starts the object moving from its current location to (X,Y). It will move at speed SPEED, which uses the same scale as the character Walk Speed values in the AGS Editor.

-

If BlockingStyle is eNoBlock (the default), then control returns to the script immediately, and the object will move in the background.

-

If BlockingStyle is eBlock then this command will wait for the object to finish moving before your script resumes.

-

If WalkWhere is eWalkableAreas (the default), then the object will attempt to get as close a possible to (X,Y) by using the room's walkable areas.

-

If WalkWhere is eAnywhere, then the object will simply walk directly from its current location to (X,Y), ignoring the room walkable areas.

-

Example:

-
object[2].Move(125, 40, 4, eBlock);
-

will move object 2 to 125,40 and return control to the player when the object gets there.

-

See also: Object.Moving, Character.Walk, Object.StopMoving

-
-
-
-

Object.RemoveTint

-

(Formerly known as RemoveObjectTint, which is now obsolete)

-
Object.RemoveTint()
-

Undoes the effects of calling Tint, and returns the object to using the room's ambient tint.

-

Example:

-
object[1].Tint(0, 250, 0, 30, 100);
-Wait(40);
-object[1].RemoveTint();
-

will tint object 1 green for a second, then turn it back to normal.

-

See also: Object.Tint

-
-
-
-

Object.RunInteraction

-

(Formerly known as RunObjectInteraction, which is now obsolete)

-
Object.RunInteraction(CursorMode)
-

Runs the event handler as if the player had clicked the mouse on the object in the current room, using the specified cursor mode.

-

Example:

-
object[3].RunInteraction(eModeInteract);
-

will execute the code defined in object 3's "Interact with object" event handler.

-

See also: Room.ProcessClick, Object.IsInteractionAvailable, Character.RunInteraction, Hotspot.RunInteraction

-
-
-
-

Object.SetLightLevel

-
void Object.SetLightLevel(int light_level)
-

Sets individual light level for this room object.

-

The light level is from -100 to 100.

-

In 8-bit games you cannot use positive light level for brightening effect, but you may still use negative values to produce darkening effect.

-

To disable object lighting and tinting effects, call SetLightLevel with parameter light_level 0.

-

NOTE: Setting a light level will disable any RGB tint set for the object.

-

NOTE: Object's individual light level OVERRIDES both ambient light level and local region light level.

-

Example:

-
oLamp.LightLevel = 100;
-

This will give the lamp maximal individual brightness.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Object.Tint, SetAmbientLightLevel, Character.SetLightLevel, Region.LightLevel

-
-
-
-

Object.SetPosition

-

(Formerly known as SetObjectPosition, which is now obsolete)

-
Object.SetPosition(int x, int y)
-

Changes the object's position to (X,Y). These co-ordinates specify the lower-left hand corner of the object.

-

This command is equivalent to setting the object.X and object.Y separately, but provides a more convenient way of doing so.

-

NOTE: This command cannot be used while the object is moving.

-

Example:

-
object[2].SetPosition(50, 100);
-

will change object's 2 position to 50,100.

-

See also: Object.X, Object.Y

-
-
-
-

Object.SetView

-

(Formerly known as SetObjectFrame, which is now obsolete)
(Formerly known as SetObjectView, which is now obsolete)

-
Object.SetView(int view, optional int loop, optional int frame)
-

Sets the object's view to VIEW, and changes the object's graphic to FRAME of LOOP in VIEW. If you do not supply the loop or frame:

-
    -
  • since AGS 3.6.0: the loop and/or frame are reset to 0;
  • -
  • in earlier versions they would be left at values they had before SetView was called.
  • -
-

You must use this command before calling Animate, so that AGS knows which view to animate the object with.

-

NOTE: this may be unexpected, but calling this function will play any sound linked to the given frame. This is because SetView may also be used to manually switch between frames without using Animate command.

-

Example:

-
object[3].SetView(14);
-object[1].SetView(5, 2, 1);
-

will change object 3's view to view number 14 while resetting to loop 0 and frame 0 of that view, and change object 1 to view 5, loop 2, frame 1.

-

See also: Object.Animate Object.Frame Object.Loop Object.View

-
-
-
-

Object.StopAnimating

-
Object.StopAnimating()
-

Stops the object from animating. It will remain on its current frame until you change it or start a new animation.

-

Example:

-
if (object[2].Animating) {
-    object[2].StopAnimating();
-}
-

will stop object 2 animating if it currently is doing so.

-

See also: Object.Animate, Object.Animating

-
-
-
-

Object.StopMoving

-

(Formerly known as StopObjectMoving, which is now obsolete)

-
Object.StopMoving()
-

Stops the object from moving. It will remain in its current position until any further commands are issued.

-

Example:

-
if (object[2].Moving) {
-    object[2].StopMoving();
-}
-

will stop object 2 moving if it currently is doing so.

-

See also: Object.Moving, Object.Move, Character.StopMoving

-
-
-
-

Object.Tint

-

(Formerly known as SetObjectTint, which is now obsolete)

-
Object.Tint(int red, int green, int blue,
-            int saturation, int luminance)
-

Tints the object on the screen to (RED, GREEN, BLUE) with SATURATION percent saturation.

-

This function applies a tint to a specific object. For the meaning of all the parameters, see SetAmbientTint.

-

The tint set by this function overrides any ambient tint set for the room. For this reason, passing the SATURATION as 0 to this function does not turn it off - rather, it ensures that no tint is applied to the object (even if an ambient tint is set).

-

To remove the tint set by this function and return to using the ambient tint for this object, call RemoveTint.

-

NOTE: This function only works in hi-color games and with hi-color sprites.

-

Example:

-
object[1].Tint(0, 250, 0, 30, 100);
-

will tint object 1 green.

-

See also: Object.RemoveTint, SetAmbientTint

-
-
-
-

Object.Animating

-

(Formerly known as IsObjectAnimating, which is now obsolete)

-
readonly bool Object.Animating
-

Returns 1 if the specified object is currently animating.
Returns 0 if the object has finished its animation.

-

This property is read-only. To change object animation, use the Animate command.

-

Example:

-
object[2].Animate(5, 0);
-while (object[2].Animating) Wait(1);
-

will animate object 2 and wait until the animation finishes.

-

In reality, you would simply use the Blocking parameter of Animate so you wouldn't need to do this.

-

See also: Object.Animate, Object.Moving, Object.StopAnimating, Object.X, Object.Y

-
-
-
-

Object.AnimationVolume

-
int Object.AnimationVolume
-

Gets/sets the object's animation sound volume, which is a relative volume (0-100) of frame-linked sounds that play during object's animations.

-

NOTE: all the volume properties in Object act as relative factors: these are AnimationVolume, "volume" parameter of Animate function. The final frame sound's volume will be equal to sound volume * AnimationVolume % * Animate's volume param % when Animate is called.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

SeeAlso: Object.Animate, Object.SetView, Object.View

-
-
-
-

Object.Baseline

-

(Formerly known as GetObjectBaseline, which is now obsolete)
(Formerly known as SetObjectBaseline, which is now obsolete)

-
int Object.Baseline
-

Gets/sets the object's baseline. This allows you to modify the line you can set in the editor. You can disable the baseline (and revert to using the base of the object's image on the screen) by setting it to 0.

-

Otherwise, set it to the Y screen co-ordinate you want to use, normally from 1 to 200 unless you have a taller than usual room.

-

If you want to get the baseline and it returns 0, then the baseline is the object's Y co-ordinate.

-

IMPORTANT: If two or more Objects (or Characters, and so on) have equal Baseline, their draw order is undefined, and should not be relied upon. This is because of how sprite sorting is done in the engine.

-

Example:

-
object[4].Baseline = 100;
-

will change object's 4 baseline to a line positioned at y coordinate 100.

-

See also: Character.Baseline, Object.Y, SetWalkBehindBase

-
-
-
-

Object.BlockingHeight

-
int Object.BlockingHeight
-

Gets/sets the object's blocking height.

-

The blocking height determines how large of a blocking rectangle the object exerts to stop characters walking through it. If this is set to 0 (the default), then the blocking rectangle is automatically calculated to be the object's width, and 5 pixels high.

-

You can manually change the setting by entering a blocking height in pixels, which is the size of walkable area that the object effectively removes by being there.

-

NOTE: This property has no effect unless the Solid property is set to true.

-

Example:

-
oRock.BlockingHeight = 20;
-

will make the Rock object block 20 pixels high (10 above and 10 below its baseline)

-

See also: Object.BlockingWidth, Object.Solid

-
-
-
-

Object.BlockingWidth

-
int Character.BlockingWidth
-

Gets/sets the object's blocking width.

-

The blocking width determines how large of a blocking rectangle the object exerts to stop characters walking through it. If this is set to 0 (the default), then the blocking rectangle is automatically calculated to be the object's width, and 5 pixels high.

-

You can manually change the setting by entering a blocking width in pixels, which is the size of walkable area that the object effectively removes by being there.

-

NOTE: This property has no effect unless the Solid property is set to true.

-

Example:

-
oRock.BlockingWidth = 50;
-

will make the Rock object block 50 pixels wide (25 pixels to the left of its center, and 25 to the right)

-

See also: Object.BlockingHeight, Object.Solid

-
-
-
-

Object.Clickable

-

(Formerly known as SetObjectClickable, which is now obsolete)

-
bool Object.Clickable
-

Gets/sets whether the object is recognized as something which the player can interact with.

-

If this is set to 1, then the player can look at, speak to, and so on the object. If it is set to 0, then the object will not respond to clicks and the mouse will activate whatever is behind the object. This is useful if you are using the object for visual effects and don't want it to be clicked on by the player.

-

Example:

-
object[2].Clickable = 0;
-

will make object 2 ignore clicks from the player.

-

See also: Object.Visible, Character.Clickable, Hotspot.Enabled, Region.Enabled, RemoveWalkableArea, RestoreWalkableArea

-
-
-
-

Object.Frame

-
readonly int Object.Frame
-

Gets the frame number that the object is currently set to. If the object is not currently assigned a view, this will be 0 (in which case the Graphic property will hold its sprite number).

-

This property is read-only. To change the frame, use the animation functions.

-

Example:

-
Display("Object oDoor's frame is currently %d.", oDoor.Frame);
-

will display the oDoor object's current frame number

-

SeeAlso: Object.Graphic, Object.Loop, Object.View

-
-
-
-

Object.Graphic

-

(Formerly known as GetObjectGraphic, which is now obsolete)
(Formerly known as SetObjectGraphic, which is now obsolete)

-
int Object.Graphic
-

Gets/sets the sprite slot number that the object is currently displayed as. You can get the slot number from the Sprite Manager. If the object is currently animating (from an Animate command) and you change the Graphic, then the animation will be stopped.

-

Example:

-
object[2].Graphic = 100;
-

will change the object 2's image to the image stored in the sprite manager's slot 100.

-

See also: Object.SetView

-
-
-
-

Object.HasExplicitLight

-
readonly bool Object.HasExplicitTint
-

Returns true if the object has a light set explicitly with the Object.SetLightLevel command.

-

Returns false if the object has no explicit light level, but it may still be lighted by SetAmbientLightLevel or a region light.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

SeeAlso: Object.SetLightLevel

-
-
-
-

Object.HasExplicitTint

-
readonly bool Object.HasExplicitTint
-

Returns true if the object has a tint set explicitly with the Object.Tint command.

-

Returns false if the object has no explicit tint, but it may still be tinted by SetAmbientTint or a region tint.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

SeeAlso: Object.Tint, Object.RemoveTint

-
-
-
-

Object.ID

-
readonly int Object.ID
-

Gets the object's ID number. This is the object's number from the editor, and is useful if you need to interoperate with legacy code that uses the object's number rather than name.

-

Example:

-
MoveObject(oRock.ID, 100, 50, 5);
-

uses the obsolete MoveObject function to move the Rock object to (100, 50) at speed 5.

-
-
-
-

Object.ManualScaling

-

(Formerly known as Object.IgnoreScaling, which is now obsolete)

-
bool Object.ManualScaling
-

Gets/sets whether the object uses manually specified scaling instead of using the walkable area scaling. This is equivalent, though opposite, to the "UseRoomAreaScaling" property in the Objects pane of the editor.

-

If it is set to false, then the object will be stretched or shrunk as appropriate on walkable areas.

-

If this is set to true, the object scaling will instead be set by modifying it's Scaling property.

-

Example:

-
oDoor.ManualScaling = true;
-

will tell the Door object not to be scaled on walkable areas.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Object.Scaling

-
-
-
-

Object.IgnoreWalkbehinds

-

This property is obsolete since AGS 3.5.0 and not recommended for use at all.

-

(Formerly known as SetObjectIgnoreWalkbehinds, which is now obsolete)

-
bool Object.IgnoreWalkbehinds
-

Sets whether the object is affected by walkbehind areas. Setting this to false (the default setting) means that the object will be placed behind walk-behind areas according to the relevant baselines.

-

If this is set to true, then the object will never be placed behind a walk-behind area. This is useful if for example you want an object to be a picture on a wall, and the wall can be walked behind - but you also want it to act correctly in relation to characters, so changing its baseline wouldn't work.

-

IMPORTANT: This property is a "dirty hack" and not recommended for use at all. It breaks the logic of drawing order for room elements, and only works as intended if your game is run using Software graphics driver. We strongly suggest to design your rooms without it and rely on Baseline property instead.

-
-
-
-

Object.LightLevel

-
readonly int Object.LightLevel
-

If the object has an individual light set explicitly with the Object.SetLightLevel command, this property returns the light level value. Otherwise it returns 0.

-

NOTE: without individual light level set, Object.LightLevel returns 0 even if the object is affected by the ambient or region's light.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

SeeAlso: Object.SetLightLevel, SetAmbientLightLevel,

-
-
-
-

Object.Loop

-
readonly int Object.Loop
-

Gets the loop that the object is currently set to. If the object is not currently assigned a view, this will be 0 (in which case the Graphic property will hold its sprite number).

-

This property is read-only. To change the loop, use the animation functions.

-

Example:

-
Display("Object oDoor's loop is currently %d.", oDoor.Loop);
-

will display the oDoor object's current loop number

-

SeeAlso: Object.Frame, Object.Graphic, Object.View

-
-
-
-

Object.Moving

-

(Formerly known as IsObjectMoving, which is now obsolete)

-
readonly bool Object.Moving
-

Returns 1 if the object is currently moving, or 0 if not.

-

This property is read-only; to change the object's movement, use the Move and StopMoving commands.

-

Example:

-
object[2].Move(125,40,3);
-while (object[2].Moving) Wait(1);
-

will move object 2 to 125,40 and return control to the player when the object gets there.

-

See also: Object.Animating, Object.StopMoving

-
-
-
-

Object.Name

-

(Formerly known as GetObjectName, which is now obsolete)
(Formerly known as Object.GetName, which is now obsolete)

-
String Object.Name;
-

Gets/sets the name of the object.

-

NOTE: This property may be changed only in AGS versions 3.6.0 or higher. It is read-only in earlier versions.

-

Example:

-
Display("Object 0's name is %s.", object[0].Name);
-

will retrieve and then display object 0's name.

-

See also: Game.GetLocationName

-
-
-
-

Object.ScriptName

-
readonly String Object.ScriptName;
-

Gets the script name of the Object, which serves as a unique identifier, as set in the AGS Editor.

-

This may be useful if you have a pointer to some object stored in your variable, and want to know what it actually is. Normally you don't need a script name, as you have an automatic global variable for each object in the game, but sometimes you may want to save its script name as a text either to display it somewhere for testing purposes, or keep as a reference. You may later use Object.GetByName function to retrieve the object by the previously saved script name.

-

Example:

-
function Touch(this Object*)
-{
-  System.Log(eLogInfo, "You touched %s.", this.ScriptName);
-  // Do things when object is touched
-}
-

In this example all objects gain a new method Touch, that can be called using oName.Touch(), that will log the script name of the touched object.

-

Compatibility: Supported by AGS 3.6.1 and later versions.

-

See also: Object.GetByName, Object.Name

-
-
-
-

Object.Scaling

-
int Object.Scaling
-

Gets/sets the object's current scaling level, in percents. The permitted value range is 1 to 32767. An object that has the regular size has this property set to 100.

-

You can only set the value of this property if Object.ManualScaling is enabled for the object; otherwise, the scaling is determined automatically based on the walkable area that the object is on.

-

This property returns the actual current scaling at any given moment, whether it was set by you or acquired from the walkable area.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Object.ManualScaling

-
-
-
-

Object.Solid

-
bool Object.Solid
-

Gets/sets whether the object can be walked through by characters.

-

If this is set to true, then the object is solid and will block the path of solid characters. If this is set to false, then the object can be walked through by characters.

-

NOTE: solid objects only block characters, they don't block other objects from moving through them.

-

Example:

-
oSmallrock.Solid = true;
-

will mean that the Smallrock object blocks the path of characters.

-

See also: Object.BlockingHeight, Object.BlockingWidth

-
-
-
-

Object.TintBlue

-
readonly int Object.TintBlue
-

Gets the Blue setting for the object's current tint.

-

This property is read-only; to change it, use the Object.Tint command.

-

NOTE: If the Object.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Object.Tint, Object.HasExplicitTint, Object.TintGreen, Object.TintRed, Object.TintLuminance

-
-
-
-

Object.TintGreen

-
readonly int Object.TintGreen
-

Gets the Green setting for the object's current tint.

-

This property is read-only; to change it, use the Object.Tint command.

-

NOTE: If the Object.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Object.Tint, Object.TintBlue, Object.TintRed, Object.TintSaturation, Object.TintLuminance

-
-
-
-

Object.TintRed

-
readonly int Object.TintRed
-

Gets the Red setting for the object's current tint.

-

This property is read-only; to change it, use the Object.Tint command.

-

NOTE: If the Object.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Object.Tint, Object.TintBlue, Object.TintGreen, Object.TintSaturation, Object.TintLuminance

-
-
-
-

Object.TintSaturation

-
readonly int Object.TintSaturation
-

Gets the saturation setting for the object's current tint.

-

This property is read-only; to change it, use the Object.Tint command.

-

NOTE: If the Object.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Object.Tint, Object.TintBlue, Object.TintGreen, Object.TintRed, Object.TintLuminance

-
-
-
-

Object.TintLuminance

-
readonly int Object.TintLuminance
-

Gets the luminance setting for the object's current tint.

-

This property is read-only; to change it, use the Object.Tint command.

-

NOTE: If the Object.HasExplicitTint property is false, then this value is meaningless.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-

See also: Object.Tint, Object.TintBlue, Object.TintGreen, Object.TintRed, Object.TintSaturation

-
-
-
-

Object.Transparency

-

(Formerly known as SetObjectTransparency, which is now obsolete)

-
int Object.Transparency
-

Gets/sets the object's transparency level.

-

If this is set to 100, it means that the object is totally invisible, and lower values represent varying levels of transparency. Set this to 0 to stop the object being transparent.

-

NOTE: Transparency only works in 16-bit and 32-bit color games.

-

NOTE: When using the DirectX 5 driver, a large transparent object can significantly slow down AGS.

-

Some rounding is done internally when the transparency is stored -- therefore, if you get the transparency after setting it, the value you get back might be one out. Therefore, using a loop with object[0].Transparency++; is not recommended as it will probably end too quickly.

-

In order to fade an object in/out, the best approach is shown in the example below:

-

Example:

-
int trans = object[0].Transparency;
-while (trans < 100) {
-    trans++;
-    object[0].Transparency = trans;
-    Wait(1);
-}
-

will gradually fade out the object from its current transparency level to being fully invisible.

-

See also: Character.Transparency, GUI.Transparency

-
-
-
-

Object.View

-
readonly int Object.View
-

Gets the view that the object is currently set to. This is either the view number, or 0 if the object is not currently assigned a view (in which case the Graphic property will hold its sprite number instead).

-

This property is read-only. To change the view, use the SetView function. To remove the view, set the Graphic property to a sprite slot.

-

Example:

-
Display("Object oDoor's view is currently view %d.", oDoor.View);
-

will display the oDoor object's current view number

-

SeeAlso: Object.SetView, Object.Graphic, Object.Loop, Object.Frame

-
-
-
-

Object.Visible

-

(Formerly known as IsObjectOn, which is now obsolete)
(Formerly known as ObjectOff, which is now obsolete)
(Formerly known as ObjectOn, which is now obsolete)

-
bool Object.Visible
-

Gets/sets the visible state of the object. If this is 1 (true), the object is switched on and visible in the room. If you set this to 0 (false), the object disappears and no longer appears in the room.

-

Example:

-
object[5].Visible = false;
-

will make object number 5 in the current room disappear.

-

See also: Object.Clickable,

-
-
-
-

Object.X

-

(Formerly known as GetObjectX, which is now obsolete)

-
int Object.X
-

Gets/sets the X co-ordinate of the object.

-

NOTE: This property cannot be changed while the object is moving.

-

Example:

-
Display("Object 1's X co-ordinate is %d.", object[1].X);
-

will display the X co-ordinate of object 1.

-

See also: Object.Y, Object.Animating, Object.Visible, Object.SetPosition

-
-
-
-

Object.Y

-

(Formerly known as GetObjectY, which is now obsolete)

-
int Object.Y
-

Gets/sets the Y co-ordinate of the object, which is the bottom of the object's image.

-

NOTE: This property cannot be changed while the object is moving.

-

NOTE: If you try to use this co-ordinate with Object.GetAtScreenXY, you will find that the object does not get picked up. The object's sprite is drawn from the Y co-ordinate at (Object.Y - Height) to (Object.Y - 1).

-

Example:

-
Display("Object 1's Y co-ordinate is %d.", object[1].Y);
-

will display the Y co-ordinate of object 1.

-

See also: Object.Animating, Object.Baseline, Object.X, Object.SetPosition

-
-
-
- - - - - -
- - diff --git a/ObsoleteScriptAPI.html b/ObsoleteScriptAPI.html deleted file mode 100644 index fd41ea1d3..000000000 --- a/ObsoleteScriptAPI.html +++ /dev/null @@ -1,1860 +0,0 @@ - - - - - - - Obsolete Script API - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Obsolete Script API

-

As new versions of AGS are released this sometimes bring changes to the script commands. Following table lists the functions and variables removed from the Script API, their replacements (when available) and the version in which the change took place.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Obsolete APISuperseded byObsoleted in Version
AddInventoryCharacter.AddInventory
AddInventoryToCharacterCharacter.AddInventory
AnimateCharacterCharacter.Animate
AnimateCharacterExCharacter.Animate
AnimateObjectObject.Animate
AnimateObjectExObject.Animate
AreCharactersCollidingCharacter.IsCollidingWithChar
AreCharObjCollidingCharacter.IsCollidingWithObject
AreObjectsCollidingObject.IsCollidingWithObject
Button.GetTextButton.Text
Button.SetTextButton.Text
CDAudioUse AudioClips
CentreGUIGUI.Centre
ChangeCharacterViewCharacter.ChangeView
ChangeCursorGraphicMouse.ChangeModeGraphic
ChangeCursorHotspotMouse.ChangeModeHotspot
Character.GetPropertyTextCharacter.GetTextProperty
Character.IgnoreWalkbehindsdesign your rooms without it and rely on Character.Baseline instead3.5.0
Character.IgnoreScalingCharacter.ManualScaling
character[].activeinvCharacter.ActiveInventory
character[].animatingCharacter.Animating
character[].animspeedCharacter.AnimationSpeed
character[].defviewCharacter.NormalView
character[].frameCharacter.Frame
character[].invCharacter.InventoryQuantity[]
character[].loopCharacter.Loop
character[].nameCharacter.Name
character[].prevroomCharacter.PreviousRoom
character[].roomCharacter.Room
character[].talkviewCharacter.SpeechView
character[].thinkviewCharacter.ThinkView
character[].walkingCharacter.Moving
CreateGraphicOverlayOverlay.CreateGraphical
CreateTextOverlayOverlay.CreateTextual
DeleteSpriteDynamicSprite.Delete
DisableCursorModeMouse.DisableMode
DisableHotspotHotspot.Enabled
DisableRegionRegion.Enabled
DisplaySpeechCharacter.Say
DisplaySpeechAtCharacter.SayAt
DisplaySpeechBackgroundCharacter.SayBackground
DisplayThoughtCharacter.Think
DrawingSurface.UseHighResCoordinatesThis property was used to multiply the coordinates by 2 in 640x400/480 resolution games.3.5.0
EnableCursorModeMouse.EnableMode
EnableHotspotHotspot.Enabled
EnableRegionRegion.Enabled
FaceCharacterCharacter.FaceCharacter
FaceLocationCharacter.FaceLocation
File.ReadRawLineFile.ReadRawLineBack
File.ReadStringFile.ReadStringBack
FileCloseFile.Close
FileIsEOFFile.EOF
FileOpenFile.Open
FileReadFile.ReadStringBack
FileReadIntFile.ReadInt
FileReadRawCharFile.ReadRawChar
FileReadRawIntFile.ReadRawInt
FileWriteFile.WriteString
FileWriteIntFile.WriteInt
FileWriteRawCharFile.WriteRawChar
FileWriteRawLineFile.WriteRawLine
FollowCharacterCharacter.FollowCharacter
FollowCharacterExCharacter.FollowCharacter
game.close_mouth_end_speech_timeSpeech.AnimationStopTimeMargin
game.in_cutsceneGame.InSkippableCutscene
game.items_per_lineInvWindow.ItemsPerRow
game.num_inv_itemsInvWindow.ItemCount
game.room_heightRoom.Height
game.room_widthRoom.Width
game.skip_speech_specific_keySpeech.SkipKey
game.skipping_cutsceneGame.SkippingCutscene
game.speech_music_dropGame.SetAudioTypeSpeechVolumeDrop
game.speech_text_alignSpeech.TextAlignment
Game.StopSoundGame.StopAudio
game.talkanim_speedSpeech.GlobalSpeechAnimationDelay
game.text_speedGame.TextReadingSpeed
game.top_inv_itemInvWindow.TopItem
Game.GlobalMessageCreate a global array of strings.3.X
GetButtonPicButton.Graphic
GetCharacterAtCharacter.GetAtScreenXY
GetCharacterPropertyCharacter.GetProperty
GetCharacterPropertyTextCharacter.GetTextProperty
GetCurrentMusicAudioChannel.PlayingClip
GetCursorModeMouse.Mode
GetDialogOptionDialog.GetOptionState
GetGameParameter(GP_FRAMExxx)Game.GetViewFrame
GetGameParameter(GP_ISFRAMEFLIPPED)Game.GetViewFrame
GetGameParameter(GP_NUMCHARACTERS)Game.CharacterCount
GetGameParameter(GP_NUMFRAMES)Game.GetFrameCountForLoop
GetGameParameter(gp_numguis)Game.GUICount
GetGameParameter(GP_NUMINVITEMS)Game.InventoryItemCount
GetGameParameter(GP_NUMLOOPS)Game.GetLoopCountForView
GetGameParameter(gp_numobjects)Room.ObjectCount
GetGameParameter(gp_spriteheight)Game.SpriteHeight
GetGameParameter(gp_spritewidth)Game.SpriteWidth
GetGlobalIntGlobal Variables
GetGlobalStringGlobal Variables
GetGraphicalVariableGlobal Variables
GetGUIAtGUI.GetAtScreenXY
GetGUIObjectAtGUIControl.GetAtScreenXY
GetHotspotAtHotspot.GetAtScreenXY
GetHotspotNameHotspot.Name
GetHotspotPointXHotspot.WalkToX
GetHotspotPointYHotspot.WalkToY
GetHotspotPropertyHotspot.GetProperty
GetHotspotPropertyTextHotspot.GetTextProperty
GetInvAtInventoryItem.GetAtScreenXY
GetInvGraphicInventoryItem.Graphic
GetInvNameInventoryItem.Name
GetInvPropertyInventoryItem.GetProperty
GetInvPropertyTextInventoryItem.GetTextProperty
GetLocationNameGame.GetLocationName
GetMessageTextCreate a global array of strings.3.X
GetMIDIPositionAudioChannel.Position
GetMODPatternAudioChannel.Position
GetMP3PosMillisAudioChannel.Position
GetObjectAtObject.GetAtScreenXY
GetObjectBaselineObject.Baseline
GetObjectGraphicObject.Graphic
GetObjectNameObject.Name
GetObjectPropertyObject.GetProperty
GetObjectPropertyTextObject.GetTextProperty
GetObjectXObject.X
GetObjectYObject.Y
GetPlayerCharacterUse player pointer
GetRawTimeDateTime.RawTime
GetRegionAtRegion.GetAtRoomXY
GetRoomPropertyRoom.GetProperty
GetRoomPropertyTextRoom.GetTextProperty
GetSaveSlotDescriptionGame.GetSaveSlotDescription
GetSliderValueSlider.Value
GetTextBoxTextTextBox.Text
GetTimeDateTime.Now
GetTranslationNameGame.TranslationFilename
GetViewportXGame.Camera.X
GetViewportYGame.Camera.Y
GetWalkableAreaAtGetWalkableAreaAtScreen
GUIOffGUI.Visible
GUIOnGUI.Visible
HideMouseCursorMouse.Visible
Hotspot.GetNameHotspot.Name
Hotspot.GetPropertyTextHotspot.GetTextProperty
InputBoxGame.InputBox
InterfaceOffGUI.Visible
InterfaceOnGUI.Visible
InventoryItem.GetNameInventoryItem.Name
InventoryItem.GetPropertyTextInventoryItem.GetTextProperty
InventoryItem.SetNameInventoryItem.Name
InventoryScreencreate your own Inventory GUI
IsButtonDownMouse.IsButtonDown
IsChannelPlayingAudioChannel.IsPlaying
IsGUIOnGUI.Visible
IsInventoryInteractionAvailableInventoryItem.IsInteractionAvailable
IsMusicVoxAvailableAudioClip.IsAvailable
IsObjectAnimatingObject.Animating
IsObjectMovingObject.Moving
IsObjectOnObject.Visible
IsOverlayValidOverlay.Valid
Label.GetTextLabel.Text
Label.SetTextLabel.Text
ListBox.GetItemTextListBox.Items[]
ListBox.HideBorderListBox.ShowBorder
ListBox.HideScrollArrowsListBox.ShowScrollArrows
ListBox.SetItemTextListBox.Items[]
ListBoxAddListBox.AddItem
ListBoxClearListBox.Clear
ListBoxDirListListBox.FillDirList
ListBoxGetItemTextListBox.Items[]
ListBoxGetNumItemsListBox.ItemCount
ListBoxGetSelectedListBox.SelectedIndex
ListBoxRemoveListBox.RemoveItem
ListBoxSaveGameListListBox.FillSaveGameList
ListBoxSetSelectedListBox.SelectedIndex
ListBoxSetTopItemListBox.TopItem
LoadImageFileDynamicSprite.CreateFromFile
LoadSaveSlotScreenshotDynamicSprite.CreateFromSaveGame
LoseInventoryCharacter.LoseInventory
LoseInventoryFromCharacterCharacter.LoseInventory
MergeObjectObject.MergeIntoBackground
MoveCharacterCharacter.Walk
MoveCharacterBlockingCharacter.Walk
MoveCharacterDirectCharacter.Walk
MoveCharacterPathCharacter.AddWaypoint
MoveCharacterStraightCharacter.WalkStraight
MoveCharacterToHotspotCharacter.Walk and Hotspot.WalkToX/Y
MoveCharacterToObjectCharacter.Walk and Object.X/Y
MoveObjectObject.Move
MoveObjectDirectObject.Move
MoveOverlayOverlay.X
MoveToWalkableAreaCharacter.PlaceOnWalkableArea
NewRoomCharacter.ChangeRoom
NewRoomExCharacter.ChangeRoom
NewRoomNPCCharacter.ChangeRoom
Object.GetNameObject.Name
Object.GetPropertyTextObject.GetTextProperty
Object.IgnoreWalkbehindsdesign your rooms without it and rely on Object.Baseline instead3.5.0
ObjectOffObject.Visible
ObjectOnObject.Visible
PlayAmbientSoundAudioChannel.SetRoomLocation
PlayAmbientSoundAudioClip.Play
PlayMP3FileAudioClip.Play
PlayMusicAudioClip.Play
PlayMusicQueuedAudioClip.PlayQueued
PlaySilentMIDIuse AudioClip.Play command and set its Volume property to 0
PlaySoundAudioClip.Play
PlaySoundExAudioClip.Play
ProcessClickRoom.ProcessClick
RawClearScreenDrawingSurface.Clear
RawDrawCircleDrawingSurface.DrawCircle
RawDrawFrameTransparentDrawingSurface.DrawSurface
RawDrawImageDrawingSurface.DrawImage
RawDrawImageResizedDrawingSurface.DrawImage
RawDrawImageTransparentDrawingSurface.DrawImage
RawDrawLineDrawingSurface.DrawLine
RawDrawRectangleDrawingSurface.DrawRectangle
RawDrawTriangleDrawingSurface.DrawTriangle
RawPrintDrawingSurface.DrawString
RawPrintMessageWrappedDrawingSurface.DrawMessageWrapped
RawRestoreScreenDrawingSurface.DrawSurface
RawSaveScreenDrawingSurface.CreateCopy
RawSetColorDrawingSurface.DrawingColor
RawSetColorRGBGame.GetColorFromRGB
RefreshMouseMouse.Update
ReleaseCharacterViewCharacter.UnlockView
ReleaseViewportGame.Camera.AutoTracking
RemoveObjectTintObject.RemoveTint
RemoveOverlayOverlay.Remove
Room.MusicOnLoadUse AudioClip.Play on the room Load event
RunCharacterInteractionCharacter.RunInteraction
RunDialogDialog.Start
RunHotspotInteractionHotspot.RunInteraction
RunInventoryInteractionInventoryItem.RunInteraction
RunObjectInteractionObject.RunInteraction
RunRegionInteractionRunRegionInteraction
SaveCursorForLocationChangeMouse.SaveCursorUntilItLeaves
savegameindex[]ListBox.SaveGameSlots[]
SeekMIDIPositionAudioChannel.Seek
SeekMODPatternAudioChannel.Seek
SeekMP3PosMillisAudioChannel.Seek
SetActiveInventoryCharacter.ActiveInventory
SetAreaLightLevelRegion.LightLevel
SetButtonPicButton.NormalGraphic
SetButtonTextButton.Text
SetChannelVolumeAudioChannel.Volume
SetCharacterBaselineCharacter.Baseline
SetCharacterBlinkViewCharacter.BlinkInterval
SetCharacterBlinkViewCharacter.BlinkView
SetCharacterClickableCharacter.Clickable
SetCharacterFrameCharacter.LockViewFrame
SetCharacterIdleCharacter.SetIdleView
SetCharacterIgnoreLightCharacter.IgnoreLighting
SetCharacterIgnoreWalkbehindsdesign your rooms without it and rely on Character.Baseline instead3.5.0
SetCharacterPropertyCharacter.ManualScaling
SetCharacterPropertyCharacter.DiagonalLoops
SetCharacterPropertyCharacter.ScaleMoveSpeed
SetCharacterPropertyCharacter.Solid
SetCharacterPropertyCharacter.TurnBeforeWalking
SetCharacterSpeechViewCharacter.SpeechView
SetCharacterSpeedCharacter.SetWalkSpeed
SetCharacterSpeedExCharacter.SetWalkSpeed
SetCharacterTransparencyCharacter.Transparency
SetCharacterViewCharacter.LockView
SetCharacterViewExCharacter.LockViewAligned
SetCharacterViewOffsetCharacter.LockViewOffset
SetCursorModeMouse.Mode
SetDefaultCursorMouse.UseDefaultGraphic
SetDialogOptionDialog.SetOptionState
SetDigitalMasterVolumeSystem.Volume
SetFrameSoundViewFrame.LinkedAudio
SetGlobalIntGlobal Variables
SetGlobalStringGlobal Variables
SetGraphicalVariableGlobal Variables
SetGUIBackgroundPicGUI.BackgroundGraphic
SetGUIClickableGUI.Clickable
SetGUIObjectEnabledGUIControl.Enabled
SetGUIObjectPositionGUIControl.SetPosition
SetGUIObjectSizeGUIControl.SetSize
SetGUIPositionGUI.SetPosition
SetGUISizeGUI.SetSize
SetGUITransparencyGUI.Transparency
SetGUIZOrderGUI.ZOrder
SetInvDimensionsInvWindow.ItemHeight
SetInvItemNameInventoryItem.Name
SetInvItemPicInventoryItem.Graphic
SetLabelColorLabel.TextColor
SetLabelFontLabel.Font
SetLabelTextLabel.Text
SetMouseBoundsMouse.SetBounds
SetMouseCursorMouse.UseModeGraphic
SetMousePositionMouse.SetPosition
SetMusicMasterVolumeSystem.Volume
SetMusicRepeatAudioClip.Play
SetMusicVolumeAudioChannel.Volume
SetNextCursorModeMouse.SelectNextMode
SetNormalFontGame.NormalFont
SetObjectBaselineObject.Baseline
SetObjectClickableObject.Clickable
SetObjectFrameObject.SetView
SetObjectGraphicObject.Graphic
SetObjectIgnoreWalkbehindsdesign your rooms without it and rely on Object.Baseline instead3.5.0
SetObjectPositionObject.SetPosition
SetObjectTintObject.Tint
SetObjectTransparencyObject.Transparency
SetObjectViewObject.SetView
SetPlayerCharacterCharacter.SetAsPlayer
SetRegionTintRegion.Tint
SetSkipSpeechSpeech.SkipStyle
SetSliderValueSlider.Value
SetSoundVolumeGame.SetAudioTypeVolume
SetSpeechFontGame.SpeechFont
SetSpeechStyleSpeech.Style
SetTalkingColorCharacter.SpeechColor
SetTextBoxFontTextBox.Font
SetTextBoxTextTextBox.Text
SetTextOverlayOverlay.SetText
SetViewportGame.Camera.SetAt3.5.0
SetVoiceModeSpeech.VoiceMode
ShowMouseCursorMouse.Visible
StopAmbientSoundAudioChannel.Stop
StopChannelAudioChannel.Stop
StopMovingCharacter.StopMoving
StopMusicGame.StopAudio
StopObjectMovingObject.StopMoving
StrCaseCompString.CompareTo
StrCatString.Append
StrCompString.CompareTo
StrContainsString.IndexOf
StrCopyString.Copy
StrFormatString.Format
StrGetCharAtString.Chars[]
String.ContainsString.IndexOf
StringToIntString.AsInt
StrLenString.Length
StrSetCharAtString.ReplaceCharAt
StrToLowerCaseString.LowerCase
StrToUpperCaseString.UpperCase
system.color_depthSystem.ColorDepth
system.osSystem.OperatingSystem
System.ScreenHeightScreen.Height3.5.0
System.ScreenWidthScreen.Width3.5.0
system.versionSystem.Version
System.ViewportHeightScreen.Height3.5.0
System.ViewportWidthScreen.Width3.5.0
system.vsyncSystem.Vsync
system.windowedSystem.Windowed
TextBox.GetTextTextBox.Text
TextBox.SetTextTextBox.Text
ViewFrame.SoundViewFrame.LinkedAudio
-
-
- - - - - -
- - diff --git a/OtherFeatures.html b/OtherFeatures.html deleted file mode 100644 index 2262ea303..000000000 --- a/OtherFeatures.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - Other Features - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Other Features

-

This section describes AGS features that were not covered in the tutorial.

- -
-
- - - - - -
- - diff --git a/Overlay.html b/Overlay.html deleted file mode 100644 index 7b1e340d4..000000000 --- a/Overlay.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - Overlay functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Overlay functions and properties

-

The overlays are simple sprite placeholders, they are created in script, and display images on screen. They cannot be interacted with by player, nor interact with other game objects. This makes them ideal for creating temporary visual effects. But they also may be used to script a custom object from ground up; that may involve some advanced scripting though.

-

Overlays may be created as screen overlays and room overlays. This defines the visual layer they are positioned in, and which other game objects they are visually sorted with.

-
-
-

Overlay.CreateGraphical

-

(Formerly known as CreateGraphicOverlay, which is now obsolete)

-
static Overlay* Overlay.CreateGraphical(int x, int y, int slot, optional bool transparent, optional bool clone)
-

Creates a screen overlay using an image from SLOT sprite. The image is placed at (X,Y) in the screen coordinates.

-

The screen overlays are positioned in the screen graphic layer, and are visually sorted among other screen overlays and GUI using overlay's ZOrder property.

-

If transparent is true then the overlay will be drawn in the same way as characters/objects, if it is false then a black rectangle will be painted behind the sprite. Default value is "true". NOTE: for "historical reasons", transparent parameter works only in 8-bit games, and does not work in 16-bit and 32-bit games at all, so it's currently useless there.

-

If clone is true then the overlay will make a copy of the SLOT image, otherwise it will create a shared reference, similar to how room objects or characters do. Default value is "false". In practice this only makes a difference if you are creating an overlay from the DynamicSprite: if you make a copy then the original dynamic sprite is safe to discard; also any changes to dynamic sprite will be applied to overlay only if it uses shared reference (no copy). If you create alot of overlays, sharing (non copying) may improve game's perfomance and decrease the memory requirements. For the same perfomance reasons regular sprites are never copied, regardless of this parameter's value (because they cannot be deleted or edited at runtime).

-

NOTE: if you are using a DynamicSprite when creating an overlay, and not copying the image, then you have to make sure the sprite is not deleted so long as overlay stays on screen, or overlay's image will reset to sprite 0.

-

NOTE: if the Overlay variable goes out of scope, the overlay will be removed. Hence, if you want the overlay to last on-screen outside of the script function where it was created, the Overlay* variable declaration needs to be at the top of the script and outside any script functions.

-

NOTE: if the player goes to a different room all active overlays are removed automatically.

-

Example:

-
Overlay* myOverlay = Overlay.CreateGraphical(100, 100, 300);
-Wait(40);
-myOverlay.Remove();
-

will create an overlay using sprite number 300, at the coordinates 100,100. It will display for 1 second, then remove it.

-

See also: Overlay.CreateRoomGraphical, Overlay.CreateTextual, Overlay.CreateRoomTextual, Overlay.Remove, Overlay.Graphic

-
-
-
-

Overlay.CreateRoomGraphical

-
static Overlay* Overlay.CreateRoomGraphical(int x, int y, int slot, optional bool transparent, optional bool clone)
-

Creates a room overlay using an image from SLOT sprite. The image is placed at (X,Y) in the screen coordinates.

-

The room overlays are positioned in the room graphic layer, and are visually sorted among other room overlays, characters, room objects and walk-behinds using overlay's ZOrder property, similar to how other objects in rooms use Baseline property.

-

All the parameters and use are identical to Overlay.CreateGraphical function, please refer to its description for more details.

-

NOTE: as overlays are a simplistic kind of object that does not have any automated behavior, it won't interact with anything inside the room, and won't change its z-order according to its Y coordinate automatically, unlike characters and room objects. If you'd like room overlay to change its "baseline" along with its vertical position, you will have to do something like this in global or room's "repeatedly execute" script function:

-
over.ZOrder = over.Y + over.Height;
-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.CreateGraphical, Overlay.CreateTextual, Overlay.CreateRoomTextual, Overlay.Remove, Overlay.Graphic

-
-
-
-

Overlay.CreateRoomTextual

-
static Overlay* Overlay.CreateRoomTextual(int x, int y, int width,
-                                          FontType font, int color, string text)
-

Creates a room overlay containing the text you pass at the position specified. This overlay looks identical to the way speech text is displayed in conversations, except that with this command the text stays on the screen until either you remove it with the Remove command, or the player goes to a different room, in which case it is automatically removed.

-

The room overlays are positioned in the room graphic layer, and are visually sorted among other room overlays, characters, room objects and walk-behinds using overlay's ZOrder property, similar to how other objects in rooms use Baseline property.

-

All the parameters and use are identical to Overlay.CreateTextual function, please refer to its description for more details.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.CreateGraphical, Overlay.CreateRoomGraphical, Overlay.CreateTextual, Overlay.Remove

-
-
-
-

Overlay.CreateTextual

-

(Formerly known as CreateTextOverlay, which is now obsolete)

-
static Overlay* Overlay.CreateTextual(int x, int y, int width,
-                                      FontType font, int color, string text)
-

Creates a screen overlay containing the text you pass at the position specified. A screen overlay looks identical to the way speech text is displayed in conversations, except that with this command the text stays on the screen until either you remove it with the Remove command, or the player goes to a different room, in which case it is automatically removed.

-

The screen overlays are positioned in the screen graphic layer, and are visually sorted among other screen overlays and GUI using overlay's ZOrder property.

-

The X and Y parameters specify the upper-left corner of where the text will be written. WIDTH is the width, in pixels, of the text area. FONT is the font number from the editor to use (0 is the normal font, 1 is the speech font). COLOR is the text color - use one of the colors from 1 to 15. Finally, TEXT is obviously the text that gets displayed.

-

The function returns the Overlay, which you use later to reposition and remove the overlay.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

NOTE: if the Overlay variable goes out of scope, the overlay will be removed. Hence, if you want the overlay to last on-screen outside of the script function where it was created, the Overlay* variable declaration needs to be at the top of the script and outside any script functions.

-

NOTE: if the player goes to a different room all active overlays are removed automatically.

-

Example:

-
Overlay* myOverlay = Overlay.CreateTextual(50,80,120, Game.SpeechFont, 15,"This is a text overlay");
-Wait(40);
-myOverlay.Remove();
-

will display a 120 pixels text area with its upper left corner at coordinates 50,80 containing the string "This is a text overlay" using the speech font and white color. It will be displayed for 1 second, then removed.

-

See also: Overlay.CreateGraphical, Overlay.CreateRoomGraphical, Overlay.CreateRoomTextual, Overlay.X, Overlay.Y, Overlay.Remove

-
-
-
-

Overlay.Remove

-

(Formerly known as RemoveOverlay, which is now obsolete)

-
Overlay.Remove()
-

Removes the specified overlay from the screen. Use this when you are done using the overlay.

-

Example:

-
Overlay* myOverlay = Overlay.CreateTextual(50,80,120,2,15,"This is a text overlay");
-Wait(200);
-myOverlay.Remove();
-

will create a text overlay , wait for 200 game cycles (about 5 seconds) and then remove the overlay from the screen.

-

See also: Overlay.CreateTextual

-
-
-
-

Overlay.SetText

-

(Formerly known as SetTextOverlay, which is now obsolete)

-
Overlay.SetText(int width, FontType font, int color, string text, ...)
-

Replaces the specified overlay with a new one, at the same co-ordinates but with the new specified text, width, font and color.

-

You can insert the value of variables into the message. For more information, see the string formatting section.

-

Example:

-
Overlay* myOverlay = Overlay.CreateTextual(50,80,120,Game.SpeechFont,15,"This is a text overlay");
-Wait(200);
-myOverlay.SetText(120,Game.SpeechFont,15,"This is another text overlay");
-

will create a text overlay , wait for 200 game cycles (about 5 seconds) and then replace the overlay with another one.

-

See also: Overlay.CreateTextual, Overlay.Remove

-
-
-
-

Overlay.Graphic

-
int Overlay.Graphic;
-

Gets/sets the sprite slot number that the overlay is currently using. Textual overlays always return -1, as their image is generated and stored internally, and does not have a formal "number". Setting Graphic of a textual overlay will effectively change them to a graphical overlay.

-

NOTE: unlike Overlay.CreateGraphical, where you may choose whether to make an image's copy or a shared reference, setting Graphic will always make a shared reference to the sprite. If this is a DynamicSprite, you have to make sure it is not deleted so long as overlay stays on screen, or overlay's image will reset to sprite 0.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.CreateGraphical, Overlay.CreateRoomGraphical, Overlay.X, Overlay.Y, Overlay.Width, Overlay.Height

-
-
-
-

Overlay.GraphicHeight

-
readonly int Overlay.GraphicHeight;
-

Gets the original height of the overlay's image. This property may be used to know the unscaled image's size (as Height property scales it), which is useful if the original sprite was disposed, or for textual overlays that generate its own internal image.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.X, Overlay.Y, Overlay.GraphicWidth, Overlay.Height, Overlay.Width

-
-
-
-

Overlay.GraphicWidth

-
readonly int Overlay.GraphicWidth;
-

Gets the original width of the overlay's image. This property may be used to know the unscaled image's size (as Width property scales it), which is useful if the original sprite was disposed, or for textual overlays that generate its own internal image.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.X, Overlay.Y, Overlay.GraphicHeight, Overlay.Width, Overlay.Height

-
-
-
-

Overlay.Height

-
int Overlay.Height;
-

Gets/sets the height of this overlay. Changing this property will stretch or shrink the overlay's image vertically. Works with both graphical and textual overlays.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.X, Overlay.Y, Overlay.Width

-
-
-
-

Overlay.InRoom

-
readonly bool Overlay.InRoom;
-

Tells whether current overlay is a room (returns "true") or screen (if "false") overlay.

-

See also: Overlay.CreateGraphical, Overlay.CreateTextual, Overlay.CreateRoomGraphical, Overlay.CreateRoomTextual

-
-
-
-

Overlay.Transparency

-
int Overlay.Transparency;
-

Gets/sets the transparency of this overlay.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Object.Transparency Character.Transparency, GUI.Transparency

-
-
-
-

Overlay.Valid

-

(Formerly known as IsOverlayValid, which is now obsolete)

-
readonly bool Overlay.Valid;
-

Checks whether the overlay is a current overlay or not. Returns 1 if it is, 0 if it isn't.

-

Example:

-
Overlay* myOverlay = Overlay.CreateTextual(50,80,120,2,15,"This is a text overlay");
-Display("Overlay valid before: %d", myOverlay.Valid);
-myOverlay.Remove();
-Display("Overlay valid after: %d", myOverlay.Valid);
-

creates an overlay, and prints out the Valid property (which will be 1). Then, removes the overlay and prints Valid again (which will now be 0).

-

See also: Overlay.CreateTextual, Overlay.Remove

-
-
-
-

Overlay.Width

-
int Overlay.Width;
-

Get/sets the width of this overlay. Changing this property will stretch or shrink the overlay's image horizontally. Works with both graphical and textual overlays.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Overlay.X, Overlay.Y, Overlay.Height

-
-
-
-

Overlay.X

-

(Formerly known as MoveOverlay, which is now obsolete)

-
int Overlay.X;
-

Gets/sets the X co-ordinate of the overlay (i.e. the left hand side of the overlay).

-

This allows you to dynamically move overlays around the screen.

-

Example:

-
Overlay* testOverlay = Overlay.CreateTextual(50,80,120,2,15,"This is a text overlay");
-while (testOverlay.X < 100) {
-    testOverlay.X++;
-    Wait(1);
-}
-testOverlay.Remove();
-

creates a text overlay, then gradually slides it across the screen.

-

See also: Overlay.CreateTextual, Overlay.Y, Overlay.Remove

-
-
-
-

Overlay.Y

-

(Formerly known as MoveOverlay, which is now obsolete)

-
int Overlay.Y;
-

Gets/sets the Y co-ordinate of the overlay (i.e. the top edge of the overlay).

-

This allows you to dynamically move overlays around the screen.

-

Example:

-
Overlay* testOverlay = Overlay.CreateTextual(50,50,120,2,15,"This is a text overlay");
-while (testOverlay.Y < 100) {
-    testOverlay.Y++;
-    Wait(1);
-}
-testOverlay.Remove();
-

creates a text overlay, then gradually slides it down the screen.

-

See also: Overlay.CreateTextual, Overlay.X, Overlay.Remove

-
-
-
-

Overlay.ZOrder

-
int Overlay.ZOrder;
-

Gets/sets the Overlay's drawing z-order. This allows you to dynamically change the ordering of Overlays on the screen.

-

Z-order setting is an arbitrary integer number that can be positive or negative. It tells how the overlapping objects should be sorted. Those with lower z-order are drawn at the back, and those with higher z-order are drawn at the front.

-

The screen Overlays are sorted among themselves and GUI, and thus their ZOrder is relative to other screen Overlays z-orders and GUIs z-order values.

-

The room Overlays are sorted among themselves and other in-room elements, such as: room objects, characters and walk-behinds. Their ZOrder is relative to Character's and Object's Baseline setting (or Y coordinate, if Baseline is 0).

-

IMPORTANT: If two or more Overlays (or other objects) have equal ZOrder, their draw order is undefined, and should not be relied upon. This is because of how sprite sorting is done in the engine.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GUI.ZOrder, Character.Baseline, Object.Baseline

-
-
-
- - - - - -
- - diff --git a/Parser.html b/Parser.html deleted file mode 100644 index a025b0936..000000000 --- a/Parser.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - Parser functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Parser functions

-

You can look into TextParser for additional help on using the parser in your games.

-
-

Parser.FindWordID

-
static int Parser.FindWordID(string wordToFind)
-

Looks up wordToFind in the text parser dictionary, and returns the ID number.

-

If the word is not found, returns -1.
Otherwise, the Word Group number is returned, as seen in the Text Parser tab in the editor.

-

You can determine if two words are synonyms by looking them both up and seeing if the returned IDs are the same.

-

Ignore words are returned as ID 0.

-

This function is useful if you want to use the AGS Text Parser dictionary, but implement some custom parsing functionality instead of using the standard ParseText function.

-

Example:

-
if (Parser.FindWordID("machine") > 0)
-{
-    Display("machine is in the game dictionary");
-}
-

will display a message if the game dictionary includes "machine"

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Parser.ParseText

-
-
-
-

Parser.ParseText

-
static Parser.ParseText(string text)
-

Stores the supplied user text string for later use by Said. You need to call this command first with the user's input before using the Said command. You would usually call this inside the text box's OnActivate event handler.

-

Example:

-
String command = txtParser.Text;
-Parser.ParseText(command);
-

will get the players input and store it in string "command" for use with the said command.

-

See also: Parser.FindWordID, Parser.Said

-
-
-
-

Parser.Said

-
static bool Parser.Said(string text)
-

Checks whether the player typed in TEXT in their input passed to ParseText. Returns true if it matches, false otherwise.

-

See the text parser documentation for a more detailed description.

-

Example:

-
String input = txtParserInput.Text;
-Parser.ParseText(input);
-if (Parser.Said("load")) {
-    txtParserInput.Text = "";
-    RestoreGameDialog();
-}
-

will bring up the restore game dialogue if the player types "load" in the text parser.

-

See also: Parser.ParseText, Parser.SaidUnknownWord

-
-
-
-

Parser.SaidUnknownWord

-
static String Parser.SaidUnknownWord()
-

If a word not in the game dictionary was submitted to the last ParseText call, then the word is returned by this command. This allows you to display a message like "Sorry, this game doesn't recognize 'XXXX'."

-

If all the words were recognized, this returns null.

-

Example:

-
String badWord = Parser.SaidUnknownWord();
-if (badWord != null)
-    Display("You can't use '%s' in this game.", badWord);
-

will display the message if the player types a word that's not in the vocabulary.

-

See also: Parser.ParseText, Parser.Said

-
-
-
- - - - - -
- - diff --git a/Plugins.html b/Plugins.html deleted file mode 100644 index ce3e7fbc5..000000000 --- a/Plugins.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - Plugins - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Plugins

-

AGS supports user-written plugins in order to provide functionality to your game that AGS itself does not support.

-

The plugin developer's guide is available from the Resources section of the AGS website.

-

Windows plugins come as DLL files with the names AGS*.DLL, for example agscircle.dll might be a plugin providing a DrawCircle script function.

-

How to use a plugin

-

So, you've downloaded a plugin for AGS. What do you do with it? Well, firstly read any readme file that the plugin author has included. But to get any plugin to work you must do the following:

-

1. Place a copy of the plugin files in the AGSEditor.exe directory - not your game folder.

-

Ex: C:\Program Files\Adventure Game Studio 3.5.0\

-

Right click Use plugin

-

2. Start the AGS Editor up, and load your game. Go to the Plugins node in the main tree. Open it up, and you should see all available plugins listed. To use one in your game, right-click it and choose "Use plugin". The plugin developer should provide instructions on what to do next. Save your game to make sure that AGS remembers that you want to use the plugin.

-

For other platforms, check Engine Plugins and other platforms below.

-

NOTE: If you hit a "there was an error loading this plugin" message, there is a chance the problem is with the file Security Zone Identifier, check the Troubleshooting Windows Zone Identifier section. If this doesn't solve your problem, please post in the respective plugin page on the Modules & Plugins board in the forums.

-
-

Engine Plugins and other platforms

-

While Windows plugins are named ags*.dll, other platforms that the AGS Editor supports will use the libags*.so convention (ex: libagsdrawcircle.so). Once you have your plugins ported, here are the places to put them.

-

Below directories are mentioned related to the folder containing AGS Editor (AGSEditor.exe)

-
    -
  • Windows x86 plugins are placed in the same dir as AGSEditor.exe
  • -
  • Linux plugins can be built for x64 (amd64) and x86 architectures, place them in the corresponding Linux/lib64 and Linux/lib32 directories.
  • -
  • Android plugins should be placed in Android\plugins, under a directory for each architecture (ex: Android\plugins\arm64-v8a\libagsdrawcircle.so)
  • -
  • Web port doesn't support plugins currently
  • -
-

Non Windows platforms may support a known set of plugins as stubs, meaning they won't error for the lack of the plugin alone, but you should detect this if you are not adding the plugin and handle accordingly.

-
-
-

Creating Plugins

-

If you want to create your own plugin to extend the functionality of either the AGS Editor or what's possible with the AGS Engine, read on the respective links below.

- -
-
-
- - - - - -
- - diff --git a/Pointers.html b/Pointers.html deleted file mode 100644 index 9bf538c07..000000000 --- a/Pointers.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - Pointers in AGS - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Pointers in AGS

-

Various commands in the scripting language will require you to use pointers. This section has been split into three separate topics to introduce you to pointers depending on your previous programming experience.

-
-
-

Pointers for programming newbies

-

Pointers can be quite a daunting prospect, and in languages like C and C++ they certainly are; but AGS tries to make things as simple as possible.

-

Basically, a pointer is a variable that points to something of a particular type. For example, a Character pointer would point to a character.

-

Think of a pointer as of a roadsign with arrow that tells you direction to another place. The pointer itself is not the object, but it lets you use an object through itself. You may reassign a pointer anytime and make it point to another object. This would be like turning roadsign and making it direct to another place: the sign will be the same, but the place it shows is different. Similarily, the pointer variable stays, but referring to a different object.

-

What's the point of having pointers? There are few common reasons why they are used.

-

The main purpose of the pointer could sound a bit too technical, but it's still good to know. In programming languages, when you use a value somewhere, would it be assigning to a variable, or passing into a function, or returning it from function, that value gets copied. If it's something simple, like few integers, that's not a big deal. But if it's an object with many properties stored inside, many such operations could slow program down. Furthermore, because it's a copy, it becomes impossible to do work on an object inside a function, and then use modified object further. Any changes applied in a function would be done over a copy rather than the original object. There are various methods to overcome this problem, and pointers could be the most straightforward of them. With pointers only "direction to object" is copied, but not the object itself.

-

Then, pointers are more direct way to use objects, read and set their properties. For example, if there's an array of objects, like character[] is an array of all Characters in your game, then to address a particular character you'd have to use this array and a character index, like this:

-
character[4].Walk(100, 100);
-

Because using numbers like this may be inconvenient for various reasons, and easier to forget what they mean, you could create an integer variable to store that index there int MY_FRIEND = 4;, or define a named constant #define MY_FRIEND 4, then use it like:

-
character[MY_FRIEND].Walk(100, 100);
-

That seem more explicit, but still looks bit complicated. On another hand you could create a pointer Character* cMyFriend; and assign it to character from array at the start of the game: cMyFriend = character[4];, and then use like:

-
cMyFriend.Walk(100, 100);
-

Not only you do not need to refer to array anymore, but you now only use one "symbol" to refer to the character (the pointer) instead of two or more symbols (array, index, and so on).

-

NOTE: the above is just an example of concept, and in practice AGS already generates such pointer for each character and other object you create for your game. The script names you give to your characters are used to name these pointers, for example if your character is called cPlayerChar, then there will be a pointer Character* cPlayerChar autogenerated for you that you can use in scripts.

-

Another reason is that pointers have the type of the object they are pointing to, and type checking in AGS script makes their use more reliable than use of an integer index, for instance, which does not tell what kind of object its referring to. For example, if you have int door_id; containing a hotspot's index, you could by mistake use it in a function expecting room object's index, and program won't complain. Finding such mistakes could be difficult. On the other hand, if you have Hotspot* hDoor; and you try to pass it into a function expecting Object*, script compiler will display and error, letting you notice your mistake early.

-

How to use pointers?

-

Let's look at an example. If you want to write a string to a file you do this:

-
File* file = File.Open("temp.txt", eFileWrite);
-file.WriteString("Test!");
-file.Close();
-

Here File.Open returns a pointer to a "file object", which is then used to do file operations. Looks fairly simple, the only slightly confusing part is getting used to declaring the variable as File* with an asterisk; but that's something you'll get used to quite quickly, and all the examples in the manual should point you in the right direction.

-

Let's look at another example. Suppose you want a variable that contains the current hotspot that the mouse is over:

-
// top of global script
-Hotspot *mouseOverHotspot;
-
-// repeatedly_execute
-mouseOverHotspot = Hotspot.GetAtScreenXY(mouse.x, mouse.y);
-

Above script declares a pointer to Hotspot and assigns it to a hotspot found under mouse on each game tick.

-

Now, what if you want to know whether the mouse is over your Door hotspot:

-
if (mouseOverHotspot == hDoor) {
-    Display("Mouse over the door");
-}
-

Above compares values of two pointers, this will only be successful if both point to same object.

-

If you'd like or have to use an index from hotspots array instead, you can still use it like this:

-
if (mouseOverHotspot == hotspot[2]) {
-    Display("Mouse over the door");
-}
-

IMPORTANT: So far so good, but there's still one thing that must be told, and that one is a bit of a downer. Unlike other variables, which always have some data, pointers may have a state where they do not point to any object. This kind of value is defined by a keyword null, and pointers in this state are called "null pointer". The problem with "null pointers" is that trying to use object's data or functions with them would result in program error. Good news is that you may find this out, comparing them to null. If you have a custom pointer variable, which in theory (according to your script's logic) may happen to not be assigned, then it's best to check if it's null or not before using it.

-

Suppose you want to find a character under a mouse and display their name on a GUI label:

-
Character* chUnderMouse = Character.GetAtScreenXY(mouse.x, mouse.y);
-lblCharacterName.Text = chUnderMouse.Name;
-

What would happen if there's no character under mouse? Character.GetAtScreenXY will return "null" value, it gets assigned to chUnderMouse, and as soon as program tries to get character's name, it will throw an error, because it cannot get Name from "nothing". This is how we prevent this:

-
Character* chUnderMouse = Character.GetAtScreenXY(mouse.x, mouse.y);
-if (chUnderMouse != null) {
-    lblCharacterName.Text = chUnderMouse.Name;
-}
-

So, that concludes our introduction to pointers. Hopefully you've got an understanding of what they are and what they do; if there's anything you can't work out, feel free to ask on the Technical forums.

-
-
-
-

Pointers for people who know Java or C#

-

AGS pointers work in a very similar way to object variables in Java and C#. The main difference is that AGS pointers are declared in the C-style manner with an asterisk t represent the pointer. So:

-
Hotspot *hs;
-

would declare a variable hs which points to a Hotspot. This would be equivalent to the following in Java or C#:

-
Hotspot hs;
-

In AGS, pointers are used to point to various built-in types, such as Hotspots, Inventory Items, Characters and so on, or custom user structs declared with managed keyword, but not regular structs.

-

There are no proper constructors in AGS. User managed types are created with new keyword and have all of their members initialized to zero, built-in types are either found in autogenerated variables and arrays, or returned by static member functions, like Overlay.CreateGraphical.

-

You use pointers in the same way as you would in Java and C#. Pointer memory management in AGS is all automatic -- the memory is freed when there are no longer any variables pointing to the instance. Thus, if you have global pointer variables in your global script, it's a good idea to set them to null when you're no longer using them, to allow the memory to be freed.

-

If you attempt to call a method on a null pointer, an error will occur (just like you'd get an exception in Java or C#).

-

Various built-in AGS static methods return a pointer to an instance (for example, File.Open, Hotspot.GetAtScreenXY, and so on). You can save this pointer into a pointer variable, and then call its methods as you would in Java or C#. The following examples are all valid:

-
File *theFile = File.Open("test.dat", eFileWrite);
-if (theFile == null) Display("It's null!");
-File *file2 = theFile;
-if (theFile == file2) Display("They're the same file!");
-theFile = null;
-file2.WriteInt(10);
-file2.Close();
-
-
-
-

Pointers for people who know C or C++

-

For historical reasons pointers in AGS are declared similar to the C/C++ syntax, with an asterisk, but their members are accessed with the dot operator, and not the -> C-style operator. Because AGS didn't support features such as pointers-to-pointers and so forth, there was no need for a separate operator.

-

Pointers in AGS are more comparable to "smart pointers" in modern C++, not "raw" C-style pointers that would store address to real memory. They may only point to "managed" structs, whether built-in or managed types declared by user. In this way they are more "handles" than pointers.

-

Pointer memory management is done automatically based on reference counting, so there's no delete keyword. When an object is no longer referenced by any pointer variables, it will be freed. For this reason, if you have any global pointer variables it's advisable to set them to null if you are done with them.

-

AGS pointers are strongly typed, and you cannot cast between types at will like you can in C and C++. AGS will only allow you to compare and assign pointers of the same type, or of the same base type. There is a special keyword null (similar to nullptr in C++) which all pointers can be set to and compared with, which indicates that they are unassigned.

-

There are no proper constructors in AGS. User managed types are created with new keyword and have all of their members initialized to zero, built-in types are either found in autogenerated variables and arrays, or returned by static member functions, such as File.Open and Hotspot.GetAtScreenXY. See the examples for the functions to get an idea of how to use them.

-
-
-
- - - - - -
- - diff --git a/Preprocessor.html b/Preprocessor.html deleted file mode 100644 index c5421018f..000000000 --- a/Preprocessor.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - Preprocessor - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Preprocessor

-

Before the AGS Script compiler is ran, an AGS Preprocessor runs, which will modify the script file before it's passed on for the compiler. Preprocessor has its own set of commands that are listed below. Note that all of them begin with # - that is their signature mark making them easy to spot.

-
-

define

-

#define <name>
#define <name> <value>

-

#define creates a "macro" with or without a "value". Whenever the defined name is encountered further in script, it will be replaced verbatim by the value that follows. It's somewhat similar to a variable, but has a constant value, has no type and no restrictions, and accepts literally anything: numbers, strings, and even script commands.

-

There are two common use of macro:

-

First, as a placeholder in your script which value could be easily changed. For example, if you put this somewhere in the beginning of a script:

-
#define TINT_COLOR 255, 0, 255
-

and then use this macro in some function calls like

-
TintScreen(TINT_COLOR);
-

the compiler will see this as

-
TintScreen(255, 0, 255);
-

Now you may experiment adjusting the macro's value in its declaration, without having to search for actual script commands every time. This may be very convenient if you have multiple experimental values in your game which you are not sure about yet, or one value which is used in many places.

-

Second common use of macro is a signal used in preprocessor tests, or enabling and disabling parts of script.
For example there's a good practice when a script module author would define their own macro in the module's header, which may be then used to test whether such module is included in game.

-

This is explained further in a paragraphs about #ifdef and #error keywords.

-

NOTE: There's a list of macro generated by AGS itself, see Constants for more information.

-
-
-
-

ifdef, ifndef, endif

-
#ifdef <macro>
-// script
-#endif
-
#ifndef <macro>
-// script
-#endif
-

#ifdef means "if defined", and it tests if macro of this name exists, and if it is, then the following part of script between #ifdef and #endif will be enabled. If such macro does not exist, then this part of script will be disabled and not compiled at all. It does not at all matter whether macro has a value and what it is.

-

#ifndef means "if not defined", and it does inverse test: script underneath will be enabled if there's no such macro, and enabled if there is.

-
-
-
-

ifver, ifnver

-
#ifver <editor-version>
-// script
-#endif
-
#ifnver <version>
-// script
-#endif
-

#ifver does AGS editor version test. If the version of AGS Editor you are building your game in is at least as high as this number, then the part of the script between #ifver and #endif will be enabled, if it's not then it will be disabled and not compiled at all.

-

#ifnver does the opposite test: it enables the script if the version of AGS Editor is below the given number.

-

For example:

-
#ifver 3.5.0
-Display("This script was compiled in AGS 3.5.0 or higher");
-#endif
-

This keyword was introduced primarily to let script module authors to be able to keep different variants of code supported by older and newer versions of AGS. For example, if you were writing a script module, you may need to check which version of AGS the user of your module is using, for example:

-
#ifver 2.72
-// do stuff for 2.72 and above
-#endif
-#ifnver 2.72
-// do stuff for 2.71 and below
-#endif
-

NOTE: This ability was only added in 2.72, so you cannot use the #ifver checks if you want your module to work with earlier versions than this.

-

IMPORTANT: In practice this keyword is now succeeded by SCRIPT_API_ and SCRIPT_COMPAT_ macros. Because newer versions of AGS Editor may be supporting several versions of Script API, it's recommended to test for these macros using #ifdef instead.

-
-
-
-

error

-

#error <message>

-

This command throws a user-defined compilation error if met in an enabled part of script. It's mainly used to detect missing requirements for a script to work.

-

Suppose you are writing a script module A which depends on another script module B. You let users know that in case they forgot to include module B, so that they get a comprehensible message instead of cryptic "undefined function" and similar errors. Thankfully module B has this macro declared in its header:

-
#define AWESOME_MODULE
-

Then you could do this in your module's script:

-
#ifndef AWESOME_MODULE
-#error This script requires "Awesome Module", please include it in the game
-#endif
-
-
-
-

region, endregion

-
#region
-  // some code
-#endregion
-

You can wrap a code between lines containing #region and #endregion to create a section used for code folding. In the AGS Editor you can use this to hide sections of your code you don't need to see by using the + button at the left side of the script editor. This is a purely cosmetic feature and has no effect on your script. Hidden script will still compile as usual.

-
-
-
-

Deprecated commands

-
#sectionstart
-#sectionend
-

These preprocessor commands are long deprecated. They may be met if you import an old script or game project, but they do nothing now and may be safely ignored or deleted.

-
-
-
- - - - - -
- - diff --git a/Region.html b/Region.html deleted file mode 100644 index a512d15f6..000000000 --- a/Region.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - Region functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Region functions and properties

-
-

Region.GetAtRoomXY

-

(Formerly known as global function GetRegionAt, which is now obsolete)

-
static Region* Region.GetAtRoomXY(int x, int y)
-

Returns the region at ROOM co-ordinates (X,Y). If there is no region there, or if invalid co-ordinates are specified, the Region* representing region 0 will be returned.

-

Example:

-
if (Region.GetAtRoomXY(player.x, player.y) == region[0]) {
-    Display("The player is not currently standing on a region.");
-}
-

See also: Region.GetAtScreenXY, Character.GetAtRoomXY, Hotspot.GetAtRoomXY, Object.GetAtRoomXY, GetWalkableAreaAtRoom

-
-
-
-

Region.GetAtScreenXY

-
static Region* Region.GetAtScreenXY(int x, int y)
-

Returns the region at SCREEN co-ordinates (X,Y). If there is no region there, or if invalid co-ordinates are specified, the Region* representing region 0 will be returned.

-

Example:

-
Region* r = Region.GetAtScreenXY(mouse.x, mouse.y);
-if (r != region[0]) {
-    Display("The mouse is over region %d", r.ID);
-}
-

will display the message if there is any region under the mouse cursor.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-

See also: Region.GetAtRoomXY, Character.GetAtScreenXY, Hotspot.GetAtScreenXY, Object.GetAtScreenXY, Game.GetLocationName, GetLocationType

-
-
-
-

Region.GetDrawingSurface

-
static DrawingSurface* Region.GetDrawingSurface()
-

Gets a drawing surface for the current room's 8-bit regions mask, which allows you to directly draw onto that mask. Note that this function is static and relates to all regions at once (not a particular region), because all of them are painted on the same mask.

-

After calling this method, use the various DrawingSurface functions to modify the mask. Since this is a 8-bit mask, DrawingColor will match the region's index. Color value 0 will refer to "no region" (eraser), color value 1 to region number 1, and so forth. Don't forget to call Release() on the surface when you are finished to update the room's state.

-

Any changes you make will only last until the player leaves the room, at which point they will be lost. If you need to make long-lasting changes, you can use this method in the Player Enters Room event, which will recreate these changes whenever player returns back.

-

Example:

-
DrawingSurface *surface = Region.GetDrawingSurface();
-surface.DrawingColor = 4;
-surface.DrawRectangle(50, 50, 100, 100);
-surface.Release();
-

will paint a rectangle for the region 4.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: GetDrawingSurfaceForWalkbehind, GetDrawingSurfaceForWalkableArea, Hotspot.GetDrawingSurface

-
-
-
-

Region.RunInteraction

-

(Formerly known as RunRegionInteraction, which is now obsolete)

-
Region.RunInteraction(int event)
-

Runs the event handler as if the EVENT for the region had been activated.

-

NOTE: Unlike the other RunInteraction commands, this one does not take a cursor mode. Instead, it uses an event type as follows:

-

0 While player stands on region
1 Player walks onto region
2 Player walks off region

-

Example:

-
region[4].RunInteraction(1);
-

will run the actions defined in the event handler script for "Player walks onto region" for region 4.

-

See also: Character.RunInteraction, Hotspot.RunInteraction

-
-
-
-

Region.Tint

-

(Formerly known as SetRegionTint, which is now obsolete)

-
Region.Tint(int red, int green, int blue, int amount, optional int luminance)
-

Changes the region to have RGB tint (RED, GREEN, BLUE) with AMOUNT percent saturation.

-

The red, green and blue values are between 0 and 255, and you supply the same values that you would use in the editor.

-

For the meaning of all the parameters, see SetAmbientTint.

-

NOTE: The tint will be reset when the player leaves the room, so you need to use it in Player Enters Room if you want a permanent change.

-

NOTE: This function only works in hi-color games.

-

NOTE: To remove the region tint, set the LightLevel property to 0.

-

Example:

-
region[2].Tint(180, 20, 20, 50);
-

will set region 2's RGB tint to (180, 20, 20) with 50% opacity.

-

Compatibility: Optional luminance parameter is supported only by AGS 3.4.0 and later versions.

-

See also: Region.LightLevel, SetAmbientTint

-
-
-
-

Region.Enabled

-

(Formerly known as DisableRegion, which is now obsolete)
(Formerly known as EnableRegion, which is now obsolete)

-
bool Region.Enabled
-

Enables/disables the specified region. If you set this to false, then all areas of the screen that were previously part of the region now act as type 0 (no region). You can turn the region back on later by setting this to true.

-

While a region is disabled, it will not be returned by Region.GetAtRoomXY, and if the character walks onto the region then its events will not get run.

-

Example:

-
region[3].Enabled = false;
-

will disable region number 3.

-

See also: Hotspot.Enabled, RemoveWalkableArea, RestoreWalkableArea

-
-
-
-

Region.ID

-
readonly int Region.ID
-

Gets the region number of this region. This allows you to interoperate with old script using the number-based region functions.

-

Example:

-
Display("Region 3 is number %d.", region[3].ID);
-

displays region 3's number (which will be 3).

-

See also: Region.GetAtRoomXY

-
-
-
-

Region.LightLevel

-

(Formerly known as SetAreaLightLevel, which is now obsolete)

-
int Region.LightLevel
-

Gets/sets the region's light level. This does the same thing as the Light Level textbox in the editor, but allows you to change it at run-time.

-

The light level is from -100 to 100. This is different from the editor, which takes values from 0 to 200. Subtract 100 from the value you would use in the editor when calling this function. The reason for this discrepancy is legacy reasons from the DOS editor days.

-

In 8-bit games you cannot use positive light level for brightening effect, but you may still use negative values to produce darkening effect.

-

To disable region lighting and tinting effects, set LightLevel to 0.

-

NOTE: The light level will be reset to the editor settings when the player leaves the room, so you need to use it in Player Enters Room if you want a permanent change.

-

NOTE: Setting a light level will disable any RGB tint set for the region.

-

NOTE: Region's light level does NOT override individual character and object light levels.

-

Example:

-
region[2].LightLevel = 100;
-

will set region 2's level light to 100.

-

See also: Region.Tint, SetAmbientLightLevel, Character.SetLightLevel, Object.SetLightLevel

-
-
-
-

Region.TintEnabled

-
readonly bool Region.TintEnabled
-

Gets whether the region currently has an RGB tint enabled for it.

-

Returns true if it does, and false if it does not. If it does not, then the LightLevel property reflects the region lighting.

-

If this property is false, then the TintRed, TintGreen, TintBlue, TintSaturation and TintLuminance properties are invalid.

-

Example:

-
if (region[4].TintEnabled) {
-    Display("Region 4 is tinted!!");
-}
-

will display a message if region 4 is tinted

-

See also: Region.Tint

-
-
-
-

Region.TintBlue

-
readonly int Region.TintBlue
-

Gets the Blue setting for the region's current tint.

-

This property is read-only; to change it, use the Region.Tint command.

-

NOTE: If the Region.TintEnabled property is false, then this value is meaningless.

-

Example:

-
if (region[4].TintEnabled) {
-    Display("Region 4 is tinted RGB (%d,%d,%d) Saturation %d.",
-            region[4].TintRed, region[4].TintGreen,
-            region[4].TintBlue, region[4].TintSaturation);
-}
-

will display a message with the region's tints.

-

See also: Region.Tint, Region.TintEnabled, Region.TintGreen, Region.TintRed, Region.TintLuminance

-
-
-
-

Region.TintGreen

-
readonly int Region.TintGreen
-

Gets the Green setting for the region's current tint.

-

This property is read-only; to change it, use the Region.Tint command.

-

NOTE: If the Region.TintEnabled property is false, then this value is meaningless.

-

Example:

-
if (region[4].TintEnabled) {
-    Display("Region 4 is tinted RGB (%d,%d,%d) Saturation %d.",
-            region[4].TintRed, region[4].TintGreen,
-            region[4].TintBlue, region[4].TintSaturation);
-}
-

will display a message with the region's tints.

-

See also: Region.Tint, Region.TintEnabled, Region.TintBlue, Region.TintRed, Region.TintSaturation, Region.TintLuminance

-
-
-
-

Region.TintRed

-
readonly int Region.TintRed
-

Gets the Red setting for the region's current tint.

-

This property is read-only; to change it, use the Region.Tint command.

-

NOTE: If the Region.TintEnabled property is false, then this value is meaningless.

-

Example:

-
if (region[4].TintEnabled) {
-    Display("Region 4 is tinted RGB (%d,%d,%d) Saturation %d.",
-            region[4].TintRed, region[4].TintGreen,
-            region[4].TintBlue, region[4].TintSaturation);
-}
-

will display a message with the region's tints.

-

See also: Region.Tint, Region.TintEnabled, Region.TintBlue, Region.TintGreen, Region.TintSaturation, Region.TintLuminance

-
-
-
-

Region.TintSaturation

-
readonly int Region.TintSaturation
-

Gets the saturation setting for the region's current tint.

-

This property is read-only; to change it, use the Region.Tint command.

-

NOTE: If the Region.TintEnabled property is false, then this value is meaningless.

-

Example:

-
if (region[4].TintEnabled) {
-    Display("Region 4 is tinted RGB (%d,%d,%d) Saturation %d.",
-            region[4].TintRed, region[4].TintGreen,
-            region[4].TintBlue, region[4].TintSaturation);
-}
-

will display a message with the region's tints.

-

See also: Region.Tint, Region.TintEnabled, Region.TintBlue, Region.TintGreen, Region.TintRed, Region.TintLuminance

-
-
-
-

Region.TintLuminance

-
readonly int Region.TintLuminance
-

Gets the luminance setting for the region's current tint.

-

This property is read-only; to change it, use the Region.Tint command.

-

NOTE: If the Region.TintEnabled property is false, then this value is meaningless.

-

See also: Region.Tint, Region.TintEnabled, Region.TintBlue, Region.TintGreen, Region.TintRed, Region.TintSaturation

-
-
-
- - - - - -
- - diff --git a/RepExec.html b/RepExec.html deleted file mode 100644 index ca346b1e4..000000000 --- a/RepExec.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - repeatedly_execute (_always) - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

repeatedly_execute (_always)

-

One of the most common things you'll need to do when scripting is to check if something has happened in the game -- and if so, then make the game do something in response.

-

For example, suppose that you want a bird to fly backwards and forwards across the screen in the background. You need a way of telling the bird to move in one direction, recognize when it has finished, and tell it to move back again.

-

This is where repeatedly_execute, repeatedly_execute_always and late_repeatedly_execute_always come in.

-

What's the difference between them?

-

The repeatedly_execute event is run on every game loop (by default this is 40 times per second), but only when the game is not blocked. That means that it will run as long as there are no current blocking animations or moves going on (i.e. a Walk or Animate command where eBlock has been specified as a parameter).

-

On the other hand, repeatedly_execute_always and late_repeatedly_execute_always are always run on every game loop, no matter whether the game is blocked or not. This comes at a price though, which is that you cannot run any blocking code within it. So if you try to script a player.Walk() command that passes the eBlock parameter -- or even just try to use a Wait(1); command, these will fail within (late_)repeatedly_execute_always.

-

The difference between repeatedly_execute_always and late_repeatedly_execute_always is that first is run before game updates itself, changing animation frames, moving objects into new position etc, while the second, "late" version, is run after the game was updated, but before it redrew its new state on screen.

-

What would I use each one for?

-

You would usually use repeatedly_execute for doing things that affect the player character, and repeatedly_execute_always for doing background tasks that don't directly affect the player.

-

For example, if your game kept track of the player's hunger, you might want to check in repeatedly_execute how long it has been since he last ate -- and if it has been more than 20 minutes, make the player character stop walking and rub his stomach. Because you want to perform a blocking animation, and you wouldn't want this to interrupt any specific cutscenes that were going on, repeatedly_execute would be the ideal place for it.

-

On the other hand, in the case of our bird flying across the screen, because we don't want to block the game while the bird flies, and we just want it to happen in the background, repeatedly_execute_always would be the place to put it.

-

The late_repeatedly_execute_always is used in similar way to its "earlier" counterpart, but it may be essential if you need to precisely keep track of a game object movement. When late_repeatedly_execute_always is called all the objects are already updated to their new states, therefore you will have accurate information about them. On contrary, the repeatedly_execute_always will always be "one step behind" of the game state.

-

In a nutshell, if you need to do something right before game state changes, use repeatedly_execute_always, if you need to do something right after game state has changed, use late_repeatedly_execute_always.

-

How do I create them?

-

In main game scripts, you create your repeatedly_execute script function by just pasting it into the script as follows. In the GlobalScript.asc it is already created for you:

-
function repeatedly_execute()
-{
-    // Put your script code here
-}
-

In rooms, it is slightly different. If you want to run some script that is specific to a particular room, open that room's Events Pane and you'll see a "Repeatedly execute" event. Click the "..." button and a function called something like Room_RepExec will be created for you.

-

This is important to remember -- in a room script, you cannot simply paste in a repeatedly_execute function; you need to use the Events Pane to create it instead.

-

To create repeatedly_execute_always, you can simply paste it into the script as above -- but you can also paste it into room scripts. Therefore the following will work in any script, whether it be a room or a global script.

-
function repeatedly_execute_always()
-{
-    // Put your script code here
-}
-

Remember, of course, that RepExec or repeatedly_execute_always functions in a room script will only be run while the player is actually in that room!

-

Can you show me an example?

-

Let's implement the two things we just talked about. Here's our hunger checking code:

-
function repeatedly_execute()
-{
-    // increment our timer variable (we would have created this
-    // in the Global Variables editor)
-    hungerTimer++;
-
-    if (hungerTimer == 800)
-    {
-        Display("You are getting very hungry.");
-        player.LockView(RUBSTOMACH);
-        player.Animate(0, 5, eOnce, eBlock, eForwards);
-        player.UnlockView();
-    }
-}
-

and let's put the bird flying code in the room script, because we only want it to happen in that one room:

-
function repeatedly_execute_always()
-{
-    if (!cBird.Moving)
-    {
-        if (cBird.x < 100)
-        {
-            // if the bird is on the left hand side of the screen,
-            // start it moving towards the right
-            cBird.Walk(400, cBird.y, eNoBlock, eAnywhere);
-        }
-        else
-        {
-            // otherwise, move it towards the left
-            cBird.Walk(0, cBird.y, eNoBlock, eAnywhere);
-        }
-    }
-}
-
-
- - - - - -
- - diff --git a/Room.html b/Room.html deleted file mode 100644 index 0db21ecf7..000000000 --- a/Room.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - Room functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Room functions and properties

-
-

Room.Exists

-
static bool Room.Exists(int room)
-

Returns true if the specified room exists in the game.

-

Example:

-
if(Room.Exists(10))
-{
-    player.ChangeRoom(10);
-}
-

If room 10 is valid, go to that room.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-
-
-

Room.GetDrawingSurfaceForBackground

-
static DrawingSurface* Room.GetDrawingSurfaceForBackground(optional int backgroundNumber)
-

Gets a drawing surface for a room background, which allows you to directly draw onto the room's background image. You can provide a background frame number if you want to modify a specific frame; otherwise, the current background's surface will be returned.

-

After calling this method, use the various DrawingSurface functions to modify the background, then call Release on the surface when you are finished.

-

Any changes you make will only last until the player leaves the room, at which point they will be lost. If you need to make long-lasting changes, you can either use this method in the Player Enters Room event, or consider using an alternate background frame for the changed image.

-

NOTE: Drawing onto the room background can be slow, especially when using the Direct3D driver. Do not use this command in repeatedly_execute; make sure you only use this command when absolutely necessary.

-

Example:

-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
-surface.DrawingColor = 14;
-surface.DrawLine(0, 0, 50, 50);
-surface.Release();
-

draws a yellow diagonal line across the top-left of the current room background, then releases the image.

-

See also: DrawingSurface.DrawLine, DrawingSurface.Release

-
-
-
-

Room.GetProperty

-

(Formerly known as global function GetRoomProperty, which is now obsolete)

-
Room.GetProperty(string property)
-

Returns the custom property setting of the PROPERTY for the current room.

-

This command works with Number properties (it returns the number), and with Boolean properties (returns 1 if the box was checked, 0 if not).

-

Use the equivalent Room.GetTextProperty function to get a text property.

-

Note that you cannot retrieve room properties of other rooms - only the current room can be checked.

-

Example:

-
if (Room.GetProperty("CanBeAttackedHere"))
-    Display("An evil monster lunges at you!");
-

will print the message if the current room has its "CanBeAttackedHere" box ticked.

-

See also: Room.GetTextProperty

-
-
-
-

Room.GetTextProperty

-

(Formerly known as global function GetRoomPropertyText, which is now obsolete)

-
static String Room.GetTextProperty(string property)
-

Returns the custom property setting of the PROPERTY for the current room.

-

This command works with Text properties only. The property's text will be returned from this function.

-

Use the equivalent Room.GetProperty function to get a non-text property.

-

Note that you cannot retrieve room properties of other rooms - only the current room can be checked.

-

Example:

-
String description = Room.GetTextProperty("Description");
-Display("The room's description: %s", description);
-

will retrieve the room's "description" property then display it.

-

See also: Room.GetProperty

-
-
-
-

Room.SetProperty

-
static bool Room.SetProperty(const string property, int value)
-

Sets the new value for the custom property for the specified room. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Number properties (it sets the numeric value), and with Boolean properties (sets FALSE is value is equal to 0, or TRUE otherwise).

-

Use the equivalent SetTextProperty function to set new text property value.

-

Note that you cannot set room properties of other rooms - only the current room.

-

Example:

-
Room.SetProperty("Darkness", 10);
-

will change room's "Darkness" custom property to 10.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Room.SetTextProperty

-
-
-
-

Room.SetTextProperty

-
bool Room.SetTextProperty(const string property, const string value)
-

Sets the new value text for the custom property for the specified room. Returns TRUE if such property exists and FALSE on failure.

-

This command works with Text properties only. The property's text will be changed to new value.

-

Use the equivalent SetProperty function to set a non-text property.

-

Note that you cannot set room properties of other rooms - only the current room.

-

Example:

-
Room.SetTextProperty("Description", "The Throne Room");
-

will change room's "description" property.

-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Room.SetProperty

-
-
-
-

Room.ProcessClick

-

(Formerly known as global function ProcessClick, which is now obsolete)

-
static void Room.ProcessClick(int x, int y, CursorMode)
-

Simulates clicking the mouse on the location (X,Y) on the screen, in the specified cursor mode. This "click" has special behavior in that it only affects Room elements and characters under given coordinates. Any interactions attached to the first object found on given coordinates and matching the given cursor mode will be executed. Any non-room objects (GUI) will be ignored. Even if the coordinates happen to lie on a button, the simulated click will "pass through" that button as if it was not present.

-

Please note that this function accepts screen coordinates and not room coordinates. If there's no room viewport on screen at this location the function will fail.

-

The available cursor modes are the ones you define on your Cursors tab (but with eMode prepended to them). Usually these are eModeWalkto, eModeLookat, etc.

-

NOTE: When looking up for an object under coordinates, ProcessClick is affected by the game setting "Pixel-perfect click detection". It's possible to change this behavior in script by changing OPT_PIXELPERFECT option (see SetGameOption).

-

Example:

-
Room.ProcessClick(100, 50, eModeLookat);
-

will simulate a click in the Look mode on screen co-ordinates (100, 50).

-

See also: GUI.ProcessClick, Mouse.Click, IsInteractionAvailable, Hotspot.RunInteraction

-
-
-
-

Room.BottomEdge

-
readonly static int Room.BottomEdge
-

Returns the Y co-ordinate of the bottom edge of the room, as set in the Room Settings pane of the editor.

-

Example:

-
Display("The current room's bottom edge is at %d.", Room.BottomEdge);
-

See also: Room.LeftEdge, Room.RightEdge, Room.TopEdge

-
-
-
-

Room.ColorDepth

-
readonly static int Room.ColorDepth
-

Returns the color depth of the room's background scene. This is important if you want to use DrawImage, since any sprites that you draw must be the same color depth as the room itself.

-

Example:

-
Display("The current room background is %d-bit color.", Room.ColorDepth);
-

See also: DrawingSurface.DrawImage

-
-
-
-

Room.Height

-

(Formerly known as game.room_height, which is now obsolete)

-
readonly static int Room.Height
-

Returns the height of the room.

-

Example:

-
Display("The current room size is %d x %d.", Room.Width, Room.Height);
-

See also: Room.Width

-
-
-
-

Room.LeftEdge

-
readonly static int Room.LeftEdge
-

Returns the X co-ordinate of the left edge of the room, as set in the Room Settings pane of the editor.

-

Example:

-
Display("The current room's left edge is at %d.", Room.LeftEdge);
-

See also: Room.BottomEdge, Room.RightEdge, Room.TopEdge

-
-
-
-

Room.Messages

-

(Formerly known as global function GetMessageText, which is now obsolete)

-
readonly static String Room.Messages[int message]
-

Gets the text of the specified room message. This is useful if you want to store, for example, a room description in Message 1 in each room -- this property allows you to retrieve the text for that message from the current room.

-

If an invalid message number is supplied, null will be returned. Otherwise, the message contents will be returned.

-

Example:

-
String message1 = Room.Messages[1];
-Display("Message 1 says: %s", message1);
-

will print the contents of room message 1.

-
-
-
-

Room.MusicOnLoad

-
readonly static int Room.MusicOnLoad
-

This property is now obsolete. It is still accessible for backwards compatibility with old games.

-

Returns the music number that is set to play when the player enters this room, as set in the "Room Settings" pane in the editor. If no music is set for this room, returns 0.

-

Example:

-
Display("The current room plays music %d when the player enters.", Room.MusicOnLoad);
-
-
-
-

Room.ObjectCount

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly static int Room.ObjectCount
-

Returns the number of objects in the room.

-

Example:

-
Display("The current room contains %d objects.", Room.ObjectCount);
-
-
-
-

Room.RightEdge

-
readonly static int Room.RightEdge
-

Returns the X co-ordinate of the right edge of the room, as set in the Room Settings pane of the editor.

-

Example:

-
Display("The current room's right edge is at %d.", Room.RightEdge);
-

See also: Room.BottomEdge, Room.LeftEdge, Room.TopEdge

-
-
-
-

Room.TopEdge

-
readonly static int Room.TopEdge
-

Returns the Y co-ordinate of the top edge of the room, as set in the Room Settings pane of the editor.

-

Example:

-
Display("The current room's top edge is at %d.", Room.TopEdge);
-

See also: Room.BottomEdge, Room.LeftEdge, Room.RightEdge

-
-
-
-

Room.Width

-

(Formerly known as game.room_width, which is now obsolete)

-
readonly static int Room.Width
-

Returns the width of the room.

-

Example:

-
Display("The current room size is %d x %d.", Room.Width, Room.Height);
-

See also: Room.Height

-
-
-
- - - - - -
- - diff --git a/RuntimeEngine.html b/RuntimeEngine.html deleted file mode 100644 index bdde59c66..000000000 --- a/RuntimeEngine.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - The run-time engine - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

The run-time engine

-

The engine (also called the "interpreter") is what runs your game and is what the player will use.

-

You can use any port of the AGS runtime on any available system to run an AGS game data.

-

Desktop systems, like Windows, Linux and MacOS offer a command line interface.

-

On Android, there's a special version of the runtime called AGS Player, and it's available with AGS releases. The web version of AGS, also can be used as a runtime, but currently it offers no graphical setup options.

-
-

How the engine finds the game data

-

The engine will look for game data in the following order if no specific game path is specified through command line.

-
    -
  1. Game data attached to exe.
  2. -
  3. If nothing is attached to exe, then the search is made over the directory.
  4. -
  5. If there are multiple game files in the directory, usually the first in alphabetical order will get hooked up. This includes both .ags game files and game files attached to other exe files.
  6. -
-

This search order means, if you are shipping a game, make sure that only one game file is in the same directory as the engine.

-
-
-

Command line

-

Note: On Windows, you must use --console-attach when you are on the cmd.exe or other windows prompt and want to read the output of the ags runtime directly in the terminal, as printed in stdout.

-

General usage: ags [OPTIONS] [GAMEFILE PATH or GAME DIRECTORY] (Where "ags" is the executable name)

-

Following OPTIONS are supported when running from the command line:

-
    -
  • -? / --help - prints the most useful command line arguments and quits.
  • -
  • -v / --version - prints the engine version and quits.
  • -
  • --clear-cache-on-room-change - clears sprite cache on every room change
  • -
  • --conf <FILEPATH> - specify an explicit config file to read on startup.
  • -
  • --console-attach - write the output to the parent process's console (Windows only).
  • -
  • --fps - display fps counter.
  • -
  • --fullscreen - run in fullscreen mode.
  • -
  • --gfxdriver <name> - use specified graphics driver: -
      -
    • d3d9 - Direct3D9 (MS Windows only)
    • -
    • ogl - OpenGL
    • -
    • software - software renderer.
    • -
  • -
  • --gfxfilter <name> [<game_scaling>] - use specified graphics filter and scaling factor. -
      -
    • filter names: -
        -
      • none - run in native game size
      • -
      • stdscale - nearest-neighbour scaling
      • -
      • linear - anti-aliased scaling; not usable with software renderer.
      • -
    • -
    • game scaling: -
        -
      • proportional, round, stretch,
      • -
      • or an explicit integer multiplier (applied only to the windowed mode).
      • -
    • -
    • Examples: -
        -
      • --gfxfilter stdscale 2 - applies round x2 scaling (window twice the size of the game)
      • -
      • --gfxfilter stdscale round - applies max round scaling
      • -
      • --gfxfilter stdscale proportional - applies max stretch while keeping aspect ratio.
      • -
    • -
  • -
  • --loadsavedgame <filepath> - load savegame on startup.
  • -
  • --localuserconf - read and write the user config in the game's directory rather than using the standard system path. The game directory must be writable.
  • -
  • --log-OUTPUT=GROUP[:LEVEL][,GROUP[:LEVEL]][,...]
  • -
  • --log-OUTPUT=+GROUPLIST[:LEVEL] - setup logging to the chosen OUTPUT with the given log groups and verbosity levels Groups may be defined either by name or by a LIST of one-letter IDs, preceded by '+', e.g. +ABCD:LEVEL. Verbosity may be defined either by name or a numeric ID. -
      -
    • OUTPUTs are: -
        -
      • stdout, file, console (where "console" is internal engine's console)
      • -
    • -
    • GROUPs are: -
        -
      • all, main (m), game (g), manobj (o), sdl (l), script (s), sprcache (c)
      • -
    • -
    • LEVELs are: -
        -
      • all, alert (1), fatal (2), error (3), warn (4), info (5), debug (6)
      • -
    • -
    • Examples: -
        -
      • --log-file=all:warn
      • -
      • --log-file=main:warn,game:all
      • -
      • --log-stdout=+mg:debug
      • -
    • -
  • -
  • --log-file-path=PATH - define a custom path for the log file.
  • -
  • --no-message-box - disable alerts as modal message boxes (Windows only).
  • -
  • --noiface - don't draw game GUI (for test purposes).
  • -
  • --noscript - don't run room scripts (for test purposes); WARNING: unreliable.
  • -
  • --nospr - don't draw room objects and characters (for test purposes).
  • -
  • --noupdate - don't run game update (for test purposes).
  • -
  • --novideo - don't play game videos (for test purposes).
  • -
  • --rotation <MODE> - screen rotation preferences. MODEs are: unlocked (0), portrait (1), landscape (2).
  • -
  • --sdl-log=LEVEL - setup SDL's own logging level (see explanation for the related config option).
  • -
  • --setup - run integrated setup dialog. Currently only supported by Windows version.
  • -
  • --shared-data-dir <DIR> - set the shared game data directory. Corresponds to the "shared_data_dir" config option.
  • -
  • --startr <room_number> - start the game by loading a certain room (for test purposes).
  • -
  • --tell - print various information concerning engine and the game, and quit. Output is done in INI format. -
      -
    • --tell-config - print contents of a merged game config.
    • -
    • --tell-configpath - print paths to available config files.
    • -
    • --tell-data - print information on game data and its location.
    • -
    • --tell-gameproperties - print information on game general settings.
    • -
    • --tell-engine - print the engine name and version.
    • -
    • --tell-filepath - print all filepaths the engine uses for the game.
    • -
    • --tell-graphicdriver - print a list of supported graphic drivers.
    • -
  • -
  • --test - run the game in the test mode, unlocking test key combinations and console.
  • -
  • --translation - select the given translation on start.
  • -
  • --user-data-dir <DIR> - set the save game directory. Corresponds to "user_data_dir" config option.
  • -
  • --windowed - run in windowed mode.
  • -
-

Command line arguments override options from either configuration file where applicable.

-

See also: Default setup (Editor Pane), Run-time engine setup

-
-
-
- - - - - -
- - diff --git a/Screen.html b/Screen.html deleted file mode 100644 index 9b54a889c..000000000 --- a/Screen.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - Screen Functions and Properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Screen Functions and Properties

-

Screen is a new small struct that provides access to viewports and conversion between screen and room coordinates.

-

Compatibility: Screen struct is supported by AGS 3.5.0 and later versions.

-
-
-

Screen.RoomToScreenPoint

-
static Point* Screen.RoomToScreenPoint(int rx, int ry);
-

Returns the point on screen corresponding to the given room coordinates if seen through the primary viewport. Resulting Point struct will contain screen x and y coordinates.

-

Function does the conversion from room to screen's coordinate system, correctly taking into account viewport's position on screen, camera's position in the room and its transformation (scaling etc).

-

This is a convenience function which is used when you do not manage viewports yourself but just using default one. If you have more than one custom viewport in your room consider Viewport.RoomToScreenPoint instead.

-

Example:

-
Point* pt = Screen.RoomToScreenPoint(player.x, player.y);
-Display("Player character is displayed at (%d, %d) on screen.", pt.x, pt.y);
-

See also: Screen.ScreenToRoomPoint, Viewport.RoomToScreenPoint, Viewport.ScreenToRoomPoint

-
-
-
-

Screen.ScreenToRoomPoint

-
static Point* Screen.ScreenToRoomPoint(int sx, int sy, optional bool restrictToViewport);
-

Returns the point in room corresponding to the given screen coordinates. The conversion is done if seen through the room viewport found under the cursor. Resulting Point struct will contain room x and y coordinates.

-

The restrictToViewport parameter tells what to do if no viewport is found under the cursor. If it's false, then in such case the conversion will be done through the primary viewport. If it's true, then this function returns null if no viewport is there. The default is false.

-

Function does the conversion from screen to room's coordinate system, correctly taking into account viewport's location on screen, camera's position in the room and its transformation (scaling etc).

-

Example:

-
Point* pt = Screen.ScreenToRoomPoint(mouse.x, mouse.y);
-Display("Mouse cursor is over room location: (%d, %d).", pt.x, pt.y);
-

Compatibility: restrictToViewport parameter is supported by AGS 3.6.0 and later versions.

-

See also: Screen.RoomToScreenPoint, Viewport.RoomToScreenPoint, Viewport.ScreenToRoomPoint, Viewport.Visible, Viewport.ZOrder

-
-
-
-

Screen.AutoSizeViewportOnRoomLoad

-
static bool Screen.AutoSizeViewportOnRoomLoad;
-

Gets/sets whether the game should automatically adjust primary viewport and primary camera to the size of the room background each time the new room is loaded. This setting is enabled by default, and is the standard viewport behavior in AGS.

-

When this setting is on then every time the new room is loaded primary viewport and camera will be resized to match either the size of a room's background or game screen, whatever is smaller. The viewport will also be centered on game screen.

-

For example, if game is 320x200 and room is also 320x200, then both viewport and camera will be resized to 320x200 and cover whole screen. If game is 320x200 and room is 160x160, then both viewport and camera will be resized to 160x160 and viewport positioned in the center of screen (at 80, 20). If game is 320x200 and room is 400x200, then both viewport and camera will be resized to 320x200 again, and you'll have a scrolling room (one that is only partially seen at any time).

-

See also: Viewport.SetPosition, Camera.SetSize

-
-
-
-

Screen.Height

-

(Replaces System.ScreenHeight, which is now obsolete)
(Replaces System.ViewportHeight, which is now obsolete)

-
static readonly int Screen.Height;
-

Gets the native height of the game screen in pixels, which matches game resolution you set in the Editor.

-

NOTE: this is the game screen's logical size before any additional scaling is applied by the graphics renderer. It may or not be equal to the dimension of the final game image on player's display.

-
-
-
-

Screen.Width

-

(Replaces System.ScreenWidth, which is now obsolete)
(Replaces System.ViewportWidth, which is now obsolete)

-
static readonly int Screen.Width;
-

Gets the native width of the game screen in pixels, which matches game resolution you set in the Editor.

-

NOTE: this is the game screen's logical size before any additional scaling is applied by the graphics renderer. It may or not be equal to the dimension of the final game image on player's display.

-
-
-
-

Screen.Viewport

-
static readonly Viewport *Screen.Viewport;
-

Gets the primary room viewport. This is the default viewport that is created automatically at the start of the game and cannot be deleted.

-

See also: Screen.Viewports, Viewport, Viewport.Create, Viewport.Delete, Game.Camera

-
-
-
-

Screen.ViewportCount

-
static readonly int Screen.ViewportCount;
-

Gets the number of viewports.

-

See also: Screen.Viewports

-
-
-
-

Screen.Viewports

-
static readonly Viewport* Screen.Viewports[int index];
-

Returns the Viewport instance by its index. There's always at least primary viewport at the index 0, more could be created in script using Viewport.Create.

-

IMPORTANT: with the current implementation when you delete a custom viewport in the middle all the following viewports will be shifted towards beginning of array, changing their indexes.

-

Example:

-
for (int i = 0; i < Screen.ViewportCount; i++) {
-    Screen.Viewports[i].Visible = false;
-}
-

Above disables (hides) all of the existing viewports.

-

See also: Screen.Viewport, Screen.ViewportCount, Viewport.Create, Viewport.Delete, Game.Cameras

-
-
-
- - - - - -
- - diff --git a/ScriptAPIOverview.html b/ScriptAPIOverview.html deleted file mode 100644 index b80800360..000000000 --- a/ScriptAPIOverview.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - Script API Overview - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Script API Overview

-

AGS provides a scripting system, where engine functionalities are exposed through the AGS Script API, allowing you to write a mini-program, giving you great control over your game. You can read and modify room elements by using the structs Room, Object, Hotspot, Region, and the Global functions for Room. If you need your character to say things, receive or lose an inventory item, or walk somewhere, you can find these in the Character struct. The AGS camera system is available through the use of Viewport, Camera, and Screen. You can also draw directly with Dynamic Sprites, Drawing Surface and use Overlays to have these sprites shown on screen. Browse around the API topics, as there's much more available to you.

-

NOTE: API stands for "Application Programming Interface". This is a common term, it defines all the means a program (such as the AGS engine) provides for the user to control it programmatically.

-
-

API switches

-

When a new version of AGS is released and comes with new API entries for additional functionality these changes can possibly cause conflicts with previously made scripts. Sometimes a function gets deprecated (outdated) and disabled, or replaced by a different and better one. Sometimes a new function is added that uses a descriptive name which you already used in your script, which can obviously lead to conflicts. Usually it's a good idea to adjust your script and resolve these problems by hand. But if you do not want to or do not have the time to do so just yet - there are API switches.

-

In a nutshell, API switches let you control which parts of the API are active in your game.

-

In the editor the API switches are found in the General Settings, in the "Backwards Compatibility" category. The relevant settings are:

-
    -
  • Script API version - defines the topmost level of the API. Default is the "Highest" level, which uses the topmost supported API by this version of AGS. Setting it to any version will lock the API at that level, disabling any additions (functions and properties) that were introduced to AGS Script later.
  • -
  • Script compatibility level - defines the lowest level of the API. Default is the "Highest" level, which again uses only functionality officially supported by the current version of AGS. Setting it to a lower version enables older functions that now are deprecated.
  • -
  • Enforce post-2.62 scripting - this is on by default, turning this off brings back a huge number of obsolete global functions from the era before AGS 2.7. Most of these functions were replaced by the introduction of object structs and properties. See Upgrading to AGS 2.7 for more information.
  • -
  • Enforce new style strings - this is on by default, turning this off reactivates old-style string functions and also the deprecated string type (the contemporary type is String with capital S) which was used differently and had a 200 character limit.
  • -
  • Enforce new-style audio scripting - this is on by default, turning this off reactivates the old-style audio functions that are deprecated since AGS 3.2. These functions rely on passing clip numbers instead of using their script names (which can be chosen freely and are based on the filename), and support strictly 1 channel per audio type. See Upgrading to AGS 3.2 for more information.
  • -
  • Use old-style custom dialog options API - this is off by default, and enabling this switches to pre-AGS 3.4.0 custom dialog option callbacks. See Upgrading to AGS 3.4 for more information.
  • -
  • Use old-style keyboard handling - this is off by default, and enabling this switches to old-style key input handling style. See Upgrading to AGS 3.6 for more information.
  • -
-

Each of the above switches defines a macro or a number of macros which are then used during script compilation and help detect the state of these switches. You can also use these in your script, for example if you want to provide two or more variants of code for different API versions. For more information on this and actual script examples see Constants.

-
-
-
- - - - - -
- - diff --git a/ScriptKeywords.html b/ScriptKeywords.html deleted file mode 100644 index 13b187f62..000000000 --- a/ScriptKeywords.html +++ /dev/null @@ -1,774 +0,0 @@ - - - - - - - Script language keywords - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Script language keywords

-
-

Data types

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeDescription
charSingle byte data type, can store a single character or number 0 to 255
short16-bit integer, can store numbers from -32,768 to 32,767
int32-bit integer, can store from -2,147,483,648 to 2,147,483,647
StringStores a string of characters
float32-bit floating point number. Accuracy normally about 6 decimal places, but varies depending on the size of the number being stored.
boola variable that stores either 'true' or 'false'
-

You will normally only need to use the int and String data types. The smaller types are only useful for conserving memory if you are creating a very large number of variables.

-

To declare a variable, write the type followed by the variable name, then a semicolon. For example:

-

int my_variable;

-

declares a new 32-bit integer called my_variable

-

WARNING: When using the float data type, you may find that the == and != operators don't seem to work properly. For example:

-
float result = 2.0 * 3.0;
-if (result == 6.0) {
-    Display("Result is 6!");
-}
-

may not always work. This is due to the nature of floating point variables, and the solution is to code like this:

-
float result = 2.0 * 3.0;
-if ((result > 5.99) && (result < 6.01)) {
-    Display("Result is 6!");
-}
-

The way floating point numbers are stored means that 6 might actually be stored as 6.000001 or 5.999999; this is a common gotcha to all programming languages so just be aware of it if you use any floating point arithmetic.

-
-
-
-

Arrays

-

data_type name [ size ];

-

Arrays allow you to easily create several variables of the same type. For example, suppose you wanted to store a health variable for all the different characters in the game. One way would be to declare several different variables like this:

-
int egoHealth;
-int badGuyHealth;
-int swordsmanHealth;
-

but that quickly gets messy and difficult to keep up to date, since you need to use different script code to update each one. So instead, you can do this at the top of your script:

-
int health[50];
-

This example declares 50 int variables, all called health.
You access each separate variable via its index (the number in the brackets). Indexes start from 0, so in this case the health array can be accessed by indexes 0 to 49. If you attempt to access an invalid index, your game will exit with an error.

-

Here's an example of using the array:

-
health[3] = 50;
-health[4] = 100;
-health[player.ID] = 10;
-

this sets Health 3 to 50, Health 4 to 100, and the Health index that corresponds to the player character's ID number to 10.
-You need to do this inside a function.

-

See also: Dynamic arrays, Structs

-
-
-
-

Operators

-

The AGS scripting engine supports the following operators in expressions. They are listed in order of precedence, with the most tightly bound at the top of the list.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperatorDescriptionExample
!NOTif (!a)
*Multiplya = b * c;
/Dividea = b / c;
%Remaindera = b % c;
+Adda = b + c;
-Subtracta = b - c;
++Increment by 1a++;
--Decrement by 1a--;
<<Bitwise Left Shifta = b << c;
>>Bitwise Right Shifta = b >> c;
&Bitwise ANDa = b & c;
|Bitwise ORa = b | c;
^Bitwise XORa = b ^ c;
==Is equal toif (a == b)
!=Is not equal toif (a != b)
>Is greater thanif (a > b)
<Is less thanif (a < b)
>=Is greater than or equalif (a >= b)
<=Is less than or equalif (a <= b)
&&Logical ANDif (a && b)
||Logical ORif (a || b)
-

This order of precedence allows expressions such as the following to evaluate as expected:

-

if (!a && b < 4)

-

which will execute the 'if' block if a is 0 and b is less than 4.

-

However, it is always good practice to use parenthesis to group expressions. It's much more readable to script the above expression like this:

-

if ((!a) && (b < 4))

-

NOTE: By default, when using operators of equal precedence AGS evaluates them left-to-right. For example, the expression a = 5 - 4 - 2; evaluates as a = (5 - 4) - 2;, which is what you'd commonly expect from a scripting language today.
For historical reasons AGS also supports right-to-left precedence mode which may be only useful if you import very old game and do not want to fix its scripts. To enable this mode find "Left-to-right operator precedence" option in "Backwards compatibility" section of the General Settings and set it to "false".

-
-
-
-

Version checking

-

If you are writing a script module, you may need to check which version of AGS the user of your module is using.

-

For this purpose there are two directives:

-
#ifver 2.72
-// do stuff for 2.72 and above
-#endif
-#ifnver 2.72
-// do stuff for 2.71 and below
-#endif
-

Note that this ability was only added in 2.72, so you cannot use the #ifver checks if you want your module to work with earlier versions than this.

-

NOTE: We recommend to not rely on editor version in most cases, and use Script API version macros instead whenever possible.

-

See also: Preprocessor

-
-
-
-

if, else statements

-

if ( expression ) {
statements1
}
[ else {
statements2
} ]

-

If expression is true, then statements1 are run.

-

If expression is not true, and there is an else clause present, then statements2 are run instead.

-

For example:

-
if (player.Room == 10) {
-    Display("Player is in the room 10.");
-}
-else {
-    Display("Player is NOT in the room 10.");
-}
-

In this example, the first message will be displayed if the return value from player.Room is 10, and the second message will be displayed if it is not.

-

if statements can be nested inside else statements to produce an "else if" effect. For example:

-
if (player.Room == 1) {
-    Display("Player is in the room 1.");
-}
-else if (player.Room == 2) {
-    Display("Player is in the room 2.");
-}
-else {
-    Display("Player in neither in room 1 nor room 2.");
-}
-
-
-
-

switch, case statements

-

switch ( control_expression ) {
[ case match_expression:
statements
[ break; ] ]
[ default:
statements
[ break; ] ]
}

-

Compares the result of control_expression against the result of match_expression for each case label in order. If a match is found, statements following that label are executed. If there is no matching label and a default: label is present, statements following the default: label are executed.

-

If a break statement is encountered, any statements following it are skipped and execution continues after the switch block.

-

Unlike many programming languages, AGS allows expression results of any type (integer, boolean, string, pointers). It also does not require that match_expressions be constant or literal values.

-

A switch statement is useful if you need to compare one value or expression against a series of values. The control_expression represents the value you want to compare and each case label is one value in a series to compare it against.

-

Example:

-
switch (player)
-{
-    case cEgo:
-        Display("Hello, my name is Ego.");
-        break;
-    case cJohn:
-        Display("Greetings, I am John.");
-        break;
-    case cMary:
-        Display("Hi there, I am Mary.");
-        break;
-    default:
-        Display("This might be a bug!");
-        break;
-}
-

In the above example, if the player is cEgo, the game will display "Hello, my name is Ego." If the player is cJohn, the game will display "Greetings, I am John." If the player is cMary, the game will display "Hi there, I am Mary." If the player is none of these characters, the message "This might be a bug!" will be displayed.

-

One of the features of a switch statement is fall-through. Labels are ignored once a match is found and indeed execution will continue until the end of the switch block or a break statement is encountered.

-

A switch statement that demonstrates this:

-
switch (player)
-{
-    case cJohn:
-    case cMary:
-        player.Say("I like oranges.")
-        break;
-    case cEgo:
-        player.Say("I like apples.");
-    default:
-        player.Say("I would like some berries.");
-}
-

In the above example, if the player is either cJohn or cMary, s/he will say "I like oranges.". If the player is cEgo, he will say "I like apples." and then also "I would like some berries." If the player is any other character, only the default "I would like some berries." will be displayed.

-

A match_expression can be any valid AGS expression, including a function call. The following construction can be useful when implementing responses to parser values:

-
switch (true)
-{
-    case Parser.Said("take ball"):
-        player.AddInventory(iBall);
-        break;
-    case Parser.Said("drop ball"):
-        player.LoseInventory(iBall);
-        break;
-}
-

In this situation, the match_expressions are the results of Parser.Said(). If Player.Said("take ball") is true, the ball is added to the player's inventory. If Player.Said("drop ball") is true, the ball is removed from the player's inventory.

-
-
-
-

while

-

while ( condition ) {
statements
}

-

Runs statements continuously, while condition is true.

-

For example:

-
while (cEgo.Moving) {
-    Wait(1);
-}
-

will run the script Wait(1); repeatedly, as long as cEgo.Moving is not zero. Once it is zero, the while statement will exit at the end of the loop.

-
-
-
-

do..while

-

do {
statements
} while ( condition );

-

Similarly to while runs statements continuously, so long as condition is true, but unlike while it checks the condition AFTER executing statements, not before. This also means that the statements will be executed at least once.

-

For example:

-
do
-{
-    cEgo.Move(cEgo.x + 1, cEgo.y);
-}
-while (IsKeyPressed(eKeyRightArrow));
-

will run the script cEgo.Move(cEgo.x + 1, cEgo.y); once, and then continue run it repeatedly, as long as the right arrow key is pressed by player.

-
-
-
-

for

-

for ( [initialization]; [condition]; [iteration] ) {
statements
}

-

This loop command first performs initialization statements, then runs statements inside curved brackets continuously. Each time before executing these statements it checks whether condition is true, and if not - ends the loop. Each time after statements were executed it additionally runs iteration statements.

-

Initialization is commonly used to declare variables or setting up existing variable values. If a new variable is declared in initialization - such variable will exist and may be used only inside the loop. Iteration step is usually meant to "move" to the next step, by changing some variable value. Every part of the command header - initialization, condition and iteration - is optional: there may be for command without initialization, or without iteration, or even without conditional expression (in which case loop should be ended with either break or return.

-

For example:

-
for (int i = 0; i < Game.CharacterCount; i++)
-{
-    Display("My name is %s", character[i].Name);
-}
-

will look over every character in game and display their names.

-

Another example (note missing initialization and iteration):

-
for (; cEgo.x < 100;)
-{
-    Wait(1);
-}
-

This will repeat Wait(1); until cEgo character does not move beyond coordinate x = 100.

-
-
-
-

break

-

break;

-

break statement ends the execution of most inner loop or switch immediately. After this script continues running from the next line after loop or switch.

-

For example:

-
while (cEgo.Moving) {
-    if (IsKeyPressed(eKeyEscape))
-        break;
-
-    Wait(1);
-}
-

will run the script Wait(1); repeatedly, as long as cEgo.Moving is not zero. If player presses Escape key, the loop is terminated immediately.

-
-
-
-

continue

-

continue;

-

continue statement makes the loop skip remaining statements in current iteration and proceed to the next end-condition check, followed by the loop restart, if condition is still met, or loop end. If in for kind of loop, the iteration statement is executed right before that.

-

For example:

-
for (int i = 0; i < 100; i++)
-{
-    // multiple statements here
-
-    if (i > 50)
-        continue;
-
-    // more statements following
-}
-

will run first part of the loop statements always, and second part only when i <= 50.

-
-
-
-

function

-

function name ( [type1 param1, type2 param2, ... ] )

-

Declares a custom function in your script. A function is a way in which you can separate out commonly used code into its own place, and thus avoid duplicating code.

-

For example, suppose that you quite often want to play a sound and add an inventory item at the same time. You could write both commands each time, or you could define a custom function:

-
function AddInvAndPlaySound(InventoryItem* item) {
-    player.AddInventory(item);
-    aInventorySound.Play();
-}
-

then, elsewhere in your code you can simply call:

-
AddInvAndPlaySound(iKey);
-

to add inventory item iKey and play the sound.

-

Generally, you place your functions in your global script. You then need to add an import line to your script header to allow the function to be called from room scripts.

-

Optional parameters

-

You can make int parameters optional if there is a default value that the user doesn't need to supply. To do this, change the script header import declaration like this:

-
import function TestFunction(int stuff, int things = 5);
-

that declares a function with a mandatory stuff parameter, and an optional things parameter. If the caller does not supply the second parameter, it will default to 5.

-

NOTE: To use optional parameters, you need to have an "import" declaration for the function in the script header. The default values cannot be specified in the actual function declaration itself.

-
-
-
-

return

-

return;

-

Immediately quits currently run function and returns to the previous script function current one was called from, if there was any, otherwise passes execution to engine. return can be put in any place in the the function, no matter if it is inside the if/else statement group, loop or switch - it will still work as immediate function exit.

-

If the function is declared with return type other than void (or simply like function), then the return statement has to specify return value.

-
int GetHowManyTradeGoodsShopkeeperHas() {
-    return 2;
-}
-

Alternatively, when function is not supposed to have any return value, sometimes you may want to break out of current function before it ends naturally:

-
function DoThisAndOptionallyThat(bool do_all) {
-    // multiple statements here
-
-    if (!do_all)
-        return; // quit the function prematurely
-
-    // more statements following
-}
-
-
-
-

struct

-

struct name {

-

Declares a custom struct type in your script.
Structs allow you to group together related variables in order to make your script more structured and readable. For example, suppose that wanted to store some information on weapons that the player could carry. You could declare the variables like this:

-
int swordDamage;
-int swordPrice;
-String swordName;
-

but that quickly gets out of hand and leaves you with tons of variables to keep track of. This is where structs come in:

-
struct Weapon {
-    int damage;
-    int price;
-    String name;
-};
-

Now, you can declare a struct in one go, like so:

-
Weapon sword;
-sword.damage = 10;
-sword.price = 50;
-sword.name = "Fine sword";
-

Much neater and better organized. You can also combine structs with arrays:

-
// at top of script
-Weapon weapons[10];
-// inside script function
-weapons[0].damage = 10;
-weapons[0].price = 50;
-weapons[0].name = "Fine sword";
-weapons[1].damage = 20;
-weapons[1].price = 80;
-weapons[1].name = "Poison dagger";
-

structs are essential if you have complex data that you need to store in your scripts.

-
-
-
-

managed

-

managed struct name {

-

Managed is a modifier that can be applied to struct declaration to make them managed structs.

-

Managed structs are special in the way that objects of their types are created in dynamic pool as opposed to global variables, that exist from the game start to when the game is shut down, and local variables, that exist only when their function is run. You cannot declare a variable of managed struct, but only a pointer variable.

-

The advantage of such managed (or dynamic) objects is that they are created only when needed and disposed of when no longer needed. Also, since you work with pointer to object instead of object itself, you may assign them to another variable without copying object itself, pass them to function as parameter, or return from the function.

-

IMPORTANT: there is a big limitation for user-defined managed structs now, it is that they themselves cannot have members of pointer types (or dynamic arrays).

-

Example:

-
managed struct Apple {
-    int color;
-    int freshness;
-};
-

This declares managed struct. To declare a pointer to such struct you do:

-
Apple* my_apple;
-

This creates a pointer variable my_apple of managed type Apple.

-

However, this does not create an object itself yet, and my_apple is assigned null value now. If you try to access struct members using my_apple now, you will get errors. To create an actual object you need to use a new keyword:

-
my_apple = new Apple;
-

The object is now created in the dynamic memory pool, and variable my_apple points to it. This lets us access object contents:

-
my_apple.color = Game.GetColorFromRGB(255, 0, 0);
-my_apple.freshness = 100;
-

You may copy pointer to another variable of same type:

-
Apple* apple2 = my_apple;
-

This does not copy object itself, only its address in dynamic pool, meaning both variables - my_apple and apple2 - point to same object!

-

You may write a function that take such pointer as parameter:

-
function DisplayAppleDescription(Apple* apple) {
-    String s = String.Format("Apple has color %d and freshness %d", apple.color, apple.freshness);
-    Display(s);
-}
-

and then call it like:

-
DisplayAppleDescription(my_apple);
-

You may write a function that returns pointer to apple:

-
Apple* CreateYellowApple(int fresh) {
-    Apple* apple = new Apple;
-    apple.color = Game.GetColorFromRGB(255, 0, 255);
-    apple.freshness = fresh;
-    return apple;
-}
-

and then use such function just like:

-
Apple *my_apple = CreateYellowApple(50);
-

When does the dynamic object gets destroyed? After you created dynamic object as described above, it will exist in memory as long as there is at least one pointer variable pointing to it. As soon as the last pointer gets destroyed itself (for example, if it was local function variable, and function ended), or is assigned another object, or simply assigned null, then the dynamic object is removed from your game forever.

-

See also: new, Pointers in AGS

-
-
-
-

new

-

pointer_variable = new managed_type;

-

Creates a new dynamic (managed) object of managed_type and assigns it to pointer_variable.

-

Example:

-
// Here we declare a managed struct for Apple
-managed struct Apple {
-    int color;
-    int freshness;
-};
-
-// ...and declare a global pointer to Apple
-Apple* SomeApple;
-
-// At the game start we create a new dynamic object of Apple type
-// and assign its address to the pointer variable
-function game_start()
-{
-    SomeApple = new Apple;
-}
-

See also: managed, Pointers in AGS

-
-
-
-

enum

-

enum name {
option1 [ = value1 ],
option2 [ = value2 ],
...
};

-

Declares an enumeration type. An enumeration allows you to group together a set of related options, where only one will be true at any one time -- a bit like the contents of a list box.

-

For example, if you have a script function, doStuff, that can perform 3 different operations, you could do this:

-
function doStuff(int param) {
-    if (param == 1) {
-        // do something
-    }
-    else if (param == 2) {
-        // do something else
-    }
-    // etc
-}
-

but it's hard to read, and when calling the function from elsewhere in your script, it's not clear what 1 or 2 means. That's where enums come in:

-
enum DoStuffOption {
-    BakeCake,
-    DoLaundry
-};
-
-function doStuff(DoStuffOption param) {
-    if (param == BakeCake) {
-        // do something
-    }
-    else if (param == DoLaundry) {
-        // do something else
-    }
-    // etc
-}
-

and then the calling code looks like:
doStuff(BakeCake);
thus making it perfectly clear what the command will do.

-

Normally, you would put the enum definition into the script header.

-

If you don't assign a value for the first enum item, it is assigned the value 1. Other enum items have the value of the enum before plus 1. Ex: enum ABC { eA,eB, eC}; get's eA=1 eB=eA+1=2 eC=eB+1=3, by default.

-

In summary, enums are not an essential part of scripting and you can get away perfectly well without using them, but in some specific situations they're very handy.

-
-
-
-

this

-

There are two uses for the this keyword.

-

1. Accessing members of the current struct

-

When you are creating custom structs, you use the "this" keyword inside member functions to refer to the current struct. For example:

-

Suppose you had this in your script header:

-
struct MyStruct {
-    int myValue;
-
-    import function MyMethod();
-};
-

Then, in your main script, you could put this:

-
function MyStruct::MyMethod()
-{
-    this.myValue = 5;
-}
-

The MyStruct::MyMethod tells AGS that you are defining the function MyMethod which belongs to the struct MyStruct (the :: operator means "belongs to").

-

The code above will mean that when the MyMethod function is called, it sets the myValue variable to 5.

-

2. Declaring extender functions

-

Please see the Extender functions page for details.

-
-
-
-

import

-

import [attribute] declaration ;

-

Declares declaration as a variable or function which is external to the current script, but that the script needs access to it. You use this to provide your room scripts with access to parts of your global script.

-

For example:

-
import int counter;
-import function add_numbers (int, int);
-

This imports an integer variable counter and the function add_numbers from the global script to enable the current script to call them. You normally place import statements into the script header so that all rooms can benefit from them.

-

In order to import the variable, it must have been exported from the global script with the export keyword.

-

NOTE: You MUST import external variables with the correct type. If counter was declared as a short in the global script, you MUST import it as a short, otherwise your game may crash.

-

NOTE: You cannot import old-style string variables (this does not apply to new-style String variables).

-

As a special case, specifying the optional keyword attribute within a struct definition will define a virtual property, which will also require matching getter and setter functions.

-

For example:

-
struct Weapon
-{
-    protected int damage;
-    import attribute int Damage;
-};
-

Please see the Object Oriented programming page for more details.

-
-
-
-

export

-

export variable [, variable ... ] ;

-

Declares that variable is exported and is available to access in other scripts, if declared using the import keyword in those scripts.

-

For example:

-
export my_variable;
-export counter, strength;
-

This exports three variables (my_variable, counter, and strength) to be available for import.

-
-
-
-

readonly

-

readonly data_type variable [ = value ];

-

The readonly keyword is used when declaring a variable, to indicate that its value cannot be changed.

-

For example:

-
readonly int zero;
-readonly int months = 12;
-
-
-
-

writeprotected

-

writeprotected data_type struct_member;

-

The writeprotected keyword is used to define a property within a struct, which can only be modified by struct members (including extender functions) using the this keyword. Reading the value is not restricted.

-

For example:

-
struct Weapon
-{
-    writeprotected int Damage;
-    import bool SetDamage(int damage);
-};
-
-
-
-

protected

-

protected data_type struct_member;

-

The protected keyword is used to define a property within a struct, which can only be accessed or modified by struct members (including extender functions) using the this keyword.

-

For example:

-
struct Weapon
-{
-    protected int Damage;
-    import bool SetDamage(int damage);
-};
-
-
-
-

noloopcheck

-

function noloopcheck function_name ( parameters ... ) {

-

The noloopcheck keyword disables the script loop checking for the current function.

-

Normally, if a while loop runs for more than 150,000 loops, AGS will assume that the script has hung and abort the game. This is to assist scripting since otherwise the game would lock up if you scripted a loop wrongly.

-

However, there are some rare situations in which you need a loop to run several thousand times (for example, when initializing a very large array). In this case, the noloopcheck keyword can be used to stop AGS aborting your script.

-

NOTE: The noloopcheck keyword must be placed between "function" and the function's name.
If you import the function into the script header, you do not include the "noloopcheck" keyword in the import declaration -- it is only included in the actual function body.

-

NOTE: If AGS gives you a script iterations error, DO NOT just automatically add this keyword as a way to fix the problem -- more often than not, it is a fault in your scripting and using this keyword will mean that the game will hang rather than abort.

-

For example:

-
function noloopcheck initialize_array() {
-    char bigarray[200000];
-    int a = 0;
-    while (a < 200000) {
-        bigarray[a] = 1;
-        a++;
-    }
-}
-

without the "noloopcheck" keyword here, AGS would abort that script.

-
-
-
- - - - - -
- - diff --git a/ScriptModules.html b/ScriptModules.html deleted file mode 100644 index def1613a3..000000000 --- a/ScriptModules.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - Managing modules - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Script Modules

-

AGS script modules are a way for AGS script code to be reused and shared. They are written in AGS script code entirely, and thus are independent of the platform on which a game is run.

-

A Script Module is a pair of an AGS Script file and an AGS Script Header file, with an additional metadata.

-
-

Managing modules

-

You can manage them by expanding the Script entry in the tree of Explore Project panel.

-

You can right click on Scripts to show options:

-
    -
  • New script -
      -
    • create a new module from scratch
    • -
  • -
  • Import script... -
      -
    • load a module from a .scm file that you have downloaded
    • -
  • -
  • New folder -
      -
    • creates folder, which can be used to organize script modules in groups
    • -
  • -
-

Right clicking on a folder of Script Modules should give the above options and additionally:

-
    -
  • Move up -
      -
    • The order of modules can be important, as it reflects the order in which they are compiled and run, so this option and the next let you change their ordering.
    • -
  • -
  • Move down -
      -
    • moves the script module up in the order
    • -
  • -
-

Right clicking the module should give you the options:

-
    -
  • Rename -
      -
    • Give the module another name
    • -
  • -
  • Delete -
      -
    • Removes an existing module from the game
    • -
  • -
  • Export... -
      -
    • save your own module as a .scm file that you can share with others
    • -
  • -
-
-
-

Writing Script Modules

-

When you click a module directly, you can use the properties panel to enter a brief description of the module, a version number and authorship details in the module manager when you create a module. Double clicking will expand and revel both the script and the header files.

-

As when writing scripts, you need to reference a function that was previously declared above, script modules should be ordered so that modules below only reference functions that are import declared in the headers of the modules above them in the Script listing in the Explore Project.

-

You can find useful script modules from others in the Modules & Plugins board in the ags forums.

-

See also: More on handling multiple scripts

-
-
-
- - - - - -
- - diff --git a/Scripting.html b/Scripting.html deleted file mode 100644 index 8edb5aebc..000000000 --- a/Scripting.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - Scripting API - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Scripting API

- -
-
- - - - - -
- - diff --git a/ScriptingLanguage.html b/ScriptingLanguage.html deleted file mode 100644 index 12b6d36ae..000000000 --- a/ScriptingLanguage.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Scripting Language - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Scripting Language

-

This section provides an extensive reference for AGS script capabilities and common practices.

- -
-
- - - - - -
- - diff --git a/ScriptingTutorial.html b/ScriptingTutorial.html deleted file mode 100644 index feb715d78..000000000 --- a/ScriptingTutorial.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - Scripting Tutorial - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Scripting Tutorial

-

The AGS scripting system allows you to write a mini-program, giving you great control over your game. This tutorial will teach you the basics of script writing.

- -
-
- - - - - -
- - diff --git a/ScriptingTutorialPart1.html b/ScriptingTutorialPart1.html deleted file mode 100644 index 7bc24a84c..000000000 --- a/ScriptingTutorialPart1.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - Scripting Tutorial - Part 1 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Scripting Tutorial - Part 1

-

In AGS, all the interactivity in the game is handled using scripts. They're an essential part of game-making, so it's important that we go through how to use them.

-
-

The Basics

-

Right, we'll start off by doing something very simple - displaying a message to the player when they click the "Look" icon on a hotspot. Assuming that you've done the main AGS Tutorial, you should already have created a script that looks like this:

-
function hSignHome_Look()
-{
-    Display("The sign says 'EWOH'. I have no idea what that could mean.");
-}
-

Let's look at this in detail. "function" tells AGS that this is a block of script code that will run when an event occurs. "hSignHome_Look" is the name of that event. The empty parentheses ( ) tell AGS that this function takes no parameters (we'll come to them later). Finally, the curly brackets { and } define where this block of code starts and ends. Anything that you put between the { and the } will be run when this event is triggered.

-

Display is the name of the built-in command that we're going to run. Then, in parenthesis we put the parameters to that command. Parameters are extra pieces of information that the command needs to run -- in this case, it needs the message that we want to display.

-

Finally, we end the line with a semicolon. You use semicolons to tell AGS that it's the end of the command. Anything that you put after the semicolon becomes a separate command, and you'll usually do this on a new line.

-

It's important to mention here that lines beginning with a double-slash // are comments - AGS will ignore them, they are just there to help you remember what your script is doing. You can add comments to your script simply by starting the line with the // symbol.

-
-
-

Commands Explained

-

Each different command you can use in the script is also called a function. All the available commands are listed in the Scripting part of the manual, which also tells you how to use them.

-

We want to display a message to the player, so we used the Display function. Looking this up in the manual gives us the definition:

-
Display (string message, ...)
-  Displays a message to the screen. It will be displayed in
-  the standard message box, and centered in the middle of
-  the screen. (description continues...)
-

The key point here is the part of the first line inside the parentheses. This is called the parameter list and defines what parameters you give to the function. A parameter is some information that the function uses to decide what to do.

-

Each parameter is listed, separated by commas, and different between functions. They can be one of the following:

-
    -
  • string name
    This parameter is a string, i.e. a piece of text. This means that for this parameter you supply text, surrounded by double-quotes. For example, "My text".
    name is the name by which the parameter is referred to in the function description, it is not relevant for writing your script.

  • -
  • int name
    This parameter is an integer, i.e. a numerical value. This means that for this parameter you supply a number, for example 65.

  • -
  • CHARID
    This parameter is a character script name. You need to supply the script name of one of the game characters.

  • -
  • InventoryItem
    This parameter is an inventory item. You need to supply the inventory item you want to use.

  • -
  • ...
    This parameter is optional, and can be of any type. You do not have to supply it at all, but if you do the function description will tell you what type of value to use.

  • -
-

So, we know that our Display function needs a string and an optional parameter. The description goes on to explain that the optional parameter is used for advanced things like displaying variable values, so we can ignore it for now.

-

To make our script call the function we write its name, then the parameters inside brackets, and finally a semicolon. This is very important, as without the semicolon the script won't compile. Also, note that we DO NOT write the parameter type (e.g. "string" or "int"). So, we can add this line to our script:

-
Display("The sign says 'EWOH'. I have no idea what that could mean.");
-

This is what we already did in the main tutorial, but having examined it in more detail it should now make more sense why we've done it this way.

-
-
-

Instances

-

The AGS script language is object-based. What this means is that many commands are operated on something in the game. You should not confuse object-based with room objects, they are entirely different things. There is a script instance for each character in the game, each object in the room, each hotspot, and so on.

-

The name by which you access an instance in the script is given in the editor as the item's Script Name. For example, assuming our main character's script name is cEgo, then his instance name will be cEgo.

-

To perform a command on something, you type its Script Name followed by a dot, followed by the command name. When you type the dot, the AGS Editor will automatically pop up a list of the available commands:

-

The script editor's auto-complete

-

You then choose the appropriate command, and place any parameters in brackets, like we did above with the Display command. For example:

-
cEgo.AddInventory(iKey);
-

This will add the Key to the EGO character's inventory. If you look up AddInventory in the manual, you'll find it takes two parameters, an InventoryItem and an optional int. The InventoryItem means that you need to supply the Script Name of the inventory item; this is something you can set in the script editor.

-

The optional int means that there is an extra parameter which you can supply if you want to, but you don't have to. In this case it allows you to specify where in the character's inventory list the new item should be added, but we're not concerned with that right now.

-

As well as all the individual character instances such as cEgo, there is a special instance called player. This always corresponds to the current player character, so if you just want to perform a command on the player character (especially useful in games where the player can control different characters) then you can use the player instance to do so.

-
-
-

Command Sequences

-

Suppose we want the player to be given a pink poster when they look at the hotspot, as well as displaying the message. Assuming we have an inventory item set up to be the poster with the Script Name of iPoster, the script enables us to easily make this happen.

-

Our final script will look like this:

-
Display("The sign says 'EWOH'. I have no idea what that could mean.");
-cEgo.AddInventory(iPoster);
-

Note that the script system is case sensitive, so writing for example addinventory(iposter); will not work.

-

The script commands are processed from top to bottom in the order that you write them, so writing something like:

-
Display("Why did the chicken cross the road?");
-Display("Because he was bored.");
-

will mean that the player gets the two messages in the order you specified.

-
-
-

Recap

-

So, did you remember these vital points:

-
    -
  • Strings are surrounded by double-quote marks.
  • -
  • Semicolon after the closing bracket on each line.
  • -
  • The script is case sensitive.
  • -
  • To use an instance-based command, type the Script Name followed by a dot, followed by the command name.
  • -
  • The player instance corresponds to the current player character.
  • -
-
-
-

Variables

-

Scripts in AGS can use variables. A variable is an area of memory storage that contains a value, which you can check and change with your script.

-

To declare a variable, you write the variable type, followed by the variable name, then a semicolon. The type is either "int", "String" (note the capital S) or "float", and the name can be anything you like - it is what you will use to refer to it later. For example:

-
int myCounter;
-

The variable name can only contain letters A-Z, a-z and the underscore _ character.

-

You need to declare a variable before you can use it, so that the compiler can spot any mistakes and knows what type of things you can store in it.

-

Initially, your variable will have the value 0. Optionally, you can set the starting value within the declaration, like this:

-
int myCounter = 5;
-

which would set it to contain the value 5 initially instead.

-

Variable Scope

-

An unfortunate side effect of the script's attempt to emulate the 'C' language is variable scope. In short, this means that you need to place your variable definitions OUTSIDE all the event handlers, otherwise their values will keep getting reset.

-

So, to declare a variable for use by one of the room interaction scripts, you need to place the definition above the main function body. So, it should look something like this:

-
// room script file
-int myCounter;
-
-//...(other event scripts)
-
-function hSignHome_Look()
-{
-    Display("The sign says 'EWOH'. I have no idea what that could mean.");
-}
-
-//...(rest of file follows)
-

No script commands can be used outside functions (or AGS wouldn't know when to run them!) - only variable declarations are allowed there.

-

Changing variables

-

You can change the value of a variable very easily in the script - simply write the variable name, the equals sign, then the new value, followed by the semicolon. So:

-
myCounter = 10;
-

will change the value of our variable to be 10.

-

You can add to and subtract from a variable using the += and -= operators. So, to add 3 to the current value of myCounter, do the following:

-
myCounter += 3;
-

Checking variables

-

Obviously we need a way to find out what value our variable contains, otherwise it's useless. We do this using conditional statements, called if statements. An if statement looks like this:

-
if (myCounter == 5)
-{
-    myCounter = 0;
-}
-

what this means is that if myCounter contains the value 5, then the script inside the { } brackets will be run (which in this case changes the value of myCounter to zero).
If myCounter does not equal 5, the script inside the brackets is not run and execution carries on from after the } .

-

Note the double-equals in the if statement. In an "if" statement, you ALWAYS use the double-equals operator, which compares the two values. If you used a single equals it would set the value instead, which will yield some strange results.

-

The == is called an operator, because it performs an operation on the two values. The following basic operators are available:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
operatordescription
==compares the two values, and proceeds if they are the same
!=compares the two values, and proceeds if they are not the same
<compares the two values, and proceeds if the left hand value is less than the right hand value
>compares the two values, and proceeds if the left hand value is bigger than the right hand value
<=proceeds if the left hand value is equal to or less than the right hand value
>=proceeds if the left hand value is equal to or bigger than the right hand value
-

Putting it into practice

-

Now let's do something useful with our variable. Suppose that we want to have different messages every time the player looks at the hotspot. So, the first time they look it will describe it, then if they look again they get a different message describing something in more detail. Our code will want to look something like this:

-
// room script file
-int myCounter = 0;
-
-function hSignHome_Look()
-{
-    if (myCounter == 0)
-    {
-        Display("The sign says 'EWOH'. I have no idea what that could mean.");
-    }
-    if (myCounter == 1)
-    {
-        Display("Oh it says 'Home'.");
-    }
-    if (myCounter >=2)
-    {
-        Display("I guess that way leads towards my home.");
-    }
-
-    if (myCounter < 3)
-    {
-        myCounter += 1;
-    }
-}
-

myCounter starts off set to 0, so the first time this script is called it will run the first Display command, but not the others. Then, since 0 is less than 3, it will increase myCounter by 1, and since 0+1 = 1 it now holds the value 1.
Once the player has seen all the messages (myCounter == 2), it no longer increases the value so if they click again they will keep getting the final message.

-

Global variables made easy

-

Sometimes, you may want to set a variable value that can be shared between a room script and your global script. There are two ways to do this -- you can export the variable from the global script and then import it in the script header, but that's a bit advanced for this tutorial (see the article about importing and exporting variables for that). A simpler way is to use Global Variables pane in the Editor, where you may add variables of any built-in types.

-
-
-

Functions that return a value

-

When reading function descriptions in the manual, you will notice that some of them say they return a value. For example,

-
IsGamePaused ()
-  Returns 1 if the game is currently paused, or 0 otherwise.
-

You use these much as you would use a literal value such as "9". For example, you can do:

-
// Put the return value into our variable
-myCounter = IsGamePaused();
-

(OR)

-
// Test the return value directly
-if (IsGamePaused() == 0)
-{
-    myCounter += 5;
-}
-

Be sure to remember the parenthesis () after the function name.

-
-
-

Common Shortcuts

-

The script system has a few nice shortcuts for common tasks which you will find yourself using regularly.

-

Firstly, the ++ and -- operators increase and decrease the variable by 1, respectively. So, the last part of our previous script could have been written:

-
if (myCounter < 3)
-{
-    myCounter++;
-}
-

Also, the { } braces are only needed if you are using more than one command inside them. Since we have only one command, the "my_counter++;" line, we can remove the { } completely and just be left with:

-
if (myCounter < 3)
-    myCounter++;
-

However, this can lead to mistakes in scripts that are hard to spot, so I would advise always using braces just to be safe.

-

Finally, if you want to test whether a value is zero or not, you can just write it as follows:

-
if (myCounter)
-    Display("counter is non-zero");
-

which is equivalent to:

-
if (myCounter != 0)
-    Display("counter is non-zero");
-
-
-

Summary

-

We've covered the basics, so that hopefully you can now write a script of your own. There are many more advanced features that the system can do, but this should be enough to get you started.

-

When you're ready, feel free to proceed to the Tutorial Chapter 2 - The Patronizing Text Returns which covers more advanced topics.

-

Enjoy AGS!

-
-
-
- - - - - -
- - diff --git a/ScriptingTutorialPart2.html b/ScriptingTutorialPart2.html deleted file mode 100644 index 686652cab..000000000 --- a/ScriptingTutorialPart2.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - Scripting Tutorial - Part 2 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Scripting Tutorial - Part 2

-
-

Recap

-

In the First Scripting Tutorial, we covered the basics of scripting - how to write a simple script, using variables and conditional statements. You now know how to call all the built-in functions and write a fairly decent script. So, what's next?

-
-
-

Loops

-

You may find it useful to have a sequence of commands that are executed more than once. AGS supports this, using the while keyword. Its format is virtually identical to if:

-
int counter = 1;
-while (counter < 10) {
-    counter ++;
-}
-

This means that the body of the while statement is repeatedly processed, as long as the condition is true. So, in this case, since counter starts as 1, the loop will be run 9 times, since on the tenth time counter will be 10 and therefore it will stop.

-

NOTE: Be careful with while loops - it is possible to crash your game by using a badly written one.

-

Consider this poorly written while loop:

-
int counter = 1;
-while (counter > 0) {
-    counter ++;
-}
-

Here, counter starts off as 1, so the loop will run. Then, it will increase to 2. Since it is still greater than 0, the loop will run again. This particular loop will run forever, since counter can never become less than 1, and your game will grind to a halt.

-
-
-

Multiple conditions

-

On several occasions, you don't just want to decide what to do based on one variable - there may be a combination of things you want to consider.

-

For example, suppose that you want to display a message if the player has two specific inventory items. You could do this, and put two if statements inside each other:

-
if (player.HasInventory(iFirstItem))
-{
-    if (player.HasInventory(iSecondItem))
-    {
-        Display ("You have both the items!");
-    }
-}
-
-

AND Expressions

-

However, this is quite unwieldy and if you have a lot of conditions it will look rather messy. So, AGS lets you do it this way:

-
if ( (player.HasInventory(iFirstItem)) &&
-     (player.HasInventory(iSecondItem)) )
-{
-    Display ("You have both the items!");
-}
-

This makes use of the && operator.

-

NOTE: Notice that you need an extra pair of outer parenthesis, to contain the whole expression. Each part of the expression goes inside parenthesis, as normal, and they are joined with the && symbol.

-

You can extend this to as many checks as you like. For example, this will display the message if the openedDoor variable is currently set to true, and the variable timer is between 5 and 10.

-
if ((openedDoor == true) && (timer > 5) && (timer < 10))
-{
-    Display ("It's all working out fine.");
-}
-
-
-

OR Expressions

-

Sometimes you will want to do some processing if one or another condition is true. For example, you might want to let the player open a door if he has either the door key or a chainsaw.

-
if ((player.HasInventory(iDoorKey)) ||
-    (player.HasInventory(iChainsaw)) )
-{
-    player.ChangeRoom(10);
-}
-

The operator here is the double-vertical-bar || operator. It works similarly to the && operator, but it will process the commands inside it if either one expression, or the other, or both, are true.

-
-
-
-

Doing one thing or another

-

Sometimes, you want the script to take one course of action if a variable is set, and another course of action if it isn't. Initially, you might think you would do this:

-
if (timer == 5) {
-    // do something
-}
-if (timer != 5) {
-    // do something else
-}
-

That would work -- however, there is a neater way, using the else keyword:

-
if (timer == 5) {
-    // do something
-}
-else {
-    // do something else
-}
-

This also allows you to modify the variable inside the first block of code, without affecting whether the second block gets run or not.

-

You can do as many tests as you like, using the else if keyword. So, a complete piece of code could look like this:

-
if (timer == 5) {
-    // do something
-}
-else if (timer == 6) {
-    // do something different
-}
-else {
-    // do this if it's not 5 or 6
-}
-

Relating to the Home Sign Hotspot from the Tutorial, we can write it slightly more efficiently by using Else statements:

-
// room script file
-int myCounter = 0;
-
-function hSignHome_Look()
-{
-    if (myCounter == 0)
-    {
-        Display("The sign says 'EWOH'. I have no idea what that could mean.");
-    }
-    else if (myCounter == 1)
-    {
-        Display("Oh it says 'Home'.");
-    }
-    else if (myCounter >=2)
-    {
-        Display("I guess that way leads towards my home.");
-    }
-
-    if (myCounter < 3)
-    {
-        myCounter += 1;
-    }
-}
-
-
-

Your Own Functions

-

You've probably noticed in the manual, it mentioning functions such as repeatedly_execute, and on_event, and how you can add them to your global script to do cool stuff. But you may be wondering, how exactly to go about it.

-

Remember in Scripting Tutorial 1, we learned about function parameters and how they could be int, string, etc. Well, you write your own functions like this:

-
function dialog_request(int param)
-{
-    // contents of function go here
-}
-

You start with the keyword function, then follow it by the function name, and then parenthesis listing the parameter types and names. For each parameter that you want, you need to write its type (int or string), followed by the name it will be known by inside the function. This name can be anything you like - it is similar to naming a variable.

-

There are some fixed functions, such as dialog_request and on_event, which are part of AGS and therefore you MUST use the correct number and type of parameters. However, you may also add your own functions by naming them however you like, and having as many parameters as you need.

-

Functions are useful if you have a block of script code that you need to use in two different places - putting it in a function instead means you don't have to copy & paste, and that if you modify it, all other script that relies on it gets updated too.

-

To call your function from elsewhere in the script, just do it exactly like you call a built-in function - i.e. just write its name, parameters then a semicolon.

-

I think a couple of examples are in order. First of all, let's show a fixed function, on_event:

-
function on_event (EventType event, int data)
-{
-    if (event == eEventGotScore)
-    {
-        if (data == 5)
-        {
-            aSpecialScoreSound.Play();
-        }
-        Display("You just got %d points!", data);
-    }
-}
-

With this script, whenever the player scores points, they will get a message telling them so. Also, if they happen to get 5 points at once, it will play audio clip aSpecialScoreSound.

-

As you can see, you use the function parameters just like any other script variables.

-

Our own function

-

Now, suppose we have a special animation of the player doing a dance, and we want to be able to play it from various points in the script. By far the easiest way to do this would be to put it in a function:

-
function do_dance()
-{
-    cEgo.LockView(10);
-    cEgo.Animate(2, 5);
-    cEgo.UnlockView();
-}
-

This function runs view 10, loop 2, as the character's animation, waits until it finishes and then reverts to the default view.

-

NOTE: If you're wondering where to place your custom functions, just open up the "Global Script" (AGS Editor -> File Menu -> Open GlobalScript.asc) and write them in there. The function must be outside all other functions.

-

Now, elsewhere in your script, when you want the player to dance, just do:

-
do_dance();
-

Returning a value

-

You may have noticed that some of the built-in functions, such as IsGamePaused, return a value to the script. You can do this from your own functions, using the return keyword. So:

-
function add(int a, int b)
-{
-    int result;
-    result = a + b;
-    return result;
-}
-

This function adds the two numbers together and returns the result (a useless function in practice since the + operator does the same thing, but it demonstrates the point).

-

Another part of your script could then do:

-
total = add(5, 10);
-

Using functions from room scripts

-

You may notice that when you add your own function to your global script, you can call it fine from other places in the global script but attempting to use it in a room script gives a parse error. The manual explains how to solve this using the script header and "importing".

-

You will need to edit the Global Script Header (AGS Editor -> File Menu -> Open GlobalScript.asc) and you can read about why within the manual. In the Index, look up "The Script Header" for more information.

-
-
-

Conclusion

-

We've covered some of the more advanced topics of scripting. I'm sure there's a lot of stuff I've forgotten to mention, so feel free to comment on it on the forums.

-

Enjoy AGS!

-
-
-
- - - - - -
- - diff --git a/Set.html b/Set.html deleted file mode 100644 index ebbd69a38..000000000 --- a/Set.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - Set Functions and Properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Set Functions and Properties

-

A Set allows you to store a sequence of unique strings and look them up efficiently. When adding a string a Set will automatically test whether such string is already contained and won't make a duplicate.

-

Because of how a Set work internally, searching for a string in a Set is faster than searching for it in a plain array. Its advantage increases with the number of items. They are also fast in adding and removing items dynamically.

-

Similar to Dictionary, Set has two general properties: sort style and compare style.

-

Sort style defines whether items are stored sorted or unsorted. The unsorted containers are typically faster to search in, but the items will be stored in an undefined order.

-

Compare style determines whether strings are compared as case sensitive or case insensitive. For example, in a case-sensitive Set the strings "Parameter" and "parameter" will be seen as two different items, but in a case-insensitive Set they will be seen as identical. Compare style defines both string uniqueness and sorting.

-

At the moment a Set does not let you directly access all of its internal data at once, but it does have the GetItemsAsArray function that will write all items to a dynamic array, which you may parse, print, and otherwise use as you see fit. The order of items in this array will be match the order within the Set, hence if the Set was sorted the array will be sorted as well.

-

Compatibility: Set struct is supported by AGS 3.5.0 and later versions.

-

See also: Dictionary

-
-
-

Set.Create

-
static Set* Set.Create(SortStyle sortStyle, StringCompareStyle compareStyle)
-

Creates a new empty Set of the given properties. If you don't pass any options the Set is unsorted and case-insensitive. Note that you cannot change sorting style and case sensitivity later, you would have to create another Set and move values there.

-
    -
  • Possible values for sortStyle: eNonSorted, eSorted.
  • -
  • Possible values for compareStyle: eCaseInsensitive, eCaseSensitive.
  • -
-

Example:

-
Set* mySet = Set.Create();
-
-
-
-

Set.Add

-
bool Set.Add(String item)
-

Adds an item to the Set. Returns false if the Set already contained the item, otherwise returns true.

-

Example:

-
mySet.Add("item1");
-bool wasAdded = mySet.Add("item1"); // wasAdded will be false
-

See also: Contains, Remove

-
-
-
-

Set.Clear

-
void Set.Clear()
-

Removes all items from the Set.

-
-
-
-

Set.Contains

-
bool Set.Contains(String item)
-

Returns whether an item is already in a Set.

-

Example:

-
Set* mySet = Set.Create();
-mySet.Add("test");
-if (mySet.Contains("test")) {
-    Display("Test passed!");
-}
-

See also: Add, Remove

-
-
-
-

Set.GetItemsAsArray

-
String[] GetItemsAsArray()
-

Creates a dynamic array filled with items in same order as they are stored in the Set, set by SortStyle when the Set is created.

-

Returns null if this Set is empty.

-

Example:

-
Set* mySet = Set.Create(eSorted);
-mySet.Add("test");
-mySet.Add("test2");
-String items[] = mySet.GetItemsAsArray();
-for (int i = 0; i < mySet.ItemCount; i++)
-    Display("#%d: %s", i, items[i]);
-

In the above example the items will be displayed on screen one by one, preceded by their index.

-

See also: Set.ItemCount

-
-
-
-

Set.Remove

-
bool Set.Remove(String item)
-

Removes an item from the Set. Returns false if there was no such item, otherwise returns true.

-

See also: Add, Contains

-
-
-
-

Set.CompareStyle

-
StringCompareStyle Set.CompareStyle
-

Returns the string comparison method for this Set.

-

See also: SortStyle

-
-
-
-

Set.ItemCount

-
int Set.ItemCount
-

Returns the number of items currently in the Set.

-
-
-
-

Set.SortStyle

-
SortStyle Set.SortStyle
-

Returns the sorting method for this Set.

-

See also: CompareStyle

-
-
-
- - - - - -
- - diff --git a/Settingupthegame.html b/Settingupthegame.html deleted file mode 100644 index f9ad62ed7..000000000 --- a/Settingupthegame.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - Setting up the game - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Setting up the game

-

Now that you know how to create a room, it's time to set up the game-wide settings. These include inventory items, sprite graphics, palette setup and other things which do not depend on individual rooms.

-
-
-

Palette setup

-

The first thing you need to do when you create a new game is to decide whether you want to use 8-bit (palette-based) color or 32/16-bit (true-color / hi-color). If you want to use 32/16-bit color, you can still use 256-color backgrounds and sprites if you want to, but the engine will only run in a 32-bit color resolution, thus slowing it down.

-

If you want to use 8-bit, you need to set up the palette. This is because all sprite and background scene imports rely on the palette setup to be the same. You CANNOT use hi-color nor true-color sprites or backgrounds in a 256-color game.

-

All this means, use 8-bit color only when you know what you are doing or when you intentionally want to punish yourself with lots of nerdy fumbling around on settings for colormodes that were not artist's decisions but actual hardware limitations of the time and every artist is glad these restrictions are no longer in place.

-

But you can do really cool color cycling effects only in 8-bit games, other than that this is really outdated technology, but it still works of course, and how it works is explained in the next paragraphs.

-

You set your chosen color depth by opening the General Settings pane and adjusting the Color Depth setting near the top of the list.

-

After that double click the "Colours" node in the project tree, which will open a "Colours" pane and let you set up your game's palette. Please continue to the Colours Editor topic for more information.

-
-
-
-

Inventory

-

Most adventure games allow the player to carry a set of objects, which he can then use to solve puzzles. Adventure Game Studio makes this inventory easy for you to manage.

-

Every inventory item which the player may carry during the game at one time or another is listed under the "Inventory items" node. Here, each item has a number and a script name which you use in scripts to identify the object. To create a new item, right-click on the "Inventory items" node.

-

Double-click on an inventory item to open it up. On the left you'll see the graphic used for the object in the inventory window. To change this, select the "Image" entry in the property grid on the right, and click the "..." button.

-

The last thing to do with the inventory items is to define their events: what happens when the player manipulates them in the inventory window. Click the "Events" button (the lightning bolt button at the top of the property grid), which brings up a list which works identically to the hotspot events. The available events are described in the reference section.

-

NOTE: Each character in the game carries their own set of inventory items. This means, if you want to create a game like Day of the Tentacle, where the player can control three different characters, each character will have a separate inventory.

-

You have two choices about how the inventory is displayed to the player -- a built-in inventory window to get you started, and support for custom inventory windows when you're ready to make your own.

-

The default option is the Sierra-style pop-up inventory window, which is popped up by clicking on the Inventory icon on the icon bar. You can also have the current inventory item displayed in its own button on the icon bar by creating a button on the GUI and setting its text to (INV) which stretches the item picture to the button size, or (INVNS) which draws the inventory item picture straight onto the button with no resizing. Finally, (INVSHR) , probably the best option, will draw it at actual size if it will fit, or shrink it if not.

-

The other option is a custom inventory window. To use this, you will need to edit the GUI to add it, so I will explain this later on. While you are starting off with AGS, it is recommended to use the supplied standard Sierra-style inventory window.

-

Finally, you may have noticed a "Hotspot Marker Settings" frame at the top of the Inventory pane. This allows you to switch on an option so that when the selects an inventory item, the mouse cursor for it will have a dot and mini-crosshair drawn on it, to show the player where the hotspot is. You can enter the color for the center dot and also for the surrounding 4 pixels.

-
-
-
-

Importing your own sprite graphics

-

When you were choosing the graphics for the object earlier in this tutorial, you probably noticed that most of the graphics available didn't look up to much. This is no problem, because you can import your own graphics using the Sprite Manager.

-

Go to the Sprites pane in the editor. Here, you will see the complete sprite set for the game. There are two ways to import your graphics - either overwrite an existing slot with your graphic, or create a new slot for it.

-

To overwrite an existing sprite, right-click the sprite and select "Replace sprite from file". To import a new slot, right-click on the background to the window and choose "Import new sprite".

-

The graphic you choose to import must be at the same color depth as your game (i.e. if you are using hi-color backgrounds, your sprites must be hi-color, and vice versa). AGS will attempt to convert the image if possible, but if your game is 256-color then the results of downgrading a hi-color image can be poor.

-

Then, the Import Sprite window will appear. Here, you need to decide which portion of the image will be imported. You do this by right-clicking and dragging in the image, which will produce a yellow rectangle showing the selection. Once you are happy with it, left-click to import. Alternatively, you can import the entire image with the "Import whole image" button.

-

NOTE (256-color only): You may well find that the colors on your graphic look slightly strange in the AGS Editor. This is because the sprites are only allocated, by default, the first 41 of the palette colors (see the palette section), so your graphic will be remapped to this much smaller palette. If you find that many of your imported sprites look strange, you can increase the number of colors assigned to sprites, at the expense of background colors (again see the section above for information on how to do this).

-

If your sprite will only be used in one room then alternatively you can use the "use background palette" option, which will remap your graphic to the palette of the room currently loaded, giving much better results. Note, however, that if you do this, and then try and use the sprite on another screen, its colors will most likely be screwed up. To use the room palette, check the "Use room background" check-box. Make sure to un-check this box before you import any other sprites.

-

NOTE: The transparent color used by AGS is palette index 0 (for 256-color sprites) and RGB (255,0,255) for hi-color. Any pixels you draw on imported sprites in these colors will be transparent.

-

You can group imported sprites into folders. This prevents the main sprite list from becoming too long. By default, the Sprite Manager displays the Main folder, which contains some graphics and a sub-folder called "Defaults". Folders work the same way as Windows folders. Right-click on a folder in the tree to rename it or make a sub-folder.

-

You can delete a folder by right-clicking on it and selecting the "Delete" option; beware though that this will also delete all the sprites in the folder.

-

For more information, see Sprite Manager topic.

-
-
-
-

Introduction sequences

-

You can easily add intro, outro and cutscene sequences to your game. There is no specific function to do these, but using the provided animation and script commands you can create almost anything you might need.

-

Normally, the game will start in room 1. This is defined by the starting room number of the player character. To change it, open up the player character's Character pane, and change the StartingRoom number in the property grid.

-

TIP: The starting room facility is also useful when testing your game. You can make the game start in any room, at the point where you are testing it, rather than having to keep playing the game through to get there.

-

Cutscenes are created using the normal animation script commands, such as Character.Walk, Object.SetView, and so forth. I would suggest you leave this until you are more comfortable with AGS, and have some experience of how to use these functions.

-
-
-
-

Animations

-

In most games you will use some sort of animation during the game, whether it be a flag waving in the breeze or the player bending over to pick something up. The term "animation" refers to the ability to change the look of, and move, objects.

-

Animations in AGS are managed using Views. A "view" is a set of one or more "loops". A loop is a set of frames which, when put together, give the effect of movement. Each frame in the view can be set a graphic and a speed.

-

Go to the editor's "Views" node, right-click it and select the "New view" option to create us a new, empty view. Double-click the new view to open it. Each loop is displayed horizontally with its number at the left hand side, frames going out to the right. To add a frame, click the grey "New frame" button. To delete a frame, right-click it.

-

To change a frame's graphic, double-left-click it. The sprite list screen will be displayed (you may remember this from the Object graphic selection) where you can choose the graphic you want to use for this frame.

-

Note that for walking animations, the first frame in each loop is reserved for the standing frame, and when walking it will only cycle through from the second frame onwards.

-

You select a frame by left-clicking it -- when you do so, the property grid will update with information about the frame. One of these settings is called "Delay", which is the frame's relative speed. The larger the number, the longer the frame stays (i.e. the slower it is). When the animation is run, an overall animation speed will be set, so the actual speed of the frame will be: overall_speed + frame_speed . Note that you can use negative numbers for the frame delay to make it particularly fast, for example setting it to -3 means that the frame will stay for hardly any time at all.
Animation speed is specified in Game Loops (i.e. animation speed 4 will show the frame for 4 game loops - at 40 FPS, that would be 0.1 seconds).

-

The "Sound" property allows you to enter a sound number that will be played when this frame becomes visible on the screen. This is especially useful for footstep sounds.

-

You run an animation by using the script animation commands, which will be explained in detail later. Briefly, to animate an object, you first of all need to set the object's view to the correct view number (use the Object.SetView script command), and then use the Object.Animate script command to actually start the animation.

-
-
-
-

Characters

-

A character is similar to an object, except that it can change rooms, maintain its own inventory, and take part in conversations (more on these later). It can also have its own custom animation speed and movement speed.

-

Go to the "Characters" node in the main tree. You will see under it a list of all the characters in the game. To create a new character, right-click the "Characters" node and choose the "New character" option.

-

You will see that there are a lot of options which you can set for each character. The most immediately obvious one is the "Make this the player character" button, which allows you to change which character the player will control at the start of the game. When the game starts, the first room loaded will be this character's starting room.

-

The rest of the options are hidden away in the property grid on the right. Some of them are described below:

-

The "UseRoomAreaScaling" option allows you to specify whether this character will be stretched or shrunk in scaling areas of the screen. You might want to disable this if you have a character who always stands still in the same place, and you want the graphics on-screen to be the same size as you drew them, even though he is standing on a scaled area.

-

The "Clickable" option tells AGS whether you want the player to be able to click on the character. If Clickable is enabled, then the character will be interactable, like the way things worked in Sierra games. If it is not enabled then the character works like the main character did in LucasArts games - if you move the cursor over him or click to look, speak, etc, then the game will ignore the character and respond to whatever is behind him.

-

To set which room this character starts in, change the "StartingRoom" property. You can set the character's location within this room by using the "StartX" and "StartY" properties to type in the X,Y co-ordinates you want him to start at. These co-ordinates define where the middle of his feet will be placed.

-

The "NormalView" is where you set what the character looks like. You must create a view in the View Editor, and this view must have either 4 or 8 loops. If you use 4 loops, then when walking diagonally the closest straight direction is used for the graphics. Each loop is used for the character walking in one direction, as follows:

-
 Loop 0 - walking down (towards screen)
- Loop 1 - walking left
- Loop 2 - walking right
- Loop 3 - walking up (away from screen)
- Loop 4 - walking diagonally down-right
- Loop 5 - walking diagonally up-right
- Loop 6 - walking diagonally down-left
- Loop 7 - walking diagonally up-left
-

To change the rate at which the character animates, change the Animation Speed box. Here, a smaller number means faster animation. Note that this does NOT effect the speed at which the character actually moves when walking.

-

NOTE: The first frame in each loop is the standing still frame. When walking, the game will cycle through the rest of the frames in the loop.

-

The "MovementSpeed" option allows you to control how fast the character moves when walking. Here, a larger number means he walks faster. If you find that a movement speed of 1 is still too fast, you can use negative numbers (e.g. -3) which will move even more slowly. The lower you go, the slower the movement speed.

-

The "SpeechColor" option specifies which color is used for the text when this character is talking. It effects all messages that are said by this character. You can find out the color for each number by going to the "Colors" pane.

-

The "IdleView" option allows you to set an idle animation for the character. To do this, create a new view, with one or more loops of the character idle (e.g. smoking, reading a book, etc). Then, set the "Idle view" to this view number. If the player stands still for 20 seconds (you can change the timeout with the Character.SetIdleView script function), then the current loop from the idle view will be played.

-

The "ScriptName" property sets the name by which the character will be referred to in scripts and in conversation scripting. The difference from the RealName of the character is that the script name may only contain letters A-Z and numbers 0-9 (the first character must be a letter, however). The convention in AGS is that character script names start with a lower case "c".

-

To set what happens when the player interacts with the character, click the "Events" button (this is the lightning bolt button at the top of the property grid). You will be presented with the events list; select an event and press the "..." button to allow you to enter some script to handle the event.

-

You can also set a talking view for the character. To set one, use the "SpeechView" property. If you set a talking view, then that view will be used to animate the character while they are speaking. You should generally have about 2-3 frames in each loop (the loops are used for the same directions as in the main view).

-

There is also an available "Blinking view". This is used to play intermittent extra animations while the character is talking. You may want to use this for effects such as blinking (hence the name). If you set a view here, it will play intermittently while the character talks (it is drawn on top of the normal talking view). The default time between it playing is 3-4 seconds, but you can change this with the Character.BlinkInterval script property.
NOTE: the blinking view is currently only supported with sierra-style speech.

-

"UseRoomAreaLighting" allows you to tell AGS whether this character will be affected by light and tint levels set on room regions.

-

If you disable "TurnBeforeWalking", it will override the General Setting for turning and tell AGS not to turn this particular character around on the spot before they move.

-

"Diagonal loops" specifies that loops 4-8 of the character's view will be used for the four diagonal directions. If this option is not enabled, the character will only face 4 ways, and you can use loops 4-8 for other purposes.

-

"Adjust speed with scaling" modifies the character's walking speed in line with their zoom level, as set on the walkable areas.

-

"Adjust volume with scaling" modifies the volume of any frame-linked sounds on the character's view (e.g. footstep sounds) with their zoom level, as set on the walkable areas.

-

"Solid" specifies that this character is solid and will block other characters from walking through it. Note that both characters must be solid in order for them to block one another.

-

AGS allows you to export your characters to a file, and then import the file into a different game - so you can share the same main character between games, or create one for distribution on the internet. Right-click on the character and choose "Export character". The entire character setup and graphics will be exported to the file, including the character's walking and talking animations. To import the character into a different game, load it up, right-click the "Characters" node and choose "Import Character". The file selector appears, where you find the CHA file which you exported earlier. A new character slot will be created and all the settings imported.

-

NOTE: Because importing always creates a new slot, you cannot use it to overwrite an existing character.

-
-
-
-

Conversations

-

While the old Sierra games were mainly based on action and not talking, the LucasArts games took the opposite approach.

-

If you want to create a game with conversations where the player can choose from a list of optional topics to talk about, you can now with the new Dialog Editor. Go to the "Dialogs" node.

-

Conversations are made up of Topics. A "topic" is a list of choices from which the player can choose. You may have up to 30 choices in a topic. However, not all of them need to be available to the player at the start of the game - you can enable various options for conversation once the player has said or done other things.

-

The Dialog Editor is quite self-explanatory. Double-click a dialog topic to open up its window. You'll see the list of options for the topic on the left, and the dialog script on the right. Each option has a couple of checkboxes to its right:

-
    -
  • The "Show" column specifies whether that option is available to the player at the start of the game.
  • -
  • The "Say" column defines whether the character says the option when the player clicks it. The default is on, but if you want options describing the player's actions rather than the actual words, you may want to turn this column off for that dialog.
  • -
-

Dialog scripts

-

You control what happens when the player chooses an option by editing the script on the right. For more information on how to handle this script see the Article about Dialog Scripts.

-

Parser input

-

You'll notice in the dialog editor, the property grid has an option called "ShowTextParser". If you enable this, a text box will be displayed below the predefined options in the game, which allows the player to type in their own input.

-

If they type in something themselves, then the dialog_request global script function will be run, with its parameter being the dialog topic number that the player was in.

-

AGS automatically calls ParseText with the text they typed in before it calls dialog_request, so you can use Said() calls to respond. See the text parser section for more info.

-
-
-
-

The General Settings panel

-

The General Settings pane contains a list of all the various overall options that you can set for your game.

-

Many of these options can be changed at runtime with the script command SetGameOption.

-

The available settings are detailed in documentation in the General Settings page.

-

Some settings you may want to adjust right at the start of your game include Developer name, Game name and Resolution. Resolution is the most important option, which determines the size of game area visible on screen at any given time.

-
-
-
-

Cursors

-

The Cursors node of the editor shows you the current mouse cursor modes available in the game. Each cursor mode performs a different action within the game. Double-click one to open it up.

-

The "StandardMode" option in the property grid tells AGS that this is a 'normal' cursor mode - i.e. using this cursor will fire an event on whatever is clicked on as usual. This mode applies to the standard Walk, Look, Interact and Talk modes, but you can create others too. Do not tick it for the Use Inventory mode, since this is a special mode.

-

The "Animate" option allows you to specify that the mouse cursor will animate while it is on the screen. Choose a view number, and the cursor will animate using the first loop of that view. You can make it animate only when over something (hotspot, object or character) by enabling the "AnimateOnlyOnHotspots" option.

-

The "AnimateOnlyWhenMoving" box allows you to do a QFG4-style cursor, where it only animates while the player is moving it around.

-

Three of the cursor modes are hard-coded special meanings into AGS:

-
    -
  • Mode 4 (Use Inventory). This is special because the game decides whether to allow its use or not, depending on whether the player has an active inventory item selected.
  • -
  • Mode 6 (Pointer). This cursor is used whenever a modal dialog is displayed (i.e. a GUI that pauses the game). Normally this is a standard arrow pointer.
  • -
  • Mode 7 (Wait). This cursor is used whenever the player cannot control the action, for example during a scripted cutscene. For a LucasArts-style game where the cursor disappears completely in this state, simply import a blank graphic over the wait cursor.
  • -
-

For the standard modes,

-
    -
  • Mode 0 will cause the player to walk to the mouse pointer location when clicked.
  • -
  • Modes 1, 2, 3, 5, 8 and 9 will run the event with the same name as the cursor mode.
  • -
-
-
-
-

Fonts

-

AGS comes with a couple of default fonts, but you can replace the and add your own. You can use both TrueType (TTF) and SCI fonts (Sierra's font format).

-

SCI fonts can be created in two ways:

-
    -
  • Extract the font from a Sierra game, using the SCI Decoder program available on the internet.
  • -
  • Create your own font and save it in SCI Font format, using the SCI Graphic Studio program.
  • -
-

There are also some fonts available on the AGS website.

-

When choosing whether to use SCI or TTF font following should be taken into account:

-
    -
  • SCI font is a raster (bitmap) font, which means that it does not scale and always keeps same size and pixel-precise visual shape.
  • -
  • TTF font is a vector font, that may be scaled to suit your game (you choose its size during import), and may be rendered with anti-aliasing.
  • -
-

In general you should prefer using TTF fonts, but SCI fonts may still be useful in low-resolution games (because not all TTF fonts scale down well) and situations where you need pixel-precise looks of the drawn symbols.

-

Go to the "Fonts" node in the main tree. Here you can see all the current fonts listed underneath. You can create a new font by right-clicking the "Fonts" node and choosing "New font". To overwrite an existing font, open it up and press the "Import over this font" button.

-

Please refer to the Font Preview topic for more information on how the font may be imported and configured for runtime.

-

NOTE: By default font 0 is used as the normal text font for in-game messages, and font 1 is used as the speech font. To use any other fonts for these purposes, you can set the Game.NormalFont and Game.SpeechFont properties in your script.

-

Now you are ready to read more about scripting.

-

Next Reading: Scripting Tutorial 1

-

Return to Tutorials Index: Tutorials Index

-
-
-
- - - - - -
- - diff --git a/Setup.html b/Setup.html deleted file mode 100644 index 156becba5..000000000 --- a/Setup.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - Run-time engine setup - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Run-time engine setup

-

The engine Setup program allows the player to customize certain game settings.

-

NOTE: currently a setup program is only available for Windows.

-

The options in the setup program are divided into two parts: common and advanced. The advanced options can be accessed by clicking the "Advanced" button.

-
-

Graphics settings

-

Driver

-

Lets the player choose a graphics driver. Currently supported are Software renderer (the old and slower option, but the only driver that fully supports 8-bit games), Direct3D 9 and OpenGL (newer and faster drivers with hardware acceleration, but without proper palette-based effects support).

-

Start in a windowed mode

-

If checked, the game will be run in windowed mode, as opposed to fullscreen.

-

Fullscreen as borderless window

-

If checked, fullscreen will use a borderless window, keeping the current display resolution. This is preferred in modern systems.

-

Fullscreen mode

-

If Fullscreen as borderless window is unchecked, it will instead use exclusive fullscreen, and this options will let you select which resolution the display will adjust to. The list of modes depends on the graphic card and the system's capabilities.

-

Fullscreen scale and Windowed scale

-

These two options determine the way the game will be scaled (when required) in fullscreen and windowed modes respectively:

-
    -
  • None. (Windowed only) The game will be shown in its native resolution. Note that low-resolution games will be running in a tiny window on modern monitors, so this choice is more suitable for high-resolution games.

  • -
  • Max round multiplier. The game will be scaled up using a maximal round integer (2, 3, 4, etc) multiplier with which it still fits inside the screen.

  • -
  • Fill whole screen. The game will be stretched to fill the whole screen. Note that if the game's native aspect ratio is different from the screen's aspect ratio, the game graphics will appear deformed and indeed stretched.

  • -
  • Stretch, preserving aspect ratio. The game will be stretched to screen borders while respecting the game's native aspect ratio (width/height proportions). This ensures that the game graphics will always look correct, but the option can lead to black borders at the left & right or top & bottom sides of the screen.

  • -
-

Scaling method

-

Here the player can choose a game scaling algorithm, and the list of available filters depend on graphics driver selection. Currently OpenGL and Direct3D 9 both supports Nearest Neighbour (used more often in pixelart games) and Linear interpolation (used more often with high resolution games).

-
-
-

Gameplay settings

-

Game language

-

Here the player selects one of the available game translations.

-
-
-

Advanced graphics options

-

Vertical sync

-

This option enables vertical synchronization mode, which reduces the "tearing" effect on the game graphics, but the option may decrease the game running speed.

-

Use 85 Hz display

-

This is a legacy option that sets the monitor refresh rate to 85 Hz to run the game, which eliminates flickering. However, this does not work on all monitors, and not at all on flat panel displays, which is why it is disabled by default.

-

Smooth scaled sprites

-

This option will apply anti-aliasing to scaled game objects, such as , in order to give them a smoother look after the resizing. This may affect game aesthetics, and also can slow the game down when using "Software" graphics driver, so it is off by default.

-

Render sprites at screen resolution

-

When enabled, characters and objects are scaled in screen pixels rather than game pixels. What this means is that when a low-resolution game is run in a larger window, the sprites will take advantage of this higher resolution and look less pixelated when scaled down. This option may be locked to a certain state by the game itself (according to author's choice), in which case the player will not be able to change it.

-
-
-

Sound options

-

Audio Driver

-

Here the player may choose the digital audio driver, or disable digital sound completely.

-

Use voice pack if available

-

When checked, this option enables voice speech in game (where available).

-

Sound cache (RAM)

-

This is a cache for small sounds, to reduce disk access in sounds that are reused in game.

-
-
-

Mouse options

-

Auto lock to window

-

If this option is enabled, the mouse will be locked inside game window whenever the player clicks on it or switches into game. The locked mouse cannot leave the game window, making it impossible to accidentally jump out of the game by mistake (by clicking on the desktop, for example). Naturally, this option is only important if the game is run in windowed mode; when the game runs in fullscreen mode, the mouse is always locked.

-

Mouse speed

-

This slider allows the player to set up the mouse cursor speed in game. It should be noted that this parameter is only applied if the game is run in fullscreen mode.

-
-
-

Other advanced settings

-

Sprite cache (RAM) max size

-

This option limits the maximum amount of memory that the game will use for its sprite cache. The sprite cache is used to keep a partition of all the game sprites loaded to the memory, thus reducing loading times between rooms and preventing slowdowns during game play. Of course, higher values make the game use more memory. Usually only high-resolution games with long animations need to have this value increased.

-

Texture cache (VRAM) max size

-

Available since AGS 3.6.1.

-

This option limits the maximum amount of video memory that the game will use for its texture cache. The texture cache is used to keep sprites that are pushed to the GPU in video memory, and reduce the need to convert images from the sprite cache to the video memory to present them on screen. The limits here may be affected by other things in the computer that are using video memory, and GPU available memory.

-

Custom game saves path

-

When unchecked, the game will store its saved games in the default Windows folder: C:/Users/<Username>/Saved Games/<Game Title>. Players may enable this option and define their own location to store game saves.

-

Custom game shared data path

-

When unchecked, the game will store its shared files - custom runtime data shared among all the users of this computer - in the default Windows folder: C:/Program Data/Adventure Game Studio/<Game Title>. Players may enable this option and define their own location to store these game files.

-

See also: Default setup (Editor Pane), Location of the configuration file on the system and options

-
-
-
- - - - - -
- - diff --git a/Slider.html b/Slider.html deleted file mode 100644 index 12c724ac7..000000000 --- a/Slider.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - Slider properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Slider properties

-

Slider is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-

See also: Editing GUI Sliders

-
-
-

Slider.BackgroundGraphic

-
int Slider.BackgroundGraphic;
-

Gets/sets the sprite used to draw the slider background. This image is tiled along the length of the slider.

-

The background graphic can be set to 0, which will draw the default grey slider background.

-

Example:

-
Display("sldHealth's background is sprite %d", sldHealth.BackgroundGraphic);
-

displays the sldHealth slider's background image

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Slider.HandleGraphic

-
-
-
-

Slider.HandleGraphic

-
int Slider.HandleGraphic;
-

Gets/sets the sprite used to draw the handle on the slider. The handle represents the slider's current position, and can be dragged around by the player.

-

The handle graphic can be set to 0, which will draw the default grey handle.

-

Example:

-
Display("sldHealth's handle is sprite %d", sldHealth.HandleGraphic);
-

displays the sldHealth slider's handle image

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Slider.BackgroundGraphic, Slider.HandleOffset

-
-
-
-

Slider.HandleOffset

-
int Slider.HandleOffset;
-

Gets/sets the offset at which the handle image is drawn. This value is initially set up in the editor.

-

Example:

-
sldHealth.HandleOffset = 2;
-

sets the sldHealth slider's handle to be drawn an extra 2 pixels to the right.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: Slider.HandleGraphic

-
-
-
-

Slider.Max

-
int Slider.Max;
-

Gets/sets the maximum value of the specified GUI slider.

-

When changing the maximum, the slider's Value will be adjusted if necessary so that it lies within the Min - Max range.

-

An error occurs if you try to set the Max to a lower value than the Min.

-

Example:

-
sldHealth.Max = 200;
-

sets the maximum value of the sldHealth slider to 200.

-

See also: Slider.Min, Slider.Value

-
-
-
-

Slider.Min

-
int Slider.Min;
-

Gets/sets the minimum value of the specified GUI slider.

-

When changing the minimum, the slider's Value will be adjusted if necessary so that it lies within the Min - Max range.

-

An error occurs if you try to set the Min to a higher value than the Max.

-

Example:

-
sldHealth.Min = 0;
-

sets the minimum value of the sldHealth slider to 0.

-

See also: Slider.Max, Slider.Value

-
-
-
-

Slider.Value

-

(Formerly known as GetSliderValue, which is now obsolete)
(Formerly known as SetSliderValue, which is now obsolete)

-
int Slider.Value;
-

Gets/sets the value of the specified GUI slider. You would usually use this in the slider's OnChange event handler to find out what value the player has changed the slider to, in order to process their command.

-

When setting the value, the new value must lie between the MIN and MAX settings for the slider, as set up in the GUI editor.

-

Example:

-
System.Volume = sldVolume.Value;
-

will set the audio volume to the value of the slider sldVolume.

-

See also: Label.Text

-
-
-
- - - - - -
- - diff --git a/SourceControl.html b/SourceControl.html deleted file mode 100644 index d012b2ece..000000000 --- a/SourceControl.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - Source Control integration - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Source Control integration

-

The AGS Editor supports integration with source control systems like SourceSafe and Perforce.

-

What is source control?

-

Source Control allows you to easily keep copies of old versions of your files, so that if you break something you can easily look back and see what your script was like in previous versions.

-

AGS does not provide this functionality itself, but it is able to integrate with Source Control applications such as SourceSafe and Perforce in order to allow you to easily check things in and out.

-

Which providers are supported?

-

AGS supports any source control system that can integrate with Visual Studio (this is called the MSCCI interface). Most source control systems are quite heavyweight and designed for use by large teams, but there are smaller systems like SourceSafe available which work well on a standalone PC.

-

How do I use it?

-

If AGS detects an installed source control system, an extra option "Add to source control" will appear on the File menu. Use this to add your game to source control, and from then on whenever AGS attempts to edit a file it will prompt you to check it out if necessary.

-

You can check in files by using the "Show Pending Checkins" option that appears on the File menu once you've added your game to source control.

-

Which files does AGS put under source control?

-

AGS currently puts the main game file and your scripts, rooms, fonts and translations under source control. Optionally, you can also add sound, music and sprites by changing the setting in the General Settings pane.

-
-
- - - - - -
- - diff --git a/Speech.html b/Speech.html deleted file mode 100644 index 95c4b8268..000000000 --- a/Speech.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - Speech functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Speech functions and properties

-
-

Speech.AnimationStopTimeMargin

-

(Formerly known as game.close_mouth_end_speech_time, which is now obsolete)

-
static int Speech.AnimationStopTimeMargin
-

Gets/sets the time margin at which the character talking animation should stop before before speech time ends. This property is specified in game loops and is set to 10 by default.

-

NOTE: This property only affects the animation if voice mode is disabled.

-

Example:

-
Speech.AnimationStopTimeMargin = 40;
-

will stop talking animation 40 game loops (1 second with the default game speed) before speech time ends.

-

See also: Speech.DisplayPostTimeMs

-
-
-
-

Speech.CustomPortraitPlacement

-
static bool Speech.CustomPortraitPlacement
-

Enables/disables the custom speech portrait placement. When set to true the character portraits are positioned at screen coordinates defined by Speech.PortraitXOffset and Speech.PortraitY. When set to false the portraits will be automatically aligned again.

-

NOTE: This property has no effect if the Lucas-Arts speech style is used.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Speech.PortraitXOffset, Speech.PortraitY

-
-
-
-

Speech.DisplayPostTimeMs

-
static int Speech.DisplayPostTimeMs
-

Gets/sets the extra time the speech will stay on screen after its base time runs out. Commonly the time the speech lines and portrait stay on screen is calculated based on the text length - if the text mode is on, or voice clip length - if the voice mode is on. This property prolongs the time the speech text and/or portrait is displayed. This property does not interfere with speech skipping by key or mouse click: players will still be able to skip speech any time they want (if appropriate skip mode is enabled). This property is specified in milliseconds and is set to zero by default.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Speech.AnimationStopTimeMargin

-
-
-
-

Speech.GlobalSpeechAnimationDelay

-

(Formerly known as game.talkanim_speed, which is now obsolete)

-
static int Speech.GlobalSpeechAnimationDelay
-

Gets/sets global speech animation delay which affects every character in game. This property is specified in game loops and is set to 5 by default.

-

NOTE: This property is ignored if lip sync is enabled.

-

NOTE: The property is only used when the Speech.UseGlobalSpeechAnimationDelay is set to true. This property cannot be used if the global speech animation delay is disabled. In that case, the individual character's animation delay is used instead.

-

See also: Character.SpeechAnimationDelay, Speech.UseGlobalSpeechAnimationDelay

-
-
-
-

Speech.PortraitOverlay

-
static Overlay* Speech.PortraitOverlay
-

Retrieves the portrait overlay of a current blocking speech. It's currently only available in eihter a repeatedly_execute_always or late_repeatedly_execute_always. It will return null if no portrait overlay is currently being shown.

-

Example:

-
#define PORTRAIT_YMIN 5
-#define PORTRAIT_YMAX 30
-int plast = -1;
-int pmove = 1;
-function repeatedly_execute_always() {
-    if (Speech.PortraitOverlay != null) {
-        if (plast >= 0) Speech.PortraitOverlay.Y = plast;
-        Speech.PortraitOverlay.Y += pmove;
-        if (Speech.PortraitOverlay.Y < PORTRAIT_YMIN) pmove = 1;
-        if (Speech.PortraitOverlay.Y > PORTRAIT_YMAX) pmove = -1;
-        plast = Speech.PortraitOverlay.Y;
-    }
-}
-

Waves a speech portrait up and down

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Speech.TextOverlay

-
-
-
-

Speech.PortraitXOffset

-
static int Speech.PortraitXOffset
-

Gets/sets the character's speech portrait horizontal offset relative to screen side. The actual x coordinate of the portrait is calculated based on whether portrait is to be displayed at the left or right side of the screen. This property specifies the distance between the screen side and respected portrait's border.

-

NOTE: The property is only used when the Speech.CustomPortraitPlacement is set to true.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Speech.CustomPortraitPlacement, Speech.PortraitY

-
-
-
-

Speech.PortraitY

-
static int Speech.PortraitY
-

Gets/sets the character's speech portrait y coordinate on screen.

-

NOTE: The property is only used when the Speech.CustomPortraitPlacement is set to true.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Speech.CustomPortraitPlacement, Speech.PortraitXOffset

-
-
-
-

Speech.SkipKey

-

(Formerly known as game.skip_speech_specific_key, which is now obsolete)

-
static eKeyCode Speech.SkipKey
-

Gets/sets special key which can skip speech text. This makes all other keys ignored when speech is displayed on screen, unless eKeyNone is assigned, in which case any key can be used again.

-

NOTE: The specified key will only skip speech if the appropriate speech skip style is enabled.

-

Example:

-
Speech.SkipKey = eKeySpace;
-

will assign the "space" key to skip the speech.

-

See also: Speech.SkipStyle

-
-
-
-

Speech.SkipStyle

-

(Formerly known as SetSkipSpeech, which is now obsolete)

-
static SkipSpeechStyle Speech.SkipStyle
-

Gets/sets how the player can skip speech lines.

-

The accepted values are

-
eSkipKeyMouseTime  player can skip text by clicking mouse or pressing key
-eSkipKeyTime       player can skip text by pressing key only, not by clicking mouse
-eSkipTime          player cannot skip text with mouse or keyboard
-eSkipKeyMouse      text does not time-out; player must click mouse or press key each time
-eSkipMouseTime     player can skip text by clicking mouse only, not by pressing key
-eSkipKey           text does not time-out; player can skip text by pressing key only
-eSkipMouse         text does not time-out; player can skip text by clicking mouse only
-

Example:

-
Speech.SkipStyle = eSkipTime;
-

will make the player unable to skip the text by pressing a mouse button or a key.

-

See also: Game.IgnoreUserInputAfterTextTimeoutMs, Game.TextReadingSpeed, Speech.SkipKey

-
-
-
-

Speech.Style

-

(Formerly known as SetSpeechStyle, which is now obsolete)

-
static eSpeechStyle Speech.Style
-

Gets/sets the way in which speech text is displayed. This modifies the setting originally set in the editor. SpeechStyle can be:

-
eSpeechLucasarts
-  speech text over character's head
-eSpeechSierra
-  close-up portrait of character
-eSpeechSierraWithBackground
-  close-up portrait + background window for text
-eSpeechFullScreen
-  QFG4-style full screen dialog pictures
-

Example:

-
Speech.Style = eSpeechSierra;
-

will change the speech style to a close up portrait of the character.

-
-
-
-

Speech.TextAlignment

-

(Formerly known as game.speech_text_align, which is now obsolete)

-
static Alignment Speech.TextAlignment
-

Sets how text in LucasArts-style speech is aligned.

-

The accepted values are

-
eAlignLeft
-eAlignCentre
-eAlignRight
-

The default is eAlignCentre.

-

Example:

-
Speech.TextAlignment = eAlignRight;
-

will align the speech text at the right side.

-
-
-
-

Speech.TextOverlay

-
static Overlay* Speech.TextOverlay
-

Retrieves the text overlay of a current blocking speech. It's currently only available in eihter a repeatedly_execute_always or late_repeatedly_execute_always. It will return null if no text overlay is currently being shown.

-

It allows to detect appearance, removal, and change of the blocking speech. Additionally, calling Speech.TextOverlay.Remove() will work as a speech interrupt.

-

Example:

-
Overlay* lastSpeech;
-
-function late_repeatedly_execute_always() {
-    Overlay* curSpeech = Speech.TextOverlay;
-    if (lastSpeech == null && curSpeech != null) {
-        // speech has started
-    } else if (lastSpeech != null && curSpeech == null) {
-        // speech is over
-    } else if (lastSpeech != null && curSpeech != lastSpeech) {
-        // speech changed to the next line
-    }
-    lastSpeech = curSpeech;
-}
-

Detects when the blocking speech has begun, changed to the next line or is over.

-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: Speech.PortraitOverlay

-
-
-
-

Speech.UseGlobalSpeechAnimationDelay

-
static bool Speech.UseGlobalSpeechAnimationDelay
-

Gets/sets whether speech animation delay should use global setting, as opposed to individual character's setting. The actual global delay value is specified with Speech.GlobalSpeechAnimationDelay.

-

Example:

-
Speech.UseGlobalSpeechAnimationDelay = true;
-

will make the game use global speech animation delay.

-

Compatibility: Supported by AGS 3.3.0 and later versions.

-

See also: Character.SpeechAnimationDelay, Speech.GlobalSpeechAnimationDelay

-
-
-
-

Speech.VoiceMode

-

(Formerly known as SetVoiceMode, which is now obsolete)

-
static eVoiceMode Speech.VoiceMode
-

Gets/sets whether voice and/or text captions are used in the game.

-

Valid values for VoiceMode are:

-
eSpeechTextOnly      no voice, text only
-eSpeechVoiceAndText  both voice and text
-eSpeechVoiceOnly     voice only, no text
-

The default is eSpeechVoiceAndText if in-game speech is enabled, and eSpeechTextOnly if it is not. Changing this setting changes the behavior of all Say and Display commands which have a speech file assigned to them.

-

WARNING: you should only ever use eSpeechVoiceOnly at the player's request to do so, because there is no guarantee that they even have a sound card and so may not understand what is going on.

-

Example:

-
if (IsSpeechVoxAvailable()==1)
-    Speech.VoiceMode = eSpeechVoiceAndText;
-

will set the voice mode to voice and text if the voice pack is available.

-
-
-
- - - - - -
- - diff --git a/StandardEnums.html b/StandardEnums.html deleted file mode 100644 index 4c7352b35..000000000 --- a/StandardEnums.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - - Standard Enumerated Types - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Standard Enumerated Types

-

AGS has several enumerated types in its standard header. These are used in calls to various commands, and will usually pop up automatically in autocomplete. However, for times where autocomplete doesn't do the job, having a manual reference is invaluable:

-
-

Alignment

-
enum Alignment {
-    eAlignNone          = 0,
-    eAlignTopLeft       = 1,
-    eAlignTopCenter     = 2,
-    eAlignTopRight      = 4,
-    eAlignMiddleLeft    = 8,
-    eAlignMiddleCenter  = 16,
-    eAlignMiddleRight   = 32,
-    eAlignBottomLeft    = 64,
-    eAlignBottomCenter  = 128,
-    eAlignBottomRight   = 256,
-    eAlignHasLeft       = 73,
-    eAlignHasRight      = 292,
-    eAlignHasTop        = 7,
-    eAlignHasBottom     = 448,
-    eAlignHasHorCenter  = 146,
-    eAlignHasVerCenter  = 56
-};
-

The Alignment enumeration consists of values that could be summed up in one integer variable to form a more complex combination of alignments. Although that ability is not used anywhere in practice yet, but may be in future. Additionally, it provides a set of masks that could be applied bitwise to check if alignment variable contains one of the distinct directions, for example:

-
if (align & eAlignHasLeft)
-    // some code here
-

will execute some code if align variable contains "Left" in any combination (eAlignTopLeft, eAlignMiddleLeft or eAlignBottomLeft).

-

Compatibility: new version of Alignment enum was introduced in AGS 3.5.0. Previous Alignment was renamed into HorizontalAlignment.

-

Used by: Button.TextAlignment

-
-
-

AudioFileType

-
enum AudioFileType {
-    eAudioFileOGG,
-    eAudioFileMP3,
-    eAudioFileWAV,
-    eAudioFileVOC,
-    eAudioFileMIDI,
-    eAudioFileMOD
-};
-

Used by: AudioClip.FileType

-
-
-

AudioPriority

-
enum AudioPriority {
-    eAudioPriorityVeryLow = 1,
-    eAudioPriorityLow = 25,
-    eAudioPriorityNormal = 50,
-    eAudioPriorityHigh = 75,
-    eAudioPriorityVeryHigh = 100
-};
-

Used by: AudioClip.Play, AudioClip.PlayFrom, AudioClip.PlayQueued

-
-
-

BlockingStyle

-
enum BlockingStyle {
-    eBlock,
-    eNoBlock
-};
-

Used by: Character.Animate, Character.FaceCharacter, Character.FaceLocation, Character.FaceObject, Character.Move, Character.Walk, Character.WalkStraight, Object.Animate, Object.Move

-
-
-

eCDAudioFunction

-
enum eCDAudioFunction {
-    eCDIsDriverPresent,
-    eCDGetPlayingStatus,
-    eCDPlayTrack,
-    eCDPausePlayback,
-    eCDResumePlayback,
-    eCDGetNumTracks,
-    eCDEject,
-    eCDCloseTray,
-    eCDGetCDDriveCount,
-    eCDSelectActiveCDDrive
-};
-

Used by: CDAudio

-
-
-

CharacterDirection

-
enum CharacterDirection {
-    eDirectionDown = 0,
-    eDirectionLeft,
-    eDirectionRight,
-    eDirectionUp,
-    eDirectionDownRight,
-    eDirectionUpRight,
-    eDirectionDownLeft,
-    eDirectionUpLeft,
-    eDirectionNone = SCR_NO_VALUE
-};
-

Used by: Character.ChangeRoom, Character.FaceDirection

-
-
-

CursorMode

-
enum CursorMode {
-    eModeXXXX,
-    eModeXXXX,
-    // ...
-};
-

The CursorMode enumeration is generated automatically based on your mouse cursors. The cursor mode name is taken, all its spaces are removed, and eMode is added to the front.
Used by: IsInteractionAvailable, Room.ProcessClick, Mouse.ChangeModeGraphic, Mouse.ChangeModeHotspot, Mouse.DisableMode, Mouse.EnableMode, Mouse.IsModeEnabled, Mouse.UseModeGraphic, Mouse.Mode, InventoryItem.IsInteractionAvailable, InventoryItem.RunInteraction, Hotspot.IsInteractionAvailable, Hotspot.RunInteraction, Object.IsInteractionAvailable, Object.RunInteraction, Character.IsInteractionAvailable, Character.RunInteraction

-
-
-

CutsceneSkipType

-
enum CutsceneSkipType {
-    eSkipESCOnly,
-    eSkipAnyKey,
-    eSkipMouseClick,
-    eSkipAnyKeyOrMouseClick,
-    eSkipESCOrRightButton,
-    eSkipScriptOnly
-};
-

Used by: StartCutscene

-
-
-

DialogOptionSayStyle

-
enum DialogOptionSayStyle {
-    eSayUseOptionSetting,
-    eSayAlways,
-    eSayNever
-};
-

Used by: Dialog.DisplayOptions

-
-
-

DialogOptionState

-
enum DialogOptionState {
-    eOptionOff,
-    eOptionOn,
-    eOptionOffForever
-};
-

Used by: Dialog.GetOptionState, Dialog.SetOptionState

-
-
-

Direction

-
enum Direction {
-    eForwards,
-    eBackwards
-};
-

Used by: Character.Animate, Object.Animate

-
-
-

EventType

-
enum EventType {
-    eEventLeaveRoom,
-    eEventEnterRoomBeforeFadein,
-    eEventGotScore,
-    eEventGUIMouseDown,
-    eEventGUIMouseUp,
-    eEventAddInventory,
-    eEventLoseInventory,
-    eEventRestoreGame,
-    eEventEnterRoomAfterFadein,
-    eEventLeaveRoomAfterFadeout,
-    eEventGameSaved
-};
-

Compatibility: the eEventEnterRoomAfterFadein is supported by AGS 3.6.0 and later versions. The eEventLeaveRoomAfterFadeout and eEventGameSaved is supported by AGS 3.6.1 and later versions.

-

Passed into: on_event

-
-
-

FileMode

-
enum FileMode {
-    eFileRead,
-    eFileWrite,
-    eFileAppend
-};
-

Used by: File.Open

-
-
-

FileSeek

-
enum FileSeek {
-    eSeekBegin = 0,
-    eSeekCurrent = 1,
-    eSeekEnd = 2
-};
-

Used by: File.Seek

-
-
-

eFlipDirection

-
enum eFlipDirection {
-    eFlipLeftToRight,
-    eFlipUpsideDown,
-    eFlipBoth
-};
-

Used by: DynamicSprite.Flip

-
-
-

FontType

-
enum FontType {
-    eFontXXXX,
-    eFontXXXX,
-    // ...
-};
-

The FontType enumeration is generated automatically based on your fonts. The font name is taken, all its spaces are removed, and eFont is added to the front.
Used by: Button.Font, DrawingSurface.DrawMessageWrapped, DrawingSurface.DrawString, DrawingSurface.DrawStringWrapped, Game.NormalFont, Game.SpeechFont, GetTextHeight, GetTextWidth, Label.Font, ListBox.Font, TextBox.Font, Overlay.CreateTextual, Overlay.SetText

-
-
-

GUIPopupStyle

-
enum GUIPopupStyle {
-    eGUIPopupNormal = 0,
-    eGUIPopupMouseYPos = 1,
-    eGUIPopupModal = 2,
-    eGUIPopupPersistent = 3
-};
-

Supported by: AGS 3.5.0 and higher.

-

Used by: GUI.PopupStyle

-
-
-

HorizontalAlignment

-
enum HorizontalAlignment {
-    eAlignLeft          = 1,
-    eAlignCenter        = 2,
-    eAlignRight         = 4
-};
-

Note that HorizontalAlignment's values match the first values of Alignment enumeration (eAlignTopLeft, eAlignTopCenter, eAlignTopRight).

-

Compatibility: replaced old Alignment enumeration in AGS 3.5.0.

-

Used by: Character.LockViewAligned, DrawingSurface.DrawStringWrapped, Label.TextAlignment, ListBox.TextAlignment, Speech.TextAlignment

-
-
-

InputType

-
enum InputType
-{
-    eInputNone     = 0x00000000,
-    eInputKeyboard = 0x02000000,
-    eInputMouse    = 0x04000000,
-    eInputAny      = 0xFF000000
-};
-

The InputType enumeration consists of values that could be summed up in one integer variable to form a combination of input types. This may be used to store several "types" in one integer, pass them into a function, or return from a function. You may use bitwise operation to check if a variable contains one of the distinct types, for example:

-
if (type & eInputKeyboard)
-    // some code here
-

will execute some code if type variable contains at least "eInputKeyboard".

-

Supported by: AGS 3.6.0 and higher.

-

Used by: Wait functions

-
-
-

LocationType

-
enum LocationType {
-    eLocationNothing,
-    eLocationHotspot,
-    eLocationCharacter,
-    eLocationObject
-};
-

Returned by: GetLocationType

-
-
-

LogLevel

-
enum LogLevel
-{
-    eLogAlert = 1,
-    eLogFatal = 2,
-    eLogError = 3,
-    eLogWarn = 4,
-    eLogInfo = 5,
-    eLogDebug = 6
-};
-

Supported by: AGS 3.6.0 and higher.

-

Used by: System.Log

-
-
-

MouseButton

-
enum MouseButton {
-    eMouseLeft,
-    eMouseRight,
-    eMouseMiddle,
-    eMouseLeftInv,
-    eMouseMiddleInv,
-    eMouseRightInv,
-    eMouseWheelNorth,
-    eMouseWheelSouth
-};
-

Used by: Mouse.IsButtonDown
Passed into: on_mouse_click

-
-
-

eOperatingSystem

-
enum eOperatingSystem {
-    eOSDOS,
-    eOSWindows,
-    eOSLinux,
-    eOSMacOS,
-    eOSAndroid,
-    eOSiOS,
-    eOSPSP,
-    eOSWeb,
-    eOSFreeBSD
-};
-

Used by: System.OperatingSystem

-
-
-

RepeatStyle

-
enum RepeatStyle {
-    eOnce,
-    eRepeat
-};
-

Used by: Button.Animate, Character.Animate, Object.Animate

-
-
-

RoundDirection

-
enum RoundDirection {
-    eRoundDown,
-    eRoundNearest,
-    eRoundUp
-};
-

Used by: FloatToInt

-
-
-

SkipSpeechStyle

-
enum SkipSpeechStyle {
-    eSkipNone         = -1,
-    eSkipKeyMouseTime = 0,
-    eSkipKeyTime      = 1,
-    eSkipTime         = 2,
-    eSkipKeyMouse     = 3,
-    eSkipMouseTime    = 4,
-    eSkipKey          = 5,
-    eSkipMouse        = 6
-};
-

Used by: Speech.SkipStyle

-
-
-

SortStyle

-
enum SortStyle {
-    eNonSorted = 0,
-    eSorted = 1
-};
-

Supported by: AGS 3.5.0 and higher.

-

Used by: Dictionary.Create, Set.Create

-
-
-

eSpeechStyle

-
enum eSpeechStyle {
-    eSpeechLucasarts,
-    eSpeechSierra,
-    eSpeechSierraWithBackground,
-    eSpeechFullScreen
-};
-

Used by: Speech.Style

-
-
-

StopMovementStyle

-
enum StopMovementStyle
-{
-    eKeepMoving = 0,
-    eStopMoving = 1
-};
-

Used by: Character.LockView, Character.LockViewFrame

-
-
-

StringCompareStyle

-
enum StringCompareStyle {
-    eCaseInsensitive = 0,
-    eCaseSensitive = 1
-};
-

Supported by: AGS 3.5.0 and higher.

-

Used by: Dictionary.Create, Set.Create, String.CompareTo, String.EndsWith, String.Replace, String.StartsWith

-
-
-

TransitionStyle

-
enum TransitionStyle {
-    eTransitionFade,
-    eTransitionInstant,
-    eTransitionDissolve,
-    eTransitionBoxout,
-    eTransitionCrossfade
-};
-

Used by: SetScreenTransition, SetNextScreenTransition

-
-
-

VideoSkipStyle

-
enum VideoSkipStyle {
-    eVideoSkipNotAllowed,
-    eVideoSkipEscKey,
-    eVideoSkipAnyKey,
-    eVideoSkipAnyKeyOrMouse
-};
-

Used by: PlayVideo

-
-
-

eVoiceMode

-
enum eVoiceMode {
-    eSpeechTextOnly,
-    eSpeechVoiceAndText,
-    eSpeechVoiceOnly
-};
-

Used by: Speech.VoiceMode

-
-
-

WalkWhere

-
enum WalkWhere {
-    eAnywhere,
-    eWalkableAreas
-};
-

Used by: Character.Move, Character.Walk, Object.Move

-
-
-
- - - - - -
- - diff --git a/StandardTypes.html b/StandardTypes.html deleted file mode 100644 index e5571f61e..000000000 --- a/StandardTypes.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - Standard Types - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Standard Types

-

Standard Types are managed structs used for passing and returning values in the script API. You can also use them in your scripts. For now, AGS only has point available.

-
-

Point

-
managed struct Point {
-    int x, y;
-};
-

Point is a very simple struct containing an x and an y value, useful to indicate a position on the room or the screen.

-
Point* target = new Point;
-target.x = 225;
-target.y = 80;
-
-
-
- - - - - -
- - diff --git a/StartingOff.html b/StartingOff.html deleted file mode 100644 index 2a709b0c5..000000000 --- a/StartingOff.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - Starting off - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Starting off

-

The tutorial is currently being updated for AGS 3.5 but should be sufficient to be followed as-is. Please be patient as all parts are updated. Follow the links below to run through it.

- -

For the latest version of the tutorials, always check the AGS website.

-
-
- - - - - -
- - diff --git a/String.html b/String.html deleted file mode 100644 index 9d4dae23c..000000000 --- a/String.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - String functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

String functions

-
-

String.Append

-

(Formerly known as global function StrCat, which is now obsolete)

-
String.Append(string str2)
-

Appends the string str2 to the end of the specified string, and returns the result.

-

IMPORTANT: The result of joining the strings together is returned as a new string from this command. The original string will NOT be changed. For example, the following script will not do anything:
mytext.Append("World");
what you probably want instead is:
mytext = mytext.Append("World");

-

Example:

-
String mytext = "Hello";
-mytext = mytext.Append("World");
-Display(mytext);
-

will display "HelloWorld".

-

See also: String.AppendChar, String.Substring, String.Truncate

-
-
-
-

String.AppendChar

-
String.AppendChar(int extraChar)
-

Appends a single character to the end of the specified string, and returns the result.

-

IMPORTANT: The newly extended text is returned as a new string from this command. The original string will NOT be changed. For example, the following script will not do anything:
mytext.AppendChar('o');
what you probably want instead is:
mytext = mytext.AppendChar('o');

-

Example:

-
String mytext = "Hell";
-mytext = mytext.AppendChar('o');
-Display(mytext);
-

will display "Hello".

-

Compatibility: This functions can take an utf-8 char as int since AGS 3.6.0 and later versions.

-

See also: String.Append

-
-
-
-

String.CompareTo

-

(Formerly known as global function StrCaseComp, which is now obsolete)
(Formerly known as global function StrComp, which is now obsolete)

-
String.CompareTo(string str2, optional bool caseSensitive)
-

Compares the specified string to str2. caseSensitive determines whether "Dog" and "dog" are equivalent; case sensitivity is off by default.

-

Returns 0 if the strings match, a number less than 0 if this string is earlier in the alphabet than str2, and a number greater than 0 if this string is later in the alphabet than str2.

-

TIP: To do a case-sensitive comparison of two strings, it's easier to just use the == operator.

-

Example:

-
String mytext = "Hello";
-if (mytext.CompareTo("hello") == 0) {
-    Display("Strings match with case sensitivity off!");
-}
-else {
-    Display("Strings don't match with case sensitivity off!");
-}
-
-if (mytext == "hello") {
-    Display("Strings match with case sensitivity on!");
-}
-else {
-    Display("Strings don't match with case sensitivity on!");
-}
-

will display "Strings match with case sensitivity off!", and then "Strings don't match with case sensitivity on!".

-
-
-
-

String.Copy

-

(Formerly known as global function StrCopy, which is now obsolete)

-
String.Copy()
-

Returns a new copy of the specified string. You should not normally need to use this, since strings can be assigned using the = operator.

-

Example:

-
String mystring = "This is a test string.";
-String newstring = mystring.Copy();
-Display(newstring);
-

will display "This is a test string".

-
-
-
-

String.EndsWith

-
bool String.EndsWith(string lookForText, optional bool caseSensitive)
-

Returns true if this string ends with lookForText, or false if not.

-

caseSensitive is false by default, but you can set it to true so that the function will only return true for an exact-case match.

-

Example:

-
String myString = "Hello from the script!";
-if (myString.EndsWith("script!"))
-{
-    Display("Ends with script!");
-}
-

will display the "Ends with script!" message.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: String.IndexOf, String.StartsWith

-
-
-
-

String.Format

-

(Formerly known as global function StrFormat, which is now obsolete)

-
static String.Format(string fmt, ...)
-

Processes the string FMT, optionally inserting values into the placeholders inside FMT, and returns the resulting string. You can insert the numeric or text, as well as value of variables into the string. Besides other purposes, this function is the method for converting numbers into the text.

-

For more information on how to work with format string, see the string formatting section.

-

NOTE: This function is static, which means you do not call it on an existing string variable, but use String.Format() instead.

-

Examples:

-
// create a text string containing "10".
-String text = String.Format("%d", 10);
-
-// create a text string with health stats in it
-int health, max_health;
-String text = String.Format("Health: %d / %d", health, max_health);
-
-// create a text string with character's name
-String text = String.Format("Hello, my name is %s", player.Name);
-

See also: Display

-
-
-
-

String.IndexOf

-

(Formerly known as global function StrContains, which is now obsolete)
(Formerly known as String.Contains, which is now obsolete)

-
String.IndexOf(string needle)
-

Checks to see if NEEDLE is contained within the specified string. Returns the character position of the match if it is, or -1 if it is not.

-

This function is not case sensitive; i.e. testing "test string" for "sTRiN" would match.

-

Example:

-
String haystack = "The haystack had a needle in it somewhere.";
-int result = haystack.IndexOf("a needle");
-
-if (result == -1) {
-    Display("The string didn't contain the needle.");
-}
-else {
-    Display("a needle was found starting at character %d in the string.", result);
-}
-

See also: String.EndsWith, String.StartsWith

-
-
-
-

String.IsNullOrEmpty

-
static bool String.IsNullOrEmpty(String stringToCheck)
-

Returns whether the supplied string is null or empty. This is simply shorthand for the following:

-
if ((stringToCheck == null) || (stringToCheck == ""))
-

in other words, you can easily use this to check whether a string has any text in it or not.

-

NOTE: This function is static, which means you do not call it on an existing string variable, but use String.IsNullOrEmpty() instead. See the example.

-

Example:

-
String myString;
-if (String.IsNullOrEmpty(myString))
-{
-    myString = "Some text";
-}
-

will set the myString variable to "Some text" if it is null or empty (which it is).

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-
-
-
-

String.LowerCase

-

(Formerly known as global function StrToLowerCase, which is now obsolete)

-
String.LowerCase()
-

Returns a lower case version of the specified string.

-

NOTE: The new string is returned from this function; it does NOT modify the original string.

-

Example:

-
String mystring = "THIS is a test string";
-String lowercased = mystring.LowerCase();
-Display("Old: %s, new: %s", mystring, lowercased);
-

will display "Old: THIS is a test string, new: this is a test string".

-

See also: String.UpperCase

-
-
-
-

String.Replace

-
String.Replace(string lookForText, string replaceWithText,
-               optional bool caseSensitive)
-

Creates a copy of this string, with all instances of lookForText replaced with the replaceWithText.

-

caseSensitive is false by default, but you can set it to true so that only case-sensitive matches of the lookForText will be replaced.

-

NOTE: The new string is returned from this function; it does NOT modify the original string.

-

Example:

-
String original = "Hello from the script!";
-String changed = original.Replace("hello", "goodbye");
-Display("Old: %s, new: %s", original, changed);
-

will display "Old: Hello from the script!, new: goodbye from the script!".

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: String.ReplaceCharAt

-
-
-
-

String.ReplaceCharAt

-

(Formerly known as global function StrSetCharAt, which is now obsolete)

-
String.ReplaceCharAt(int index, int newChar)
-

Changes the character at INDEX in the string to NEWCHAR.

-

INDEX is the character index into the string (where 0 is the first character, and the last allowable value is the string's Length minus 1).

-

NOTE: The new string is returned from this function; it does NOT modify the original string.

-

Example:

-
String mystring = "Hello";
-String changed = mystring.ReplaceCharAt(2, 'm');
-Display("Old: %s, new: %s", newstring, changed);
-

will display "Old: Hello, new: Hemlo".

-

Compatibility: This functions can take an utf-8 char as int since AGS 3.6.0 and later versions.

-

See also: String.Chars, String.Replace

-
-
-
-

String.StartsWith

-
bool String.StartsWith(string lookForText, optional bool caseSensitive)
-

Returns true if this string starts with lookForText, or false if not.

-

caseSensitive is false by default, but you can set it to true so that the function will only return true for an exact-case match.

-

Example:

-
String myString = "Hello from the script!";
-if (myString.StartsWith("hello"))
-{
-    Display("Starts with hello!");
-}
-

will display the "Starts with hello!" message.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: String.EndsWith, String.IndexOf

-
-
-
-

String.Substring

-
String.Substring(int index, int length)
-

Returns part of the string, starting from character index and length characters long.

-

index is the initial character index, where 0 is the first character and (Length - 1) is the last. length specifies how many characters to retrieve.

-

Example:

-
String mystring = "Hello World!";
-String substring = mystring.Substring(3, 5);
-Display("Original: %s, Substring: %s", mystring, substring);
-

will display "Original: Hello World!, Substring: lo Wo".

-

See also: String.Append, String.Chars

-
-
-
-

String.Truncate

-
String.Truncate(int length)
-

Returns a version of the string that has been truncated down to length characters.

-

NOTE: The new string is returned from this function; it does NOT modify the original string.

-

Example:

-
String mystring = "Hello World!";
-String truncated = mystring.Truncate(4);
-Display("Original: %s, Truncated: %s", mystring, truncated);
-

will display "Original: Hello World!, Truncated: Hell".

-

See also: String.Append, String.Substring

-
-
-
-

String.UpperCase

-

(Formerly known as global function StrToUpperCase, which is now obsolete)

-
String.UpperCase()
-

Returns an upper case version of the specified string.

-

NOTE: The new string is returned from this function; it does NOT modify the original string.

-

Example:

-
String mystring = "THIS is a test string";
-String uppercased = mystring.UpperCase();
-Display("Old: %s, new: %s", mystring, uppercased);
-

will display "Old: THIS is a test string, new: THIS IS A TEST STRING".

-

See also: String.LowerCase

-
-
-
-

String.AsFloat

-
readonly float String.AsFloat;
-

Converts the string into a float, and returns that value. Returns 0.0 if the string does not contain a number.

-

Example:

-
String text1, text2;
-float number1,number2;
-text1 = "57.362";
-text2 = "Hello";
-number1 = text1.AsFloat;
-number2 = text2.AsFloat;
-

will set number1 value to 57.362 and number2 value to 0.0 This function is useful for processing strings input from the user.

-

NOTE: To convert a float to a string, you can use the String.Format command.

-

See also: Game.InputBox, String.AsInt, String.Format

-
-
-
-

String.AsInt

-

(Formerly known as global function StringToInt, which is now obsolete)

-
readonly int String.AsInt;
-

Converts the string into an integer, and returns that value. Returns zero if the string does not present a number.

-

NOTE: This operation takes just the leading sequence of the characters from the string, if it contains digits and other symbols which could be a part of number. If the string has the valid number only in the middle, it will not work.

-

Example:

-
String text1, text2;
-int number1,number2;
-text1 = "53";
-text2 = "Hello";
-number1 = text1.AsInt;
-number2 = text2.AsInt;
-

will set number1 value to 53 and number2 value to 0. This function is useful for processing strings input from the user.

-

NOTE: To convert an integer to a string, you can use the String.Format command.

-

See also: Game.InputBox, String.AsFloat, String.Format

-
-
-
-

String.Chars

-

(Formerly known as global function StrGetCharAt, which is now obsolete)

-
readonly int String.Chars[position];
-

Returns the character at POSITION within the string.

-

POSITION is the character index (where 0 is the first character, and the last allowable value is the Length minus 1).

-

If POSITION is outside the string, this function returns 0.

-

NOTE: The Chars array is read-only. If you want to change one of the characters in the string, use String.ReplaceCharAt.

-

Example:

-
String text = "This is my string.";
-Display("The 4th character is: %c", text.Chars[3]);
-

will display "The 4th character is: s".

-

Compatibility: This attribute returns an utf-8 char as int since AGS 3.6.0 and later versions.

-

See also: String.Length, String.ReplaceCharAt

-
-
-
-

String.Length

-

(Formerly known as global function StrLen, which is now obsolete)

-
readonly int String.Length;
-

Returns the length of the string, in characters.

-

Example:

-
String text = "This is my string.";
-Display("Length: %d", text.Length);
-

will display "Length: 18".

-
-
-
- - - - - -
- - diff --git a/StringFormats.html b/StringFormats.html deleted file mode 100644 index 13e835633..000000000 --- a/StringFormats.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - String formatting - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

String formatting

-

You will find many times in your game when you need to create a string based on the values of variables, and functions like Display and String.Format allow you to do so.

-

AGS uses printf-style argument formatting (used by the C language). This means that you intersperse your text with special codes to insert a variable's value. These special codes begin with a percent sign, and then specify the variable type. The actual variables that you want to display are then listed afterwards.

-

Some examples of the special codes you can use are as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeDescription
%dInteger (use to display value of int and short variables)
%0XdInteger left-padded with up to X zeros
%sString (use to display string variables)
%cCharacter (displays the character corresponding to the supplied value)
%fFloat (displays a float variable)
%.XfFloat to X decimal places
%%Display the percent character (i.e. no variable)
[Inserts a new line into the message
-

NOTE: Since AGS 3.6.0 the %c format code may display Unicode characters.

-

Some examples:

-
int life = 42;
-float twoPi = Maths.Pi * 2.0;
-String message = "A string variable";
-
-Display("A normal string with no variables.");
-Display("The meaning of life is %d.", life);
-Display("The meaning of life in 3 digits is %03d.", life);
-Display("2 times Pi is %f.", twoPi);
-Display("The message says: %s.", message);
-

would display:

-
A normal string with no variables.
-The meaning of life is 42.
-The meaning of life in 3 digits is 042.
-2 times Pi is 6.283186.
-The message says: A string variable.
-

You can display as many variables as you like in one line:

-
int life = 42;
-float twoPi = Maths.Pi * 2.0;
-
-Display("Life is %d, 2 x Pi = %f, and my dinner is %s.", life, twoPi, "awful");
-

but, be very careful that you supply the right number of variables to correspond with the tags you use in the text. If you don't supply enough variables, your game could crash.

-
-
- - - - - -
- - diff --git a/System.html b/System.html deleted file mode 100644 index d104b4eb0..000000000 --- a/System.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - System functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

System functions and properties

-
-

System.Log

-
static void System.Log(LogLevel level, const string format, ...)
-

Prints the message string in format to the log, with the defined LogLevel, to the group script.

-

Example:

-
System.Log(eLogInfo, "Entering the Room %d", player.Room);
-

Compatibility: Supported by AGS 3.6.0 and later versions.

-

See also: The run-time engine, LogLevel Enum

-
-
-
-

System.SaveConfigToFile

-
static void System.SaveConfigToFile()
-

Writes current engine settings to the player's configuration file, so that they may be applied next time the game is launched.

-

This saves only the options that may be changed at runtime, such as translation and fullscreen/windowed graphic mode.

-

Compatibility: Supported by AGS 3.5.1 and later versions.

-

See also: File.Open

-
-
-
-

System.AudioChannelCount

-
readonly static int System.AudioChannelCount;
-

Gets the number of Audio Channels available to the game (in the current version of AGS this is 16).

-

This is useful if you want to loop through all the audio channels and check what is playing on them.

-

Example:

-
Display("There are %d audio channels.", System.AudioChannelCount);
-

will display a message with the number of audio channels.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: System.AudioChannels

-
-
-
-

System.AudioChannels

-
readonly static AudioChannel* System.AudioChannels[];
-

Gets the AudioChannel instance for the specified channel number. This allows you to query the audio channel and find out what is playing on it.

-

Example:

-
AudioChannel *channel = System.AudioChannels[2];
-Display("Channel 2's current volume is %d.", channel.Volume);
-

will display a message with Audio Channel 2's current volume.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel, System.AudioChannelCount

-
-
-
-

System.CapsLock

-
readonly static bool System.CapsLock;
-

Gets whether Caps Lock is active on the player's system.

-

You might want to use this to warn the player to switch it off before typing a password in, for example.

-

Example:

-
if (System.CapsLock)
-{
-    Display("The CAPS LOCK light is on.");
-}
-

will display a message if Caps Lock is on.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: System.NumLock, System.ScrollLock

-
-
-
-

System.ColorDepth

-

(Formerly known as system.color_depth, which is now obsolete)

-
readonly static int System.ColorDepth;
-

Returns the native game's color depth. This is the overall game color depth setting, and it is possible for individual sprites or backgrounds to be different (although not recommended).

-

NOTE: Be aware that for historical reasons, and similar to System.ScreenHeight and System.ScreenWidth, this is NOT the final color depth of a display mode, but the internal color depth of a game. For instance, a game may have a 8-bit or 16-bit native color depth, but be displayed in a 32-bit mode.

-

The native color depth may be useful to know, for example, when you are writing a script module performing raw drawing: then you'd know which ranges of colors will work.

-

Example:

-
Display("Game's native resolution is: %d x %d, %d-bit color", System.ScreenWidth,
-        System.ScreenHeight, System.ColorDepth);
-

will display the game's native resolution and color depth.

-

See also: System.ScreenHeight, System.ScreenWidth

-
-
-
-

System.Gamma

-
static int System.Gamma;
-

Gets/sets the current screen Gamma level. This is 100 by default, and you can set it anywhere from 0 (pitch black) to 200 (double normal brightness).

-

System.SupportsGammaControl must return true in order for this property to have any effect.

-

Because every player's monitor will be different, you should normally use this property linked to a GUI Slider in order to allow the player to adjust it to suit their system.

-

Example:

-
if (System.SupportsGammaControl) {
-    System.Gamma = 150;
-}
-

will turn the screen brightness up to 50% higher than normal

-

See also: System.SupportsGammaControl

-
-
-
-

System.HardwareAcceleration

-
readonly static bool System.HardwareAcceleration;
-

Returns whether the game is running with hardware acceleration (e.g. Direct3D or OpenGL). If this is the case then changing on-screen images with DrawingSurface functions are likely to be slower, but sprite scaling, transparency and alpha blending effects, as well as just displaying larger sprites, are likely to be faster, than when the non-accelerated driver is used.

-

Cross-Platform Support

-

Windows: Direct3D, OpenGL driver
Linux: OpenGL driver
MacOS: OpenGL driver
Android: OpenGL driver
iOS: OpenGL driver

-

Example:

-
if (System.HardwareAcceleration) {
-    Display("Yay, we can draw loads of alpha blended sprites fast!");
-}
-

will display a message if the game is being run with hardware acceleration

-

See also: AGS Graphics Drivers

-
-
-
-

System.HasInputFocus

-
readonly static bool System.HasInputFocus;
-

Tells whether the game window currently has input focus, meaning it is active and player can control the game.

-

If your game is made to continue running in the background, when the user switches out from game, you may use this property in scripts to know if that actually happened.

-

Examples:

-
if (!System.HasInputFocus)
-    return;
-

skips the rest of the function if player has switched out from the game.

-
function repeatedly_execute()
-{
-    if (!System.HasInputFocus && IsGamePaused() == 0) {
-        PauseGame();
-    } else if (System.HasInputFocus && IsGamePaused() == 1) {
-        UnPauseGame();
-    }
-}
-

pauses game when player switches out, and unpauses it when player switches back to game.

-

Compatibility: Supported by AGS 3.3.5 and later versions.

-

See also: SetMultitaskingMode

-
-
-
-

System.NumLock

-
readonly static bool System.NumLock;
-

Gets whether Num Lock is active on the player's system.

-

You might want to use this to warn the player to switch it off before using the numeric keypad arrow keys, for example.

-

Example:

-
if (System.NumLock)
-{
-    Display("The NUM LOCK light is on.");
-}
-

will display a message if Num Lock is on.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: System.CapsLock, System.ScrollLock

-
-
-
-

System.OperatingSystem

-

(Formerly known as system.os, which is now obsolete)

-
readonly static eOperatingSystem System.OperatingSystem;
-

Returns which operating system the game is currently running under. It can be one of the following values:

-
eOSDOS (exists, but no longer supported)
-eOSWindows
-eOSLinux
-eOSMacOS
-eOSAndroid
-eOSiOS
-eOSPSP (exists, but no longer supported)
-eOSWeb
-eOSFreeBSD
-

Example:

-
if (System.OperatingSystem == eOSWindows) {
-    Display("Running on Windows!");
-}
-else {
-    Display("Not running on Windows!");
-}
-
-
-
-

System.RenderAtScreenResolution

-
static bool System.RenderAtScreenResolution;
-

Gets/sets whether sprites are rendered at screen resolution (if it's true) or native game resolution (if it's false).

-

When your game has low native resolution and player is running it in high display mode (for example 320x200 game being run in 1920x1080), then turning this property on will let engine to take advantage of higher display resolution and draw characters and objects less pixelated when they are scaled up or down (e.g. on walkable area with scaling).

-

IMPORTANT: unless you have locked this parameter to certain value in your game's General settings, players may also change it in the setup program. In such case it is suggested that you do not unconditionally modify this property in script, but rather provide a menu option for toggling it at runtime.

-

Compatibility: Supported by AGS 3.4.1 and later versions.

-
-
-
-

System.RuntimeInfo

-
readonly static String System.RuntimeInfo;
-

Returns the string containing short description of the environment the game is currently running in, such as engine version, graphics mode, and available game resources.

-

This is meant mainly for debug purposes.

-

NOTE: System.RuntimeInfo is a more convenient analogue of Debug(1,0) command, being more explicit and working on both release and debug modes of the game.

-

Example:

-
function on_key_press(eKeyCode keycode) {
-    if (keycode == eKeyCtrlV) {
-        Display(System.RuntimeInfo);
-    }
-}
-

Compatibility: Supported by AGS 3.4.0 and later versions.

-

See also: Debug

-
-
-
-

System.ScreenHeight

-

This property is obsolete since AGS 3.5.0. Use Screen.Height instead.

-

(Formerly known as system.screen_height, which is now obsolete)

-
readonly static int System.ScreenHeight;
-

Returns the game's screen height in native coordinates, not accounting for the scaling applied by graphic renderer. Historically it also included a size of the black letterbox borders, making it a confusing parameter.

-

See also: System.ColorDepth, Screen.Width, Screen.Height, Viewport.Width, Viewport.Height

-
-
-
-

System.ScreenWidth

-

This property is obsolete since AGS 3.5.0. Use Screen.Width instead.

-

(Formerly known as system.screen_width, which is now obsolete)

-
readonly static int System.ScreenWidth;
-

Returns the game's screen width in native coordinates, not accounting for the scaling applied by graphic renderer. Historically it also included a size of the black widescreen side borders, making it a confusing parameter.

-

See also: System.ColorDepth, Screen.Width, Screen.Height, Viewport.Width, Viewport.Height

-
-
-
-

System.ScrollLock

-
readonly static bool System.ScrollLock;
-

Gets whether Scroll Lock is active on the player's system.

-

Note that when running your game under the debugger, the Scroll Lock key will break out of the game into the debugger, so it is not advised that you use it for any other purpose in your game.

-

Example:

-
if (System.ScrollLock)
-{
-    Display("The SCROLL LOCK light is on.");
-}
-

will display a message if Scroll Lock is on.

-

Compatibility: Supported by AGS 3.0.1 and later versions.

-

See also: System.CapsLock, System.NumLock

-
-
-
-

System.SupportsGammaControl

-
readonly static bool System.SupportsGammaControl;
-

Gets whether the player's PC supports changing the screen's gamma control settings.

-

This must return true before you try and change the System.Gamma property. The situations in which this will be supported are listed below.

-

Cross-Platform Support

-

Windows: Full-screen only
Linux: No
MacOS: No

-

Example:

-
if (System.SupportsGammaControl) {
-    Display("We can change the system gamma level!");
-}
-

will display a message if the system supports changing the gamma

-

See also: System.Gamma

-
-
-
-

System.Version

-

(Formerly known as system.version, which is now obsolete)

-
readonly static String System.Version;
-

Returns the AGS engine version number. This could be useful from within script modules in order to use features available on a particular engine version, or work around any known bugs.

-

The string returned is the full version number, for example "2.71.833".

-

Example:

-
Display("AGS version: %s", System.Version);
-

will display the AGS version number

-
-
-
-

System.ViewportHeight

-

This property is obsolete since AGS 3.5.0. Use Screen.Height instead.

-

(Formerly known as system.viewport_height, which is now obsolete)

-
readonly static int System.ViewportHeight;
-

Returns the game's screen height in native coordinates, not accounting for the scaling applied by graphic renderer. Note that before AGS 3.5.0 there was no differentiation between "game's viewport" (as in - full game's screen) and "room viewport", that's why Viewport.Height is not a direct equivalent.

-

See also: Screen.Width, Screen.Height, Viewport.Width, Viewport.Height

-
-
-
-

System.ViewportWidth

-

This property is obsolete since AGS 3.5.0. Use Screen.Width instead.

-

(Formerly known as system.viewport_width, which is now obsolete)

-
readonly static int System.ViewportWidth;
-

Returns the game's screen width in native coordinates, not accounting for the scaling applied by graphic renderer. Note that before AGS 3.5.0 there was no differentiation between "game's viewport" (as in - full game's screen) and "room viewport", that's why Viewport.Width is not a direct equivalent.

-

See also: Screen.Width, Screen.Height, Viewport.Width, Viewport.Height

-
-
-
-

System.Volume

-

(Formerly known as SetDigitalMasterVolume, which is now obsolete)
(Formerly known as SetMusicMasterVolume, which is now obsolete)

-
static int System.Volume;
-

Gets/sets the overall system volume, from 0 to 100. This is the master volume control, that affects all audio in the game. You would usually attach this to a GUI Slider to enable the player to control the volume from some sort of Control Panel GUI.

-

Example:

-
System.Volume = 80;
-

will set the overall output volume to 80.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: AudioChannel.Volume, Game.SetAudioTypeVolume

-
-
-
-

System.VSync

-

(Formerly known as system.vsync, which is now obsolete)

-
static bool System.VSync;
-

Gets/sets whether AGS waits for the vertical retrace before rendering each frame.

-

When vsync is on, it can help to reduce the "tearing" effect that you can get when the screen scrolls. However, doing so will lock the game frame rate to the monitor's refresh rate, which will mean you cannot reliably set a game speed higher than 60 fps.

-

Vertical sync is off by default. When the game starts engine reads vsync option value from the config file, if one exists.

-

Not all renderers support changing vsync at runtime. If current one does not, then trying to change System.VSync will have no effect.

-

Example:

-
if (System.VSync) {
-    Display("Vertical retrace sync is enabled!");
-}
-

will display a message if vsync is on.

-
-
-
-

System.Windowed

-

(Formerly known as system.windowed, which is now obsolete)

-
static bool System.Windowed;
-

Gets/sets whether the game is running in a window (true) or full-screen (false).

-

If you set this property at runtime, the game will try to switch to alternate window mode. If it fails, it will return to previous one.

-

Example:

-
if (System.Windowed) {
-    Display("Game is running in a window!");
-}
-

will display a message if the game is running in a window

-

Example:

-
function on_key_press(eKeyCode keycode) {
-    if (keycode == eKeyEscape) {
-        System.Windowed = !System.Windowed;
-    }
-}
-

will switch from windowed to fullscreen mode and vice-versa whenever player presses Escape key.

-

Compatibility: This property was read-only before AGS 3.4.1; it can be set in AGS 3.4.1 and later versions.

-
-
-
- - - - - -
- - diff --git a/SystemLimits.html b/SystemLimits.html deleted file mode 100644 index 8833b03cd..000000000 --- a/SystemLimits.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - System limits - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

System limits

-

This section tells you the maximums for various parts of the system. If you have been wondering "How many rooms can I have?" or something similar, chances are this section will answer it.

-
-

System restrictions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Item3.5.03.5.13.6.0
Audio channels8816
Background frames per room555
Charactersunlimitedunlimitedunlimited
Cursors2020unlimited
Custom propertiesunlimitedunlimitedunlimited
Dialog options per topic303030
Dialog topicsunlimitedunlimitedunlimited
Dynamic array elements1 million2+ billion2+ billion
Fontsunlimitedunlimitedunlimited
GUIunlimitedunlimitedunlimited
GUI Controls per GUIunlimitedunlimitedunlimited
Hotspots per room494949
Inventory items300300300
Overlays (at runtime)2020unlimited
Regions per room151515
Rooms, total100010001000
Rooms, state-saving300300300
Room Objects per room4040256
Script modules126126126
Sprites, imported900009000090000
Sprites, dynamic2+ billion2+ billion2+ billion
Timers (at runtime)202020
Views (animation sets)unlimitedunlimitedunlimited
Walk-behinds per room151515
Walkable areas per room151515
-

See also: Constants

-
-
-

Integers and Floats limits

-

In AGS integers and floats are 32-bit.

-
    -
  • Integers are signed and can be from -2147483648 to +2147483647 (from -2^31 to 2^31-1)
  • -
  • Floats are a bit more complicated: an IEEE 754 32-bit base-2 floating-point variable has a maximum value of (2 − 2^(-23)) × 2^127 ≈ 3.4028235 × 10^38.
  • -
  • A float should then be able to reliably represent integer values between -16777216 and 16777216 (from -2^24 to 2^24).
  • -
-

In brief, integers have a strict min and max limit, by exceeding which they "wrap" their values (from positive to negative and vice-versa). Floats, on other hand, do not have a "hard" limit, instead they begin to loose precision as their integer part reaches high numbers. Occasional "even" values may still get stored correctly, but majority of values between them are not guaranteed to be precise.

-
-
-

Additional considerations

-
    -
  • You should be able to have up to 15 parameters to a function.

  • -
  • To ensure the pathfinder always works, your walkable areas should always be at least 3 pixels wide.

  • -
  • AGS currently allows the call stack to be 50 levels deep, so if you have a recursive function that calls itself more often you'll get the "call stack overflow" error. Additionally, the stack size is set at 4 KB so if the recursive function declares a lot of local variables you could reach the limit that way, too.

  • -
  • There is a total overall limit on the number of functions that can be exported by all plugins added together, which in theory it would be possible for a single plugin to exceed. It's in the region of a couple of hundred though, so it shouldn't be an issue. It wouldn't be too difficult to increase, if the need arose.

  • -
-

We are working on removing existing limitations in the AGS, so some of the remaining restrictions might be loosened or eliminated in the following updates.

-
-
-
- - - - - -
- - diff --git a/SystemRequirements.html b/SystemRequirements.html deleted file mode 100644 index 24f47679a..000000000 --- a/SystemRequirements.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - System Requirements - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

System Requirements

-

To work with the Editor, you need following:

-
    -
  • Windows Vista or higher
  • -
  • .NET Framework 4.5
  • -
  • Visual C++ Redistributable for Visual Studio 2015
  • -
-

If you use the provided installer, the Visual C++ dependency will be installed if it's needed. Recent versions of Windows already provide the necessary .NET Framework pre-installed.

-

Note that games you create do NOT require .NET nor Visual C++ redistributable.

-

Any games you create have these system requirements:

-
    -
  • Windows Vista or higher
  • -
  • DirectDraw, Direct3D 9, or OpenGL video support
  • -
-

Game speed is affected by many factors, including how many objects/characters are on the screen, whether background music is playing, the complexity of your scripts, and more. The best way to determine the requirements of your game are to test it on different computer configurations.

-
-
- - - - - -
- - diff --git a/TemplateBASS.html b/TemplateBASS.html deleted file mode 100644 index 8841b69b4..000000000 --- a/TemplateBASS.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - BASS template - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

BASS template

-

This template is a modified version of what was previously known as the 'Lightweight BASS stub', although the script module within retains its previous name of TwoClickHandler. The behavior of the script module aims to simplify and mask the cursor modes, removing the need for the player to manually set them. It also implements default behaviors where none are explicitly implemented, through the use of unhandled_event in the global script.

-

Without making any direct comparisons which might result in a lawsuit, in the default mode left-clicking will do things, right-clicking will look at things. In the reversed mode, left-clicking will look at things, right-clicking will do things.

-

The popup threshold for the GUI is managed by two properties (PopupProportional and PopupDistance), both of which are considered at the same time. Setting both to 0 means that the GUI will never appear.

-

Example:

-
// register a GUI to use for the inventory bar
-TwoClickHandler.InventoryGui = gInventoryBar;
-// register a Label to use for action text
-TwoClickHandler.ActionLabel = lblAction;
-// select the reversed button mode (left-click to look, right-click to use)
-TwoClickHandler.ReversedClicks = true;
-// Set the popup threshold for the inventory bar
-TwoClickHandler.PopupProportional = 0.5;        // 50% of the GUI height or
-TwoClickHandler.PopupDistance = 50;             // 50 pixels
-
-
-

TwoClickHandler.InventoryGui

-
GUI* TwoClickHandler.InventoryGui
-

Assigns the GUI which will be used for the inventory.

-
-
-
-

TwoClickHandler.ActionLabel

-
Label* TwoClickHandler.ActionLabel
-

Assigns the Label which will be used to display text descriptions.

-
-
-
-

TwoClickHandler.ReversedClicks

-
bool TwoClickHandler.ReversedClicks
-

Sets how left and right clicks are processed.

-

When true: left-click to look, right-click to use
When false: left-click to use, right-click to look

-

The default value is false.

-
-
-
-

TwoClickHandler.PopupProportional

-
float TwoClickHandler.PopupProportional
-

Show and hide the inventory GUI when the mouse cursor y value is less than this proportion of the GUI height. For example, if the inventory GUI has a height of 100 pixels, a value of 0.9 will show the GUI when the mouse cursor distance to the top of the screen is less than 90 pixels.

-

The default value is 0.75.

-
-
-
-

TwoClickHandler.PopupDistance

-
int TwoClickHandler.PopupDistance
-

Show and hide the inventory when the mouse cursor y value is less than this value.

-

The default value is 0 (effectively disabled in favor of PopupProportional).

-
-
-
-

TwoClickHandler.Close

-
TwoClickHandler.Close();
-

Hide the inventory GUI if it being shown. If the inventory GUI is already hidden then this function does nothing. This would typically only be called by higher level GUI management functions which require the inventory GUI to be replaced or suppressed.

-

See also: Templates, Setting up the game

-
-
-
- - - - - -
- - diff --git a/TemplateSierraStyle.html b/TemplateSierraStyle.html deleted file mode 100644 index c6c62b5bd..000000000 --- a/TemplateSierraStyle.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - Sierra-style template - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Sierra-style template

-

This template was previously listed as the 'default' template, with the majority of functions used being native to the engine itself. i.e. there is no separate script file to implement any additional behavior for the mouse cursor. This makes it a good choice for learning how AGS works, since it makes heavy use of the mouse cursor functions.

-

As a general guide, right clicking changes your cursor mode, left clicking uses the current cursor mode.

-

This template also contains the majority of examples for save game and option handling, and also demonstrates the default handling for an inventory window.

-

One script module is included, which allows the main character to be controlled with the keyboard. This is switched on and configured with some default settings, but can be reconfigured or switched off entirely by using the defined functions.

-

Example:

-
// configure the player for arcade action
-KeyboardMovement.Mode = eKeyboardMovementModePressing;
-KeyboardMovement.KeyUp = eKeyW;
-KeyboardMovement.KeyDown = eKeyS;
-KeyboardMovement.KeyLeft = eKeyA;
-KeyboardMovement.KeyRight = eKeyD;
-
-
-

KeyboardMovement.Mode

-
KeyboardMovementMode KeyboardMovement.Mode
-

Sets the keyboard movement mode. Possible values are:

-

eKeyboardMovementModeNone (disable keyboard control)
eKeyboardMovementModeTapping (tap a direction to move)
eKeyboardMovementModePressing (hold down a direction to move)

-
-
-
-

KeyboardMovement.KeyUp

-
eKeyCode KeyboardMovement.KeyUp
-

Assigns the key used to move the player upwards.

-
-
-
-

KeyboardMovement.KeyDown

-
eKeyCode KeyboardMovement.KeyDown
-

Assigns the key used to move the player downwards.

-
-
-
-

KeyboardMovement.KeyLeft

-
eKeyCode KeyboardMovement.KeyLeft
-

Assigns the key used to move the player to the left.

-
-
-
-

KeyboardMovement.KeyRight

-
eKeyCode KeyboardMovement.KeyRight
-

Assigns the key used to move the player to the right.

-

See also: Templates, Setting up the game

-
-
-
- - - - - -
- - diff --git a/TemplateVerbcoin.html b/TemplateVerbcoin.html deleted file mode 100644 index 9f8444a26..000000000 --- a/TemplateVerbcoin.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - VerbCoin template - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

VerbCoin template

-

This template is a replacement for the previous VerbCoin template, with the aim of dropping legacy features and offering a simpler base to build upon.

-

The main changes are:

-
    -
  • There is no built-in mechanism for using timed clicks, so no press and hold of a mouse button is required anywhere
  • -
  • Inventory is still right-click to open, but now BASS style controls are used within the inventory window
  • -
  • No additional VerbCoin interfaces will be opened over the top of inventory items
  • -
  • Rather than customize the action description per object/hotspot/character and allow actions to change based on context, the emphasis is on fixed actions with fallback to defaults (using unhandled_event)
  • -
-

As a general guide, left click on things to open the Verbcoin, right click to open the inventory window.

-

The script module functions are mostly to register the interface components used for displaying the VerbCoin and managing the inventory window.

-

Example:

-
// setup VerbCoin GUI and buttons
-VerbCoin.InterfaceGui = gVerbCoin;
-VerbCoin.RegisterButton(btnLook, eVerbCoinPositionNorth, eModeLookat, "Look at");
-VerbCoin.RegisterButton(btnTalk, eVerbCoinPositionEast, eModeTalkto, "Talk to");
-VerbCoin.RegisterButton(btnInteract, eVerbCoinPositionSouth, eModeInteract, "Use");
-VerbCoin.RegisterButton(btnPickup, eVerbCoinPositionWest, eModePickup, "Pick up");
-
-// select the inventory GUI and action label
-VerbCoin.InventoryGui = gInventory;
-VerbCoin.ActionLabel = lblAction;
-
-// disable buttons where click events would be unhandled
-VerbCoin.ButtonAutoDisable = true;
-
-
-

VerbCoin.Radius

-
int VerbCoin.Radius
-

Sets the radius used when drawing the circle that renders the VerbCoin.

-
-
-
-

VerbCoin.BackgroundTransparency

-
int VerbCoin.BackgroundTransparency
-

Sets the background transparency level (from 0 to 100) for the VerbCoin

-
-
-
-

VerbCoin.BackgroundColor

-
int VerbCoin.BackgroundColor
-

Sets the background color (0 to 65535) for the VerbCoin.

-
-
-
-

VerbCoin.BorderColor

-
int VerbCoin.BorderColor
-

Sets the border color (0 to 65535) for the VerbCoin

-
-
-
-

VerbCoin.BorderWidth

-
int VerbCoin.BorderWidth;
-

Sets the border width for the VerbCoin.

-
-
-
-

VerbCoin.OnClick

-
VerbCoin.OnClick(GUIControl* control, MouseButton button);
-

Since click handlers can currently only be implemented in the global script, this function is used to pass the event back into the VerbCoin module.

-
-
-
-

VerbCoin.RegisterButton

-
VerbCoin.RegisterButton(GUIControl* control, VerbCoinPosition position, CursorMode mode, String verbtext);
-

Registers a button for use with the VerbCoin. The design is currently 4-point, so valid positions are:

-

eVerbCoinPositionNorth
eVerbCoinPositionEast
eVerbCoinPositionSouth
eVerbCoinPositionWest

-

The cursor mode relates to the standard AGS cursor mode, which is used to determine the action performed. 'verbtext' is the text description of the action, e.g. if the mode being used is eModeInteract then a suitable description could be 'use'.

-
-
-
-

VerbCoin.InterfaceGui

-
GUI* VerbCoin.InterfaceGui
-

Registers the GUI used for the VerbCoin.

-
-
-
-

VerbCoin.InventoryGui

-
GUI* VerbCoin.InventoryGui
-

Registers the GUI used for the inventory window.

-
-
-
-

VerbCoin.ActionLabel

-
Label* VerbCoin.ActionLabel
-

Registers the Label used to display text descriptions.

-
-
-
-

VerbCoin.Enable

-
VerbCoin.Enable();
-

Enables the VerbCoin interface.

-
-
-
-

VerbCoin.Disable

-
VerbCoin.Disable();
-

Disables the VerbCoin interface.

-
-
-
-

VerbCoin.IsEnabled

-
VerbCoin.IsEnabled();
-

Returns true if the VerbCoin interface is currently enabled, else returns false.

-
-
-
-

VerbCoin.Open

-
VerbCoin.Open();
-

Opens the VerbCoin interface (i.e. show its GUI).

-
-
-
-

VerbCoin.Close

-
VerbCoin.Close();
-

Closes the VerbCoin interface (i.e. hide its GUI)

-
-
-
-

VerbCoin.IsOpen

-
VerbCoin.IsOpen();
-

Returns true if the VerbCoin interface is currently open, else returns false.

-
-
-
-

VerbCoin.CleanUp

-
VerbCoin.CleanUp();
-

Deletes the dynamic sprite which is used in rendering the VerbCoin user interface. This would typically only be done immediately before exiting the game, in-order to suppress warnings about dynamic sprites still being allocated.

-
-
-
-

VerbCoin.ButtonAutoDisable

-
bool VerbCoin.ButtonAutoDisable
-

Sets whether VerbCoin buttons should be disabled, if clicking them would result in an unhandled event.

-

See also: Templates, Setting up the game

-
-
-
- - - - - -
- - diff --git a/Templates.html b/Templates.html deleted file mode 100644 index 1e424a723..000000000 --- a/Templates.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - New Game templates - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

New Game templates

-

When you choose "Start a new game" in the initial "Welcome to AGS" dialog box, a window appears with various templates that you can base your game off.

-

AGS comes with a few standard templates:

- -

...but you can create your own too.

-

NOTE: the previously available "Default" template is now known as "Sierra-style", which also contains updated graphics.

-
-

If the list of templates is empty

-

The templates are normally located in "Templates" folder withing AGS Editor directory. If the folder is empty, that could happen if AGS Editor installation went wrong, or you have run from an incomplete package. What you may try:

-
    -
  • Reinstall AGS (preferably downloading an official release),
  • -
  • Download templates (see below).
  • -
  • Copy "Templates" folder from any other versions of AGS if you have them on your computer, but make sure these versions are not newer than the one you're going to use. Also in this case you have to be ready to possibly update the game scripts as templates may be using deprecated script commands.
  • -
-
-
-

Using downloaded templates

-

If you've downloaded a game template from the internet, you should find a file with a .AGT extension. This is the AGS Template File, and you just need to copy it into the "Templates" folder within the AGS Editor directory.

-
-
-

Creating your own template

-

A game template is basically just an archive containing all of the game source files, which are then extracted into the new folder when the user creates a new game. It is similar to you just zipping up your game folder and sending it to a friend - except that this way looks far more professional.

-

To create a template, first of all you create a game as normal in the editor. Once you have everything set up how you want it, select "Make template from this game" on the File menu. This will prompt you for a name for the template (this is what will appear under its icon in the "Start New Game" dialog box), and then it will go away and compile the template for you.

-

The template game takes the following files from your game folder: Core game files (GAME.AGF, ACSPRSET.SPR), all script and room files, all sound and music files, all fonts, game icons, and all .TXT files (to allow you to include a README.TXT or whatever).

-

If you include a template.ico file in your game folder when you make the template, then it will be used as the icon in the Start New Game dialog box. Otherwise, the icon will be taken from user.ico (if present), or if not it will get the default AGS icon.

-

You can also include a template.txt file in your game folder. If you do, then its contents will be displayed to the user in a messagebox after they create a new game based on the template. You could use this to explain briefly about any key aspects of the template, or it could tell them to read your README file. This file should be quite small, its entire contents need to fit into a standard message box, so keep it below 255 characters.

-

NOTE: Do not simply make a template out of a half-finished game. If you want to make a template, you should start a game from scratch and make your changes - the user probably doesn't want to already have a semi-completed game when they use your template. Rather, game templates are about different types of game controls, gameplay mechanics you want to share.

-

See also: Setting up the Game, Tutorials Index

-
-
-
- - - - - -
- - diff --git a/TextBox.html b/TextBox.html deleted file mode 100644 index 1a8e2421d..000000000 --- a/TextBox.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - TextBox functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

TextBox functions and properties

-

TextBox is a subclass of GUIControl and therefore inherits all GUIControl's functions and properties in addition to its own, which are listed below.

-
-
-

TextBox.Font

-

(Formerly known as SetTextBoxFont, which is now obsolete)

-
FontType TextBox.Font
-

Gets/sets the font used by the specified text box. This might be useful if you need a player input text box to use a different font with foreign language translations, for example.

-

Example:

-
txtUserInput.Font = eFontNormal;
-

will change the txtUserInput text box to use Font "Normal".

-

See also: Label.Font, TextBox.Text

-
-
-
-

TextBox.ShowBorder

-
bool TextBox.ShowBorder
-

Gets/sets whether the text box's border is shown.

-

Border is drawn using color from TextColor property.

-

Compatibility: Supported by AGS 3.5.0 and later versions.

-
-
-
-

TextBox.Text

-

(Formerly known as GetTextBoxText, which is now obsolete)
(Formerly known as SetTextBoxText, which is now obsolete)
(Formerly known as TextBox.GetText, which is now obsolete)
(Formerly known as TextBox.SetText, which is now obsolete)

-
String TextBox.Text;
-

Gets/sets the text box contents. This might be useful to reset the text box to blank after the user has typed something in, or to fill in a default value.

-

Example:

-
txtUserInput.Text = "";
-

will clear the txtUserInput text box.

-

See also: TextBox.Font, String.CompareTo, Label.Text

-
-
-
-

TextBox.TextColor

-
int TextBox.TextColor;
-

Gets/sets the text color used to draw the text box. This affects both the text in the text box, and also the text box's border.

-

Example:

-
txtInput.TextColor = 14;
-

will change text box 'txtInput' to have yellow text.

-

Compatibility: Supported by AGS 3.1.0 and later versions.

-

See also: TextBox.ShowBorder, TextBox.Text

-
-
-
- - - - - -
- - diff --git a/TextParser.html b/TextParser.html deleted file mode 100644 index 28037819b..000000000 --- a/TextParser.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - Text Parser - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Text Parser

-

You can now use a text parser in your games if you wish to, much as the older Sierra games did. Go to the "Text parser" pane in the editor. There, you will see a short list of words which are provided for you. Each word has a number beside it.

-

Basically, you add words you want to use by right-clicking the list, and selecting "Add word". However, the real beauty of the parser is its ability to recognize synonyms - that is, two words that mean the same thing. So, for example, if you wanted the player to type "look at fence", they might well type "look at wall" instead, if that's how they see the drawing. Or, a British person might type "colour" whereas an American might type "color", both of which should have the same effect.

-

To add a synonym for an existing word, highlight the current word, right-click it and choose "Add synonym". You'll notice that the new word is given the same number as the old one. All words with the same number are considered identical by the parser.

-

You will notice that the provided list has a lot of words with number 0. This is a special number, that indicates that the parser should ignore the word completely. In our previous example, the player might type "look at the fence", "look at fence", or just "look fence". By adding words like "at" and "the" to the ignore list, they get stripped out of the user's input automatically. To add new ignore words, just select an existing one and add a synonym.

-

So, how do you use the text parser? Well, you'll need a text box GUI control somewhere in order for the user to type in their input, or you could just use the Game.InputBox command (but it has quite a short line length).

-

When the user has typed in their text (you'll probably know this by the text box's event being activated), you call the Parser.ParseText script function which tells AGS what input string to use in subsequent commands. You then simply use the Said command to test what the player typed in.

-

You type the whole sentence (but NOT including any ignore words), and AGS will compare it to the user's string, considering all synonyms identical. For example (assuming our text box is called "txtUserInput"):

-
String input = txtUserInput.Text;
-Parser.ParseText(input);
-if (Parser.Said("look fence")) {
-    Display("It's an old wooden fence.");
-}
-if (Parser.Said("eat apple")) {
-    Display("You'd love to, but you don't have one.");
-}
-

There are a couple of special words you can use with the Said command. "anyword" will match any word that the user types in. For example, Said("throw anyword away") will match if they type "throw dagger away", or "throw trash away". "rol" (short for Rest-of-Line) will match the rest of the user's input. So, you might want to do:

-
if (Parser.Said("kill rol")) {
-    Display("You're not a violent person.");
-}
-

This way if they try to kill anything they will get the generic response.

-

Sometimes, you want to accept two different words that are not synonyms as the same thing. For example, the words "take" and "eat" normally have totally different meanings, so you wouldn't make them synonyms of each other. However, if the player has a headache tablet, for instance, then "take tablet" and "eat tablet" would both be valid. This is where the comma "," comes in - if you include a comma in your input, all synonyms of all words separated by the comma will match. So:

-
if (Parser.Said("eat,take tablet"))
-

will match eat or take and all their synonyms, then tablet and its synonyms.

-

Another fairly common task with a parser is to check for optional words

-
    -
  • for example, if there is a brick wall on the screen, you want the player to be able to type "look wall" and "look brick wall". Although this can be done with two OR'ed Said commands, AGS makes it easier. You can use [brackets] to signify an optional word. So:
  • -
-
if (Parser.Said("look [brick] wall"))
-

will match "look wall" and "look brick wall".

-

Now this is all very well, but in different rooms you have different items to interact with - for example, in one room there might be a tree that the player should be able to type "look at tree" to look at, and so on. Putting all this in your global script would make a big mess. So, enter the CallRoomScript function. Using this, you can do:

-
Parser.ParseText(input);
-String badWord = Parser.SaidUnknownWord();
-if (badWord != null)
-    Display("You can't use '%s' in this game.", badWord);
-else if (Parser.Said("eat apple"))
-    Display("You'd love to, but you don't have one.");
-// other game-wide commands
-else
-    CallRoomScript(1);
-

Then, the room script can check for things that the player can do in the current room. See the CallRoomScript description for more information.

-
-
- - - - - -
- - diff --git a/TextWindowGUI.html b/TextWindowGUI.html deleted file mode 100644 index c89bf486f..000000000 --- a/TextWindowGUI.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - TextWindowGUI functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

TextWindowGUI functions and properties

-

This struct extends the GUI struct, so it has all functions and properties from GUI, in addition to the properties below.

-

Compatibility: TextWindowGUI is supported by AGS 3.5.0 and later versions.

-
-
-

TextWindowGUI.TextColor

-
int TextWindowGUI.TextColor
-

Gets/sets the text color to be used when rendering text on this TextWindowGUI.

-

Example:

-
// a custom MySay function with character-specific text color;
-// (assuming that gTextGui is assigned as a speech GUI)
-function MySay(this Character*, const string message) {
-    gTextGui.AsTextWindow.TextColor = this.SpeechColor;
-    this.Say(message);
-}
-

above function adjusts gTextGui's text color before calling a standard Character.Say function. It assumes that gTextGui was assigned as a default textwindow for the character speech. Such custom function may then be used as:

-
cEgo.MySay("My text has my colors!");
-
-
-
-

TextWindowGUI.TextPadding

-
int TextWindowGUI.TextPadding
-

Gets/sets the amount of padding, in pixels, surrounding the text in the TextWindow.

-
-
-
- - - - - -
- - diff --git a/TheScriptHeader.html b/TheScriptHeader.html deleted file mode 100644 index f193e82f9..000000000 --- a/TheScriptHeader.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - The script header - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

The script header

-

The script header in AGS works like this: its contents are copied verbatim to the script it belongs to, and to all the scripts below. This means that everything that's written in header will be treated as a part of all these scripts during compilation.

-

This allows you to include the same information into all your scripts. User struct declarations, imports, enums and macros - are common things to place in a header and share them among the multiple scripts.

-

On the other hand, regular variable declarations should not be placed in a script header. That will declare a variable of identical name for every script this header is included to, but these in fact will not be treated as same variable but as separate ones (although of same name). This is a common beginner's mistake, and may cause strange program behavior, where you seem to change variable in one script but it does not appear to be changed in another.

-

It's also best to not place actual functions in headers, as this will create duplicates of such functions everywhere. This is less serious problem, but still not a very good thing. Place function imports in headers instead.

-

See also: Importing functions and variables in other scripts

-
-
- - - - - -
- - diff --git a/Translations.html b/Translations.html deleted file mode 100644 index 24dbe147f..000000000 --- a/Translations.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - Translations - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Translations

-
-

Overview

-

You can translate your game to multiple languages. In AGS the game translation works like a table of strings, where for each of the original text strings in your game you provide a translated replacement. This includes speech text in dialogs, any text in double-quotes in regular scripts, and also certain property values (GUI texts, character names, hotspot descriptions and similar). When you play a game with a translation enabled, AGS will automatically replace the displayed text on GUIs, character speech and text messages. For other cases there's a script function GetTranslation that lets you retrieve the translation for the wanted string which you may then use as necessary.

-

Let's move on to how translations are created in the editor.

-

Add a translation to your game project

-

When you have your game project opened right-click the "Translations" node in the tree, and choose "New translation". Once you've named it, AGS will ask if you want to populate the file now. Say yes.

-

A new file will be created in the game folder, called NAME.TRS, where NAME is the name you gave to the translation in the editor. This file is simply a text file by format and a .trs suffix, and will be generated with each original line of text separated by a blank line. That blank line is where you enter the translated text.

-

You can now work on translating these texts yourself or give this file to your translators. The idea is to fill in each blank line with the corresponding translation of the original line above it. If this empty line is left blank, it will simply not be translated and display the original line in the game.

-

IMPORTANT: make sure that the TRS file is saved in a correct encoding. If you want to have Unicode texts in your game then save it as UTF-8 (specifically: UTF-8 without BOM). Otherwise save it as ASCII. You would also have to add a Encoding hint to the translation options, see the "Additional options" section about this.

-

IMPORTANT: there are few ways to break your translation file and make it unusable for AGS. The following points are essential to keep in mind:

-
    -
  • DO NOT remove or replace original text lines, they are necessary to find matches.
  • -
  • DO NOT remove blank lines between original texts, just keep these empty lines if you are not going to translate the text. AGS treats each odd line as an original text and each even line as translated.
  • -
  • DO NOT add any extra lines in the middle, for the same reason. There are exceptions to this rule - see below.
  • -
-

Once the translation is done, right-click the translation and choose "Compile". It will be converted into a compiled translation (.TRA) file in the Compiled folder, which can be used with the game engine.

-

Run the game Setup program, and select the translation from the drop-down box. Then, run the game, and all the text should be translated.

-

While most in-game text is translated automatically, there are a few instances when this is not possible. These are when a script uses functions like Append to build up a string, or CompareTo to check some user input. In these cases, you can use the GetTranslation function to make it work.

-

Formatted strings may also end up in translation file, these are ones that contain input placeholders such as '%s', '%d' and so on. It's essential that the translated line has all the same placeholders and has them in the same order. Otherwise this line may cause errors in game.

-

Please note, there is also an "Update" option when right-clicking a translation. This is useful if you've got a translated version of your game, but you want to update the game and add a few bits in. Once you've updated your game, run the Update Translation option and the translation file you select will get any new bits of text added to it at the bottom -- then you can just ask your translator to additionally translate these lines.

-
-
-

Additional options

-

There are two more things you can add to the translation file: comments and font options.

-

Comment lines should begin with //, just like in script, and anything else on the same line will be ignored, and such lines won't be counted when deciding which line is original text and which is the translation. Comments are allowed to be placed anywhere in the file, and they are a good way to keep notes for yourself or your translators.

-

Font options let you define certain font substitutes for this particular translation. All options begin with the comment opening and a pound sign: //# - followed by OPTION=VALUE kind of string where "OPTION" is the corresponding name. Following options are supported:

-
    -
  • NormalFont - sets the font used for displaying messages on screen. This corresponds to the Game.NormalFont script property. The value may be either the font's number or DEFAULT for no change.
  • -
  • SpeechFont - sets the font used for character speech. This corresponds to the Game.SpeechFont script property. The value may be either the font's number or DEFAULT for no change.
  • -
  • TextDirection - sets the direction in which the text is written. This corresponds to calling the SetGameOption script function with the OPT_RIGHTTOLEFT argument. The value may be LEFT (for left-to-right), RIGHT (for right-to-left) or DEFAULT.
  • -
  • Encoding - sets the encoding hint that matches the encoding of the file. If you use UTF-8, the file must be saved with UTF-8 without BOM encoding. Your game can be set to a different encoding, just make sure that the font used supports the encoding used.
  • -
-

Example:

-
// The normal font to use - DEFAULT or font number
-//#NormalFont=4
-// The speech font to use - DEFAULT or font number
-//#SpeechFont=DEFAULT
-// Text direction - DEFAULT, LEFT or RIGHT
-//#TextDirection=RIGHT
-// Text encoding hint - ASCII or UTF-8
-//#Encoding=UTF-8
-

This would set NormalFont to font 4, leave SpeechFont unchanged, and switch text direction to Right-to-left mode.

-

NOTE: these options are applied to game properties the moment new translation is enabled. But they are not kept permanently while that translation is active. Changing any of these in script would override values set by current translation.

-
-
-

Troubleshooting

-

If you have ?s displaying instead of special characters in the translated lines, make sure the font you use is imported into AGS correctly and supports the characters you want to display. In case some letters are mixed up this might be a mapping problem of the source font, you need to manually edit this fontsheet or just find a new font on the world wide web that works.

-

When you play the game with the translation enabled and special characters of the language are replaced with ?? (2 question marks specifically), this means the actual encoding of the .trs files uses 2 bytes for each character, probably because you saved the file as UTF-8 and either set the encoding to ASCII or not set at all. If you wish to use ASCII, make sure you save and encode the .trs file to ANSI and NOT in unicode or UTF-8 encoding.

-

In some wordprocessors changing the encoding of the whole file to ANSI encoding changes the normal special characters to something even more unrecognisable, so you might have to run a search and replace function over the whole document for every special character that is used in that language (make sure to check for capitalized special characters too) after changing the encoding to ANSI. A lot of wordprocessors use Ctrl+H as hotkey for the search and replace function.

-
-
-

Advanced Help

-

There is a great Editor Plugin called Speech Center that makes handling translations easier. You can find a download link for the file in the linked AGS Forum thread.

-

See also: Game.ChangeTranslation, Game.TranslationFilename, GetTranslation, IsTranslationAvailable

-
-
-
- - - - - -
- - diff --git a/TroubleshootingWindowsZoneID.html b/TroubleshootingWindowsZoneID.html deleted file mode 100644 index e0dfaec91..000000000 --- a/TroubleshootingWindowsZoneID.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - Troubleshooting Windows Zone Identifier - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Troubleshooting Windows Zone Identifier

-
-

Introduction

-

With the move to a more open source style of development for the AGS engine, game developers may use AGS builds that don't correspond to an official release. These are usually downloaded and extracted manually rather than installed with an installer and this can cause some problems with Windows security settings. Specifically, attempts to access the help file (ags-help.chm) from inside or outside the AGS editor may be blocked (renders a blank page or error). Additionally, when you download an AGS Editor plugin, it may error when the game project is loaded or the plugin is activated.

-

This is caused by something called "alternate data streams", and usually right-clicking on the file and selecting unblock will fix your problem. Sometimes this doesn't work, so keep reading.

-
-
-

What are "alternate data streams"?

-

When a file is stored on a computer by the Operating System it's written in a particular way. In order to read a file back there is a need to know where it begins and ends on the disk, so a File System is used to store data. On Windows the most popular File System is NTFS which supports the use of alternate data streams. Normally the contents of a file will be saved into the NTFS $DATA attribute in the default stream, but it is also possible to specify an alternate stream name and store data in a different location within the same file. One common alternate stream name is named "Zone.Identifier" which is used to indicate the Windows Security Zone that a file originates from. This is commonly used to indicate that a file originates from another computer, the origin being indicated by a zone number. The zone numbers are defined by Zone Security settings in Internet Options.

-

It's typically up to individual web browsers and download utilities running on Windows as to whether they write to the "Zone.Identifier" stream when a file is downloaded, and equally any application could choose to check the "Zone.Identifier" stream of a file when it is being opened. The help file viewer is one such application and will, by default, refuse to open a file if the "Zone.Identifier" indicates it originated from a different computer (i.e. it is potentially unsafe).

-

When looking at a file's properties, if a restrictive zone number is present in the "Zone.Identifier" stream the file will be listed as "blocked". Choosing to unblock the file will re-write the "Zone.Identifier" stream to indicate the file should no longer be restricted (i.e. programs shouldn't be able to identify the origin of the file)

-
-
-

How do I clean my AGS editor files of "alternate data streams"?

-

Usually it's just the single "Zone.Identifier" alternate stream on the help file that causes a problem.

-
    -
  • Right-click the ags-help.chm file in Windows Explorer and press the unblock button.
  • -
-

If the unblock button doesn't work this is usually because the AGS folder has been located somewhere where the user attempting to unblock does not have write permission (if this is the case it's likely that the user extracting the AGS Editor would have encountered a UAC prompt when extracting to the AGS Editor files and approved the process to run with elevated permissions). The easiest solution is to run the Windows program "streams.exe" with elevated permissions. It can be downloaded from here.

-
    -
  • Download the zip file and extract it to any temporary directory, e.g. the Desktop.
  • -
  • Open a Windows Command prompt using "run-as administrator"
  • -
  • In the command prompt, change to the directory where the files were extracted:
    cd "<EXTRACTION FOLDER>"
    (where "<EXTRACTION FOLDER>" is the path to where streams.exe was extracted)
  • -
  • Run the following command to recursively remove any alternate data streams:
    streams.exe -s -d "<AGS EDITOR FOLDER>"
    (where "<AGS EDITOR FOLDER>" is the path to where the AGS Editor folder was extracted)
  • -
-

An alternate solution is to move the AGS Editor files to a location that doesn't use an NTFS file system, and then move the files back to the computer again. Most USB memory sticks will be formatted with the FAT32 File System instead of NTFS. FAT32 does not support alternate data streams, so they cannot exist on the memory stick.

-
-
-
- - - - - -
- - diff --git a/Tumbleweed.html b/Tumbleweed.html deleted file mode 100644 index 3e78ff854..000000000 --- a/Tumbleweed.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - Tumbleweed - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed

-

Tumbleweed template and this manual page is created by Abstauber, and released with MIT License.

-
- -
-
-

Introduction

-

Tumbleweed Verbs is a template that allows you to recreate those classic SCUMM games, as well as the modern iteration Thimbleweed Park (TM) by Terrible Toybox, Inc.

-

Setting up the template with all your custom graphics and colors has been simplified a lot. All settings are grouped in the submodule TemplateSettings.asc. There is no need anymore for digging around in the single modules. The messages for unhandled events are defined in the TemplateSettings modules as well.

-

If you like to create a game with this template, you have to re-think some concepts you use when creating a game with AGS.

-

The two new concepts are: event handling and default actions, using extensions.

-

Let's take a look at the event handling, or in other words: stuff that happens after you have clicked on something. Normally you create a function for each event of an object, a hotspot etc. Functions like cup_Interact() or cup_Look(). Using this template you only need one the any click event. Inside these functions you distinguish between the different interactions. So a typical any_click function looks like this:

-
function cup_AnyClick()
-{
-    // LOOK AT
-    if (Verbs.UsedAction(eGA_LookAt)) {
-        player.Say("It's a blue cup.");
-    }
-    // USE
-    else if (Verbs.UsedAction(eGA_Use)) {
-        player.Say("I'd rather pick it up.");
-    }
-    // PICKUP
-    else if (Verbs.UsedAction(eGA_PickUp)) {
-        player.Say("Okay.");
-        Verbs.AnyClickWalkLookPick(108, 100, eDir_Up, "You are now mine.",oCup.ID, iCup);
-    }
-    //USE INV
-    else if (Verbs.UsedAction(eGA_UseInv)) {
-        Verbs.Unhandled();
-    }
-    // don't forget this
-    else Verbs.Unhandled();
-}
-

The function "AnyClickWalkLookPick" is explained in the scripting reference. AnyClickWalkLookPick

-

So you see, everything is inside a single function, instead 4 separate functions. Also instead of checking the cursor modes, the function Verbs.UsedAction is called to determine the event/action. The current defined actions are:

-
eGA_LookAt, eGA_TalkTo, eGA_GiveTo, eGA_PickUp, eGA_Use, eGA_Open, eGA_Close, eGA_Push, eGA_Pull,eGA_UseInv, eGA_Default and eMG_WalkTo
-

For inventory items, it's a little bit different, because there is no any_click event in the room editor. So you first start with "other click on inventory item", which creates the function iCup_OtherClick (in case you have an item, called iCup). Now copy this function name and paste it at other events, like interact, look, talk and so on. In the end, you only have one function name in all five events. You can also take a look at the sample items.

-

The second main aspect of the GUI are the extensions. You add an extension to a location (Hotspots, Objects etc.) by editing its description.

-

For example, let's take an object. In the sample room, the object is called oCup and the description is simply "Cup". When move the cursor over this cup and no extension is defined, the default action will be "look at". Also the corresponding verb button in the gui starts to highlight. Now we can change this behavior with adding an angled bracket, followed by one of the following letters:

-
    -
  • n: nothing / default
  • -
  • g: give to
  • -
  • p: pick up
  • -
  • u: use
  • -
  • o: open
  • -
  • l: look at
  • -
  • s: push
  • -
  • c: close
  • -
  • t: talk to
  • -
  • y: pull
  • -
  • v: variable extension
  • -
  • e: exit
  • -
-

Let's give oCup the description "Cup>p". Now the right-click action has changed. If you now move the mouse on the cup, the verb button "Pick Up" is highlighted. If you right-click the object, the any_click function from above is called. It checks for the used action and will perform the chosen action. Extensions are also explained in the function reference.

-

The last thing you should know about, is the global variable "ItemGiven". If you like to give an item to a character, use this variable to check, which item has been given. For example:

-
if (Verbs.UsedAction(eGA_GiveTo))
-{
-    if (ItemGiven == iCup)
-    {
-        player.Say("Do you want this Cup?");
-        cBman.Say("No, thank you.");
-    }
-    else if (ItemGiven == iKey)
-    {
-        player.Say("Is that your key?");
-        cBman.Say("Of course. You have it from me.");
-    }
-    else Verbs.Unhandled();
-}
-else Verbs.Unhandled();
-

If you need to use "ItemGiven" in other scripts than the global one, you need to import it manually. It's not defined via global variable pane inside the AGS editor.

-
-
-
-

Using Inventory Items

-

There are currently three ways of using an inventory item, you can choose from.

-
    -
  1. "Use" only

    -

    For this, you need to add the use-extension ">u" to the description of the item and an event function for "Interact inventory item". If you have followed the instructions in this manual you probably already have it there. This option might come handy for a watch. Clicking on it always gives you the current time. You can not give it away or use it with different items.

  2. -
  3. "Use" and "Use with"

    -

    Here you need to remove the use-extension from the description, but still keep the event function. This allows the player to directly use the item by clicking on the "use"-verb first. Directly clicking the items results in "use-with". Sticking to the watch-example: using the watch with the verb-button sets an alarm. Clicking directly on it in the inventory results in "use with", so you can use the watch with a shelf to hide it there. But please note that it might be hard for the player to understand, that using the verb button and using the inventory directly are two different things.

  4. -
  5. "Use with" only

    -

    For the last option, you need to remove the use-extension and remove the event function. Yep, that's right: on the right side of "Interact inventory item" is no function at all. If you then use the item, whether it's via the verb-button or a direct click, the action always stays "use with".

  6. -
-
-
-
-

Exit Extensions

-

You can add an exit extension to hotspots and objects. Clicking on such a hotspot will make the player walk to it and change the room afterwards. There are several advantages compared to the usual methods like 'screen edges' or stand-on hotspot functions:

-
    -
  • works with objects and vertical hotspots (like cave entrances)
  • -
  • supports double click to skip the walking
  • -
  • optional walking off the screen: if you set the exit hotspot towards a screen edge, you can make the player leave the screen and change the room after that.
  • -
-

This is how it works:

-

First of all create your hotspot and let it have the ">e" extension. Now switch over to the events (that little flash) and add the Usermode_1 hotspot event. Eventually you'll end in the room script with a function called hExit_Mode8. In that function, all you have to do is to script the room change. e.g.

-
player.EnterRoom(1, 76, 111, eDir_Right, true);
-

This function is almost similar to the AGS function player.ChangeRoom, you can look it up in the function reference below. If you want the player to leave the screen, you have to change the extension of the hotspot. These ones are possible:

-
    -
  • el: left
  • -
  • er: right
  • -
  • eu: up
  • -
  • ed: down
  • -
-

If you have an exit on the right side of your screen and want the player to leave the screen on that side, your hotspot description should be called:

-
Exit>er
-

Now the character will walk to the clicked location and keeps on walking for another 30 extra pixels. That offset can be changed in the script header. If you simply call your hotspot:

-
Exit>e
-

No additional walking will occur. This is useful for exits not being at the screen border. There's also an example in the second room of the demo template.

-
-
-
-

Language & Translation

-

Currently the GUI supports German, French, Spanish, Italian, Portuguese and Dutch. If you like to help translating this template, please drop me a PM at the AGS Forums.

-

If you like to create your game in a different language than English, you need to setup a different default language. In the TemplateSettings.asc module you'll find the line:

-
Verbs.VerbGuiOptions[eVerbGuiTemplateLanguage] = eLangEN;
-

At the time of writing, valid values are: eLangEN, eLangDE, eLangES, eLangFR, eLangIT, eLangPT, eLangNL. Setting this variable to one of these values will translate all your GUIs, including all provided dialogs, unhandled events and verb actions.

-

If you are providing a multi-language game, which default language is English instead, you will probably create one or more AGS translation files. Sadly AGS won't automatically change GUI graphics by the language preference set by running the game setup, but we got you covered with this: after generating a new language, tell your translators to look out for the line.

-
GUI_LANGUAGE
-

Now simply put a translation for that line choosing between EN, DE, ES, FR, IT, PT or NL. For example:

-
GUI_LANGUAGE
-DE
-

Now the GUI will be set to the corresponding language when the user selects a different language by running game setup.

-

See also: Templates, Setting up the game

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_actions.html b/Tumbleweed_actions.html deleted file mode 100644 index ea997db42..000000000 --- a/Tumbleweed_actions.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - Tumbleweed Action Functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Action Functions

-

These functions are mainly used to control the verb buttons.

-
-
-

Verbs.UsedAction

-
void Verbs.UsedAction (Action test_action);
-

Used to determine, which action has been selected by the player. Instead of checking cursor modes, this function is used.

-
-
-
-

Verbs.IsAction

-
bool Verbs.IsAction(Action test_action);
-

Used to check, if the current action is the one, given in the parameter.

-
-
-
-

Verbs.SetActionButtons

-
void Verbs.SetActionButtons(Action action, int btn_ID, int sprite, int sprite_highlight, char key);
-

This functions connects the verb buttons with the action and is also used to assign / change the graphics of the verb buttons.

-

See also: Verbs.AdjustLanguage

-
-
-
-

Verbs.SetDefaultAction

-
void Verbs.SetDefaultAction(Action def_action);
-

Used to define, which action is being used, if no verb has been clicked. Usually this is "walk to".

-
-
-
-

Verbs.SetAction

-
void Verbs.SetAction(Action new_action);
-

Since the cursor modes are bypassed, this function defines the current action. Among other things, this function is called by clicking a verb button.

-
-
-
-

Verbs.SetAlternativeAction

-
void Verbs.SetAlternativeAction(char extension, Action alt_action);
-

This function makes the right-click shortcuts work. If you use extensions like ">p" (e.g. pickup), this function makes sure, that the correct verb button is highlighted.

-

See also: Verbs.CheckDefaultAction

-
-
-
-

Verbs.CheckDefaultAction

-
void CheckDefaultAction();
-

This function checks for a given extension in hotspots, objects and characters. If there isn't an extension, a default action is given, e.g. "Talk to" if the mouse is over a character. In case of a given extension, the default actions are being overridden. It is also defined here, which letters are causing what default action. See the chapter Extensions for more details.

-

See also: Extensions

-
-
-
-

Verbs.UpdateActionBar

-
void UpdateActionBar();
-

This function is used to show and update the status bar. It checks for an extension, triggers the translation and renders the results on screen.

-

See also: Verbs.TranslateAction, Verbs.RemoveExtension

-
-
-
-

Verbs.ToogleGuiStyle

-
void ToogleGuiStyle(int enable_new);
-

Switches between classic SCUMM mode and new one.

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_door.html b/Tumbleweed_door.html deleted file mode 100644 index 2307bf626..000000000 --- a/Tumbleweed_door.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - Tumbleweed Door functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Door functions

-

This template implements a clever door scripting system, which is a real time-saver if you use a lot of doors. It uses a hotspot for the closed door and a non-clickable object, to show the opened door. If you enter a room the first time, you have to set up its containing doors:

-
function room_FirstLoad()
-{
-    // Lock door on startup when entering the room
-    Doors.SetDoorState(20, 2);
-    Doors.InitObject(20, oDoor.ID);
-}
-

This will set up a door with the id 20 to the state 2, locked. With "Doors.InitObject", you connect the object, displaying a sprite of an opened door, with the door ID. Now let's take a look at your hotspot's function:

-
function hDoor_AnyClick()
-{
-    if (Doors.AnyClick(20, oDoor.ID, 61, 104, eDir_Left, 1, 115, 135, eDir_Down) == 0)
-        Verbs.Unhandled();
-}
-

This function is explained in detail later in this document. But for starters, this is all you have to do in the room script. And looks much harder than it is, just take a look at the sample room, supplied with this template.

-

If you want to have the script to show the correct default actions, you also need to change a line in the gui-script: so look for a function, called VariableExtensions. In Verbs.VariableExtensions, look at this line:

-
if (r == 1 && h == 1)
-    Verbs.OpenCloseExtension(20);
-

This tells the script, that Room 1 contains a hotspot with the id 1. This is connected to a door a door with the id 20. So now, the right-click should suggest open/close, depending on the door's state.

-

To define the messages, the player character says, when approaching a door, you can access the array holding those messages anytime. Initially they are setup in the TemplateSettings.asc module.

-
-
-

Verbs.SetDoorState

-
void Doors.SetDoorState(int door_id, int value);
-

Call this function to set a door state for the given door_id. A door can have 3 different states:

-
    -
  • 0 = The door is closed
  • -
  • 1 = The door is open
  • -
  • 2 = The door is closed and locked
  • -
-

See also: Verbs.GetDoorState, Verbs.InitObject

-
-
-
-

Verbs.GetDoorState

-
int Doors.GetDoorState(int door_id);
-

Returns the current state of a door.

-
    -
  • 0 = The door is closed
  • -
  • 1 = The door is open
  • -
  • 2 = The door is closed and locked
  • -
-

See also: Verbs.SetDoorState, Verbs.InitObject

-
-
-
-

Verbs.InitObject

-
void Doors.InitObject(int door_id, int act_object);
-

Used to set up the corresponding object, used by the door with the given id. If the state of the door is closed, the object will be invisible. Otherwise, the object will be shown. The object stays unclickable all the time.

-

See also: Verbs.SetDoorState

-
-
-
-

Verbs.AnyClick

-
int Doors.AnyClick(int door_id, int act_object, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir);
-

This function is used in the room script in combination with the door hotspot. Parameters:

-
    -
  • door_id: The door id, you have defined
  • -
  • act_object: The object, containing the open sprite
  • -
  • x,y: the walk-to point of the door (please don't use the built in "walk-to coordinates" feature of the room editor.
  • -
  • dir: the direction, the player's character should face, after it reached x,y
  • -
  • nr_room: if the door is opened and walking through it, the player is being send to this room
  • -
  • nr_x,nr_y: the x,y coordinates of inside of the new room
  • -
  • nr_dir: after the room change, the player faces this direction
  • -
-

This is the main function of the door scripts. With this you connect the hotspot with the door and the player's action. If you have defined default door sounds, these are also being called in this function. Also you can't unlock a door with this function. You need Doors.AnyClickSpecial for that.

-

See also: Verbs.AnyClickSpecial

-
-
-
-

Verbs.AnyClickSpecial

-
int Doors.AnyClickSpecial(int door_id, int act_object, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir, AudioClip *opensound, AudioClip *closesound, int key, int closevalue);
-

This function extends any_click_door with the following parameters:

-
    -
  • opensound: custom sound to be played, when the door is being opened
  • -
  • closesound: custom sound to be played, when the door is being closed
  • -
  • key: the id of the inventory item, that can unlock the door, -1 masterkey, -2 if the door cannot be unlocked
  • -
  • closevalue: default 0 (closed), but you can also set 2 (locked).
  • -
-

See also: Verbs.AnyClick

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_extensions.html b/Tumbleweed_extensions.html deleted file mode 100644 index ef80ebdf7..000000000 --- a/Tumbleweed_extensions.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - Tumbleweed Extensions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Extensions

-

Extensions are used to define the default action for the right-click. You can add extensions to characters, hotspots, objects and inventory items. To add an extension, e.g. chose an object in the room editor and take a look at the description (not the name). In the sample room, we have an object, called Cup. In addition to the name we have an angle bracket and the letter p:

-
Cup>p
-

The bracket acts as a separator for the extension, the letter tells the script, which default action to use. By default, the template knows about the following extensions:

-
    -
  • n: nothing / default
  • -
  • g: give to
  • -
  • p: pick up
  • -
  • u: use
  • -
  • o: open
  • -
  • l: look at
  • -
  • s: push
  • -
  • c: close
  • -
  • t: talk to
  • -
  • y: pull
  • -
  • v: variable extension
  • -
  • e: exit
  • -
-

If you like to customize or add these extensions, take a look at the function CheckDefaultAction.

-

You don't have to add an extension for every object and hotspot. The template also adds some default actions on it's own. The default action for Characters is "talk to", for Hotspots and Objects, it's look at. Inventory items are handled a little differently, the right-click always causes "look at", no matter what. If you left-click an item, it's usually "use with". But if you have added the extension "u", the action will be simply "use". Clicking the verb button "use" and the item afterwards would cause the same action. But it could seem a little bit unpredictable, whether an item can used by a verb button or not. With this shortcut you can make things a little bit easier. You can see this behavior in the sample room, when opening the letter. Otherwise you would have needed something else to interact with it. But with the use-extension, it is getting opened by a single left-click. The exit extension is covered in the following chapter.

-

See also: Verbs.CheckDefaultAction

-
-
-

Verbs.RemoveExtension

-
void Verbs.RemoveExtension();
-

Used to remove the extension from a location (Hotspots, Objects etc.), so it doesn't get displayed in the status bar.

-
-
-
-

Verbs.AddExtension

-
void Verbs.AddExtension(char extension);
-

Used to add a default extension in case the location doesn't have one.

-
-
-
-

Verbs.Extension

-
char Verbs.Extension();
-

Returns the first extension of a location.

-
-
-
-

Verbs.ExtensionEx

-
char Verbs.ExtensionEx(int index, String name);
-

Returns the n-th extension of the given string. This is currently used for exit extensions.

-
-
-
-

Verbs.OpenCloseExtension

-
void Verbs.OpenCloseExtension(int door_id);
-

Used in combination with the door scripts. This function returns a close extension, if the door with the given id is open and vice versa.

-
-
-
-

Verbs.VariableExtensions

-
void Verbs.VariableExtensions();
-

This function is called, if you have have set "v" as an extension for a certain location. Currently it is used for the OpenClose extension, but of course you can add your own variable extensions here, for example "turn on / turn off".

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_helper.html b/Tumbleweed_helper.html deleted file mode 100644 index 6c0e5b7a7..000000000 --- a/Tumbleweed_helper.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - Tumbleweed Math and Helper Functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Math and Helper Functions

-
-
-

Verbs.Distance

-
float Verbs.Distance(int x1, int y1, int x2, int y2);
-

Returns the distance between two coordinates

-
-
-
-

Verbs.Offset

-
int Verbs.Offset(int point1, int point2);
-

Returns the offset between to two given values.

-
-
-
-

Verbs.GetButtonAction

-
int Verbs.GetButtonAction(int action);
-

Returns the connected action of a verb button. The actions for the verb buttons are not "hard-wired" inside the GUI-script, but defined in the function SetButtonAction.

-

See also: Verbs.SetActionButtons, Verbs.AdjustLanguage

-
-
-
-

Verbs.DisableGui

-
void Verbs.DisableGui();
-

This functions disables the GUI and hides it.

-

See also: Verbs.IsGuiDisabled, Verbs.EnableGui

-
-
-
-

Verbs.EnableGui

-
void Verbs.EnableGui();
-

This function enables the GUI again.

-

See also: Verbs.IsGuiDisabled, Verbs.DisableGui

-
-
-
-

Verbs.IsGuiDisabled

-
bool Verbs.IsGuiDisabled();
-

Returns true, if the GUI is currently disabled, false otherwise

-

See also: Verbs.DisableGui

-
-
-
-

Verbs.GlobalCondition

-
int Verbs.GlobalCondition(int parameter);
-

Used to check for conditions that are used many times in the script. For example, it's used to check, if the mouse cursor is in the inventory and the mode walk or pickup are selected. Returns 1, if the condition is true and 0 otherwise.

-
-
-
-

Verbs.InitGuiLanguage

-
void Verbs.InitGuiLanguage();
-

This is a helper function to set the correct sprites for the verb GUI.

-
-
-
-

Verbs.SetDoubleClickSpeed

-
void Verbs.SetDoubleClickSpeed(int speed)
-

Defines the double click speed

-
-
-
-

Verbs.HandleInvArrows

-
void Verbs.HandleInvArrows()
-

Takes care of showing or hiding the inventory scroll sprites.

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_movement.html b/Tumbleweed_movement.html deleted file mode 100644 index d780aec1f..000000000 --- a/Tumbleweed_movement.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - Tumbleweed Semi-blocking movement functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Semi-blocking movement functions

-

Semi-blocking means, that you can cancel the movement, but certain code is only executed, after the character has actually reached it's goal. To archive this, these functions are called inside an if-clause.

-

Example:

-
if(Verbs.MovePlayer(20,20)) Display("The player has reached the destination.");
-

If the player's character reaches the coordinates 20,20, the message "I'm there" is being displayed. If the movement is being canceled by a mouseclick, the message doesn't appear.

-
-
-

Verbs.MovePlayer

-
int Verbs.MovePlayer(int x, int y);
-

Moves the player character around on walkable areas, a wrapper for MovePlayerEx. Returns 1, if the character has reached it's goal and 0 if the movement has been canceled before.

-

See also: Verbs.MovePlayerEx

-
-
-

Verbs.MovePlayerEx

-
int Verbs.MovePlayerEx(int x, int y, WalkWhere direct);
-

Move the player character to x,y coordinates, waiting until he/she gets there, but allowing to cancel the action by pressing a mouse button. Returns 1, if the character hasn't canceled the movement and 0 if the movement has been canceled before. 2 is returned, if the characters has actually reached it's goal: e.g. if a walkable area is being removed while the player is still moving.

-
-
-
-

Verbs.GoToCharacter

-
int Verbs.GoToCharacter(Character*charid, eDirection dir, bool NPCfacesplayer, int blocking);
-

The same as GoToCharacterEx, just with the one character being the player and a default offset of x=35px and y=20px. Returns 1, if the character has reached it's goal and 0 if the movement has been canceled before.

-

See also: Verbs.GoToCharacterEx

-
-
-
-

Verbs.GoToCharacterEx

-
int Verbs.GoToCharacterEx(Character*chwhogoes, Character*ch, eDirection dir, int xoffset, int yoffset, bool NPCfacesplayer, int blocking);
-

Goes to a character staying at the side defined by 'direction': 1 up, 2 right, 3 down, 4 left and it stays at xoffset or yoffset from the character. blocking: 0=non-blocking; 1=blocking; 2=semi-blocking Returns 1, if the character has reached it's goal and 0 if the movement has been canceled before.

-

See also: Verbs.GoToCharacter, Verbs.NPCGoToCharacter

-
-
-
-

Verbs.NPCGoToCharacter

-
int Verbs.NPCGoToCharacter(Character*charidwhogoes, Character*charidtogoto, eDirection dir, bool NPCfacesplayer, int blocking);
-

The same as GoToCharacterEx, just with an default offset of x=35 and y=20 Returns 1, if the character has reached it's goal and 0 if the movement has been canceled before.

-

See also: Verbs.GoToCharacterEx

-
-
-
-

Verbs.AnyClickMove

-
int Verbs.AnyClickMove(int x, int y, eDirection dir);
-

Moves the player character to the coordinates given in the parameters. If the player reaches the destination, it's turns to the given direction. Returns 1, if the character has reached it's goal and 0 if the movement has been canceled before. You can use this kind of functions (including the movePlayer function which is called by this function), to check if the player actually reached it's destination. For example:

-
if (Verbs.AnyClickMove(130,110,eDir_Left) == 1 ) player.Say("I've reached the place.");
-

So the Message is only displayed, if the movement hasn't been canceled.

-

See also: Verbs.MovePlayer, Verbs.MovePlayerEx

-
-
-
-

Verbs.AnyClickWalk

-
int Verbs.AnyClickWalk(int x, int y, eDirection dir);
-

This function is almost similar to AnyClickMove. But it's only called, if the current action is eGA_WalkTo.

-

See also: Verbs.MovePlayer, Verbs.MovePlayerEx, Verbs.AnyClickMove

-
-
-
-

Verbs.AnyClickWalkLook

-
int Verbs.AnyClickWalkLook(int x, int y, eDirection dir, String lookat);
-

This function moves the player character to the given location, turns it to the given direction and lets it say the message, given in the string.

-

See also: Verbs.AnyClickWalk

-
-
-
-

Verbs.AnyClickWalkLookPick

-
int Verbs.AnyClickWalkLookPick(int x, int y, eDirection dir, String lookat, int objectID, InventoryItem*item, AudioClip *sound);
-

This function starts the same as any_click_walk_look. If an object ID > 0 has been given, this object is set invisible. Afterwards the inventory item is going to be added to the player's inventory and if there's an audioclip in the parameters, that one is played too.

-

The function return 0 if the action has been canceled, before the player has reached the coordinates. 1 is returned if the player has reached the given destination, but has not picked up the item. 2 is returned, if the item has been picked up.

-

See also: Verbs.AnyClickWalkLook, Verbs.AnyClickWalk

-
-
-
-

Verbs.AnyClickUseInv

-
int Verbs.AnyClickUseInv (InventoryItem*item, int x, int y, eDirection dir);
-

This function moves the player to the given destination. It returns 0, if the action is unhandled, 1 is returned, if the action is handled, but has been canceled. 2 is returned, if everything went fine. A possible usage is:

-
if (Verbs.AnyClickUseInv(iWrench,100,130,eDir_Left) == 2 ) player.Say("I will now repair this pipe.");
-

See also: Verbs.AnyClickWalkLook, Verbs.AnyClickWalk

-
-
-
-

Verbs.GoTo

-
int Verbs.GoTo(int blocking);
-

Go to whatever the player clicked on. This function is used to intercept a walk-to event and check if the player has reached it's goal. E.g. this is used in the exit extension processing. blocking: 0=non-blocking; 1=blocking; 2=semi-blocking (default)

-

See also: Verbs.MovePlayer, Verbs.WalkOffScreen

-
-
-
-

Verbs.WalkOffScreen

-
void Verbs.WalkOffScreen();
-

Handles the action of hotspots or objects with the exit extension ('>e'). Take a look at chapter about extensions to see what this function does.

-

See also: Extensions

-
-
-
-

Verbs.SetApproachingChar

-
void Verbs.SetApproachingChar(bool enable);
-

If set to true, the player walks to other chars before talking or giving items. This behavior is initially defined in the guiscript, this function is used to change it during runtime.

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_player.html b/Tumbleweed_player.html deleted file mode 100644 index f4c27c94b..000000000 --- a/Tumbleweed_player.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - Tumbleweed Player functions - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Player functions

-
-
-

Verbs.FreezePlayer

-
vpod Verbs.FreezePlayer();
-

Use this function to prevent the player from moving by the following movement functions of the template.

-

See also: Verbs.UnfreezePlayer

-
-
-
-

Verbs.UnfreezePlayer

-
void Verbs.UnfreezePlayer();
-

Use this function to undo the FreezePlayer function and let the characters move again.

-

See also: Verbs.FreezePlayer

-
-
-
-

Verbs.SetPlayer

-
void SetPlayer(Character*ch);
-

Usage:

-
cEgo.SetPlayer();
-

Similar to the AGS function Character.SetAsPlayer(). The difference is, that make the previous character clickable again, whereas the new character gets unclickable.

-
-
-
-

Verbs.EnterRoom

-
void EnterRoom(this Character*, int newRoom, int x, int y, eDirection dir, bool onWalkable);
-

Usage:

-
cEgo.EnterRoom(1,15,15,eDir_Left,true);
-

Similar to the AGS function Character.ChangeRoom. The difference is, that you can also define, it which direction the character should look. Using this function makes the character turn to the direction, mentioned above.

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_translation.html b/Tumbleweed_translation.html deleted file mode 100644 index c8ac84c90..000000000 --- a/Tumbleweed_translation.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - Tumbleweed Translation - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Translation

-

To make the verbs work with translations, strings are being used to define the button graphics, hotkeys and so on. If you like to customize your game or get it translated, you need to take a closer look at the function AdjustLanguage.

-
-
-

Verbs.TranslateAction

-
void Verbs.TranslateAction(int action, int tr_lang);
-

This function defines the text for the verb buttons, e.g. if you click on the talk verb button, "Talk to" is being displayed in the action/status bar. The second parameter defines the returned language. If you want to customize this text, you have to edit this function.

-
-
-
-

Verbs.AdjustLanguage

-
void Verbs.AdjustLanguage();
-

This function has to be called from inside the template's game_start() function. It sets up everything related to the verb buttons, so you need to take a look at this, if you want to customize your GUI. It is also import to understand, how this function works, if you want to get you game translated. If you take a closer look at this function, you will notice the following lines:

-
Verbs.SetActionButtons(eGA_Open,    0, 59, 60, 'q');
-Verbs.SetActionButtons(eGA_Close,   1, 61, 62, 'a');
-Verbs.SetActionButtons(eGA_GiveTo,  2, 63, 64, 'z');
-

and so on.

-

Your verb buttons are initialized here, by calling the function SetActionButtons. The parameters define the following:

-
    -
  • Defined Action/Verb
  • -
  • GUI-button ID
  • -
  • Spriteslot normal
  • -
  • Sprite slot highlighted
  • -
  • Keyboard-Shortcut.
  • -
-

This line

-
Verbs.SetActionButtons(eGA_GiveTo,  2, 63, 64, 'z');
-

tells the AGS:

-
    -
  • We want to define a button for the verb "Give"
  • -
  • The buttons has the GUI-ID 2. If you take a look at the GUI "gMaingui", you can see several buttons. The one with the ID 2 will be used for the action you define here.
  • -
  • The button will use the sprite-slot 63 as the default graphic and sprite-slot 64, if it's highlighted. This can be a little bit confusing, since if you look at gMaingui, those graphics have already been assigned. But you also need to define the graphics slots in this function, because eventually these are the ones being used.
  • -
  • The last parameter defines the hotkey for this action.
  • -
-

You might wonder, why this function overrides the values of gMaingui. But in some other languages the translation for use could be a very long word, so you might want to swap it with something else. E.g. in German "use" means "Benutze", so you need more space for the verb. But "pick up" can be translated to "nimm", so you save some space here.

-

Unlike the 9Verb MI-Style template, the fonts can be customized and overwritten in AdjustGUIText().

-

See also: Verbs.SetActionButtons

-
-
-
-

Verbs.AdjustGUIText

-
void Verbs.AdjustGUIText();
-

This function will also be called inside the template's game_start() function. Here you can modify the labels of your GUI buttons for the options GUI. In case you need it, you can also define alternative fonts for different languages.

-

See also: Verbs.AdjustLanguage

-
-
-
- - - - - -
- - diff --git a/Tumbleweed_unhandled.html b/Tumbleweed_unhandled.html deleted file mode 100644 index 13b0a613b..000000000 --- a/Tumbleweed_unhandled.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Tumbleweed Unhandled Events - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tumbleweed Unhandled Events

-

In order to give a the player a feedback for actions the author hasn't thought of, unhandled events come into play. With a single function, you can achieve something like "That doesn't work" or "I can't pull that", which makes a game much more authentic and alive. The messages itself are defined outside of this function, initially in TemplateSettings.asc

-
-
-

Verbs.Unhandled

-
void Verbs.Unhandled(int door_script);
-

Use this function at the end of your any_click functions in order to cause default reactions. For example:

-
function cChar_AnyClick()
-{
-    if (Verbs.UsedAction(eGA_LookAt)) player.Say("He looks like he is hungry.");
-    else Verbs.Unhandled();
-}
-

In this example, you get a default reaction for everything but look at. The optional parameter is only used internally to make the function work with the door scripts.

-
-
-
- - - - - -
- - diff --git a/Tutorial.html b/Tutorial.html deleted file mode 100644 index 6ca44fd12..000000000 --- a/Tutorial.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - Tutorial - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Tutorial

-

This section will introduce you to the AGS by leading you through how to create a simple game.

- -
-
- - - - - -
- - diff --git a/UnicodeSupport.html b/UnicodeSupport.html deleted file mode 100644 index 5ea4208af..000000000 --- a/UnicodeSupport.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - Unicode Support - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Unicode Support

-

Starting with v3.6.0 AGS has a full Unicode support, which means that it may have texts virtually in any language in the game, and even texts in multiple languages displayed simultaneously, so long as you provide appropriate fonts.

-

NOTE: AGS still has a ASCII mode for backwards compatibility, but it's recommended to not use it without a very good reason. See a corresponding section below for details.

-

When in Unicode mode, all game texts and text files, such as scripts, are saved in UTF-8 format (to be technically precise: it's UTF-8 without BOM).

-

When in Unicode mode you may type your game texts in any language whatsoever. This refers to the following:

-
    -
  • Human-readable texts in-game options: such as character's "real names", object descriptions, and so on;
  • -
  • Values of String Custom properties and Global Variables;
  • -
  • String literals in scripts (any text in double-quotes);
  • -
  • Character literals in a script (a character in single quotes);
  • -
  • Speech lines in dialog scripts;
  • -
  • Translations.
  • -
-

Mixing multiple languages, even in the same string, is fine (but requires having fonts that can display all of these languages altogether).

-

Where Unicode won't work (and is not supposed to):

-
    -
  • Script names of game objects: characters, guis, views, and so on;
  • -
  • Names of Custom properties and Global Variables;
  • -
  • Variable names and function names in script.
  • -
-

All the above must be written strictly in the Latin alphabet.

-

String variables and related functions should work seamlessly with Unicode texts. Functions that work with characters accept Unicode characters (this refers to AppendChar(), ReplaceChar() and String.Char[] property). Also, String.Format("%c", n) kind of statement is able to print Unicode characters.

-

IMPORTANT: The char type in AGS script remains a 8-bit number and represents a single byte (which may have values 0-255). But Unicode characters may theoretically be of almost any positive integer value. Because of that you would require int variables to store and pass Unicode characters into functions. To put it simply: use int when you need a Unicode character, and use char when you know it's a ASCII character or just any small value for which a single byte is enough.

-
-

Fonts

-

For your game you will have to find fonts compatible to the chosen mode. If you're using strictly standard Latin character set in your game (like with English language), then you likely won't see any difference, but the correct font choice is essential for languages that use "extended" Latin (like letters with accents) or non-Latin alphabets. With these languages, if fonts don't match then you will usually see "garbage" instead of a real text.

-

If you are using a Unicode mode, then the fonts should be Unicode compatible. Most of the TTF fonts around are probably that, but some of them could have been made specifically for ASCII/ANSI games, so just keep that in mind in case they display incorrectly.

-

WFN (bitmap) fonts in theory can support Unicode, but it's likely there were none or very little made. In order to make a Unicode bitmap font you'd have to find and use a font editor which supports making letters with index >255.

-

Another thing to keep in mind is that even Unicode compatible font may not include all wanted languages (alphabets) in it. In such case your options are either to find a more complete single font, or use more fonts for different languages in your game.

-
-
-

Translations

-

The Translations are not affected by the game's setting and have an individual setting of their own. This lets to have Unicode translations in ASCII-mode games, or even ASCII translations in Unicode-mode games (if really necessary). For more information please check the Translations article.

-
-
-

Upgrading older projects

-

All the new game projects start in Unicode mode by default, but if you're upgrading an older project and wish to turn to Unicode mode then you may have to go to General Settings and switch "Text format". But you might have to replace fonts with Unicode compatible ones after this.

-
-
-

Using ASCII mode

-

Because of the backward compatibility there's still an option to switch back to ASCII mode, but it's not recommended without a good reason. This option is located in General Settings and is called "Text format". This option will let you to switch between ASCII and Unicode and back. Please be aware that when doing so the Editor will convert all the game files (scripts, etc) to a new text encoding and re-save them. Normally this should be safe, but probably a good idea to make a project backup before doing so.

-
-
-
- - - - - -
- - diff --git a/UpgradeTo30.html b/UpgradeTo30.html deleted file mode 100644 index 9bf915cb2..000000000 --- a/UpgradeTo30.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - Upgrading to AGS 3.0 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.0

-

If you've used AGS before, you'll probably be a bit confused and perhaps even taken aback by this new editor. But don't worry, once you've got used to it I'm sure you'll agree that it's a massive improvement over the old one.

-

The best place to start is probably to flick through the tutorial, which has been updated for AGS 3 and by following it through you should get a good feeling for how the editor works.

-

The main changes are explained below:

-

Interaction Editor

-

The Interaction Editor has been removed from AGS 3.0. When you import your game, AGS will attempt to convert all your interactions into scripts. These should mostly just work, however there are a couple of things you should be aware of:

-

1. Concurrency issues -- that is, while a blocking script was running in 2.72 it was still possible for interactions to run at the same time if they didn't include any scripting. Now, that is no longer the case.
2. Blocking interactions -- in 2.72, a "Run Dialog" interaction, for example, waits until the dialog has finished before moving onto the next action. If you had a Run Dialog followed by a Change Room, then the dialog would finish before the room change happened.
With scripting, you need to be careful because the dialog[x].Start() command does not block; instead, it waits until the event script has finished running before the dialog runs. This would mean that the room change would not necessarily happen after the dialog.
To mitigate these types of problems, you can use an alternate solution such as a run-script command at the end of the dialog to run the room change.

-

Global Messages

-

Global Messages are no longer supported and should be considered obsolete -- there's really no need for them now that the interaction editor has gone. Any global messages that you had will be retained and will still work, however the AGS 3 editor provides no way to edit them. If you need to change one, just replace the DisplayMessage command with a normal Display() command.

-

As of 3.0.2, there is now a Global Variables editor in which you can create global string variables, which provide all the functionality of Global Messages and more.

-

Saving and testing your game

-

AGS 3.0 works slightly differently to previous versions in the way that saving and testing games works. The Save option (Ctrl+S) is the equivalent of the old "Quick Save" option -- it will save your changes, but not compile the EXE file.

-

The "Test game" option has become "Run" on the Build menu. This runs your game with the new Script Debugger, which allows you to pause and step through the script in order to track down problems.

-

The debugger always runs your game in a window, so if you want to test it out full-screen there's the "Run without debugger" option (Ctrl+F5) to do so.

-

Use the "Build EXE" command (F7) when you want to create all the compiled files to distribute your game.

-

NOTE: When you use the Run command, your game EXE file does NOT get built. AGS 3's Run command is much faster than the old Test Game command because it directly loads the files from the game folder instead. If you want to build your game EXE, you need to use the "Build EXE" command to do so.

-

RawDraw scripting changes

-

The RawDraw family of functions have finally been object-ized, and the old versions are now obsolete. Support has been added to allow you to RawDraw onto dynamic sprites as well as room backgrounds. As a result, at first the new commands will seem more complicated than the old ones, since you can no longer just do "RawDrawImage" to draw something onto the room background.

-

Instead, there is a new DrawingSurface object which you do the drawing onto. You get one of these by calling DynamicSprite.GetDrawingSurface or Room.GetDrawingSurfaceForBackground, depending on what you want to draw onto; and you can then use the various drawing surface methods to do your drawing.

-

You must call Release on the surface once you have finished drawing onto it, which tells AGS to update the data in memory.

-

For examples, see the DrawingSurface function help pages.

-

Other script changes

-

Scripting hasn't really changed in AGS 3. Two new features (extender functions and dynamic arrays) have been added, but you shouldn't need to change any existing code.

-

The only breaking changes are as follows:

-
    -
  1. new is now a reserved word. This means that if you had any variables called "new" then your script will fail to compile. Just rename the variable to something else.
  2. -
  3. Because of the removal of some system limits, some of the AGS_MAX_ constants have been removed (since there is no sensible value for them now that the limits have gone). This will probably only affect module authors and is unlikely to affect your game. Specifically, the following have been removed: AGS_MAX_GUIS, AGS_MAX_CHARACTERS, AGS_MAX_VIEWS, AGS_MAX_LOOPS_PER_VIEW, AGS_MAX_FRAMES_PER_LOOP.
  4. -
-
-
- - - - - -
- - diff --git a/UpgradeTo31.html b/UpgradeTo31.html deleted file mode 100644 index e3d0a8147..000000000 --- a/UpgradeTo31.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - Upgrading to AGS 3.1 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.1

-

AGS 3.1 contains some major changes over previous versions. The main change is support for native hi-res co-ordinates.

-

What are native hi-res co-ordinates?

-

In previous versions of AGS, everything in the game was addressed in co-ordinates ranging from 0-319 for X values, and 0-199 (or 239) for Y values.

-

This made sense if your game was 320x200 or 320x240, but if your game was running at 640x480 or 800x600 this was a pain because you couldn't think in the co-ordinate system that your game was written for.

-

Why was it like this?

-

When AGS was originally written it only supported 320x200, and extra resolutions were then "bolted-on" on top later. But the fundamental co-ordinate system underneath was never changed. This had the advantage that Setup could provide the option to run a 320x200 game at 640x400 or vice versa, since it didn't make any difference to the way the game would run internally.

-

Why change it?

-

One of the main problems with the 320x200 co-ordinate system was that if you were making a 640x480 game, you could only ever place objects and characters on even co-ordinates. Aligning the objects with the background properly could be a pain and involved adding an extra column of transparent pixels to the sprite to get it to line up properly.

-

Originally this was judged to be a minor annoyance, but over time as more and more people have started making hi-res games it has become a major limitation of AGS.

-

What has changed?

-

If your game is 320x200 or 320x240, you will not notice any difference. Everything should continue working the same way as before.

-

However, if your game is 640x400 or higher then the first thing you will notice when importing your game into AGS 3.1 is that all the co-ordinates in the editor will double. From now on, the editor will always display native hi-res co-ordinates.

-

In your scripts though, you've probably got loads of commands like player.Walk where you pass in specific low-res co-ordinates. By default, AGS will import your game in backwards-compatible mode, where your scripts continue to work as before. This means that all script commands and properties will continue to accept and return low-res co-ordinates. It also means that the limitations of placing objects on even pixels remains.

-

If you want to enable the new native hi-res co-ordinate support, there is an option in the Scripting section of the General Settings pane called "Use low-res co-ordinates in script". If you turn this off, AGS will expect native resolution co-ordinates to be used in your script.

-

Obviously converting all your scripts to use hi-res co-ordinates would be a mammoth task, so you may well decide to continue using low-res co-ordinates for your current game, and then start your next game with native hi-res co-ordinates. It's up to you.

-

Setup has changed, I can't select the resolution any more!

-

Yes, as part of the support for native co-ordinates, you are no longer able to run a 320x200 game at 640x400, or vice versa.

-

If you are developing a 320x200 game and were using the 640x400 setting to enlarge the window, you can enable the 2x or 3x graphics filter in Setup instead, which provides a similar result.

-
-
- - - - - -
- - diff --git a/UpgradeTo32.html b/UpgradeTo32.html deleted file mode 100644 index 1925c1799..000000000 --- a/UpgradeTo32.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - Upgrading to AGS 3.2 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.2

-

AGS 3.2 contains some major changes, the main one being a completely new way of scripting the game audio.

-

Why a new audio system?

-

In previous versions of AGS, sound and music was a pain to use. Although it was very simple to script using commands like PlayMusic(5) and PlaySound(10), the fact that it was so basic became a limitation.

-

What is music 5? Which sound effect is Sound 10? How are you supposed to remember? It was all a bit chaotic and old-fashioned. Furthermore, controlling the volume involved several different commands, making it something of a black art.

-

So what's changed?

-

The old commands like PlayMusic and PlaySound have been obsoleted now, and replaced with a new object-based audio system. This means that audio files are now represented by script instances in the game.

-

For example, in AGS 3.1.2, you might have done this:

-

PlaySound(10); // this is an explosion

-

Now, with AGS 3.2 you would do it like this instead:

-

aExplosion.Play();

-

So how do I name my audio files?

-

There is a new "Audio" item in the project tree, which you now use to manage your audio. By default, when you import your game from a previous version of AGS, it will create audio clips with names like "aMusic5" and "aSound30", corresponding to their old names.

-

If you want the old-style commands like PlayMusic and PlaySound to continue working, then you must not rename these audio clips. AGS maintains a backwards compatibility layer by mapping the PlayMusic(X) command to play an audio clip called "aMusicX", and the PlaySound(X) command to play a clip called "aSoundX".

-

Otherwise, if you want to convert your scripts to the new audio system, you can simply right-click and rename these audio clips as you see fit.

-

There is now an AudioCache folder, do I still need the Sound and Music folders?

-

When you import an audio file into AGS, it makes a copy of it in the AudioCache folder, but it also remembers where the file came from originally. If the original file changes, AGS will automatically copy the updated file into the AudioCache folder.

-

When you upgrade an old game, the original file location for where AGS thinks your audio files came from is set to the "Sound" and "Music" folders. Therefore, keeping these folders is advisable initially as it allows you to continue to update the existing files in the same way you always have done, and AGS will automatically pick up the changes.

-

But going forward, as you import new audio files, there's no need to have them in the Sound or Music folders; import them from wherever you like.

-

What about controlling the volume?

-

Glad you asked! Instead of all those old commands like SetMusicVolume, SetDigitalMasterVolume, etc, there is now simply one overall system volume (System.Volume), and then each sound that is playing has its own volume control as well. This is controlled by the Volume property on the audio channel (see the Audio page for details on this).

-

Finally, you can update the volume of one particular type of audio (e.g. sound, music) by using the Game.SetAudioTypeVolume command.

-

Wait, what's an audio channel?

-

AGS uses two new concepts -- Audio Clips (which represent a particular sound file), and Audio Channels (which represent a currently playing piece of audio). The reason for this distinction is that you might have the same sound effect playing two or more times simultaneously, and having Audio Channels allows you to control each one individually. The Audio page describes this further.

-

PlayAmbientSound is obsolete! How do I do ambient sounds?

-

Ambient Sounds were a bit of an oddity in AGS, caused by the fact that you couldn't tell a PlaySound command to loop the sound. With the new audio system, the Play command has an optional Repeat parameter, allowing you to specify whether it loops or not.

-

The X/Y directional aspect of PlayAmbientSound is supported by the SetRoomLocation command on the audio channel.

-

Is there any new cool stuff that I can do?

-

You can now adjust the left-right panning of audio, using the AudioChannel.Panning property. You also have finer control over syncing up different pieces of audio, through the ability to get and seek offsets more accurately.

-

Has voice speech changed?

-

No, speech is still handled the same way as in previous versions of AGS. You still need the Speech folder within your game folder, and name the files within it using the same naming convention as you always have done.

-

Where should I look for more info?

-

See the Audio help for more information.

-
-
- - - - - -
- - diff --git a/UpgradeTo33.html b/UpgradeTo33.html deleted file mode 100644 index 499600f79..000000000 --- a/UpgradeTo33.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - Upgrading to AGS 3.3 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.3

-

AGS 3.3 editor contains a major change to user interface that now lets you to "unpin" visual panels, drag them to any place you want and dock them or optionally leave them in "floating" mode. You may also have more than one editing panel on screen at once, for example room editor and script editor. This allows everyone to customize the panes layout in AGS to their own taste.

-

You may now create folders for characters, dialogs, inventory items, guis, rooms, scripts and views, move them up/down by context menu, and drag&drop items to change their order. The "Sort room by number" command now sorts within folders.

-

Script and header files are now combined into one group item, similar to room settings and script.

-

Proper alpha blending

-

AGS now features proper alpha blending when drawing GUI Controls and using Drawing Surfaces. This feature is enabled by two separate options in the "Visual" section of the General Settings: "GUI alpha rendering style" and "Sprite alpha rendering style". This is done for compatibility with projects created in previous versions of AGS. When importing a project in AGS 3.3 these options will retain their original values. You may consider setting them to "Proper alpha blending", but that may alter the appearance of your game. New projects will have "proper blending" mode set by default.

-

To support alpha blending a new HasAlphaChannel property has been added to DialogOptionsRenderingInfo class. This property must be set it in dialog_options_get_dimensions function, the one where you normally define size and position of the drawing surface.

-

System limits update

-

The maximal number of Fonts has been increased from 15 to 30.

-

New Speech class

-

There's now a new Speech script class that contains several speech-related properties. This renders a number of global functions obsolete, as well as some of the game variables. If you are using any of them in your script you will likely get compilation errors. Simply replace them by the corresponding Speech properties, as shown in the table below:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
obsolete function/variablereplace with
SetVoiceModeSpeech.VoiceMode
SetSkipSpeechSpeech.SkipStyle
SetSpeechStyleSpeech.Style
game.close_mouth_end_speech_timeSpeech.AnimationStopTimeMargin
game.speech_text_alignSpeech.TextAlignment
game.skip_speech_specific_keySpeech.SkipKey
game.talkanim_speedSpeech.GlobalSpeechAnimationDelay
-

Game-wide speech animation delay

-

The "Old-style game-wide speech animation speed" general setting previously found in "Backwards compatibility" section was replaced with two settings in "Dialog" section: "Use game-wide speech animation delay" and "Game-wide speech animation delay". The first enables the use of the game-wide delay and the second specifies exact delay value. These settings are accompanied by two respective properties in the Speech class.

-

Translated ListBox

-

In the previous versions of AGS the ListBox items were never translated. A new "Translated" property has been added to ListBox class, which forces engine to translate ListBox items. Default value is True but it is recommended to set it to False if you are using ListBox for listing savedgames. NOTE: when older projects are imported, it is set to False automatically.

-
-
- - - - - -
- - diff --git a/UpgradeTo335.html b/UpgradeTo335.html deleted file mode 100644 index 62ac5d7f4..000000000 --- a/UpgradeTo335.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - Upgrading to AGS 3.3.5 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.3.5

-

Since 3.3.5 AGS does not allow to write any files into other path rather than "$SAVEGAMEDIR$" (personal user saves directory) or "$APPDATADIR$" (all-users game data directory). If you attempt to open file for writing using relative path without location tag, the filepath will be automatically remapped to $APPDATADIR$ location.

-

Because of that, for backwards compatibility reasons, when you try to open file for reading using relative path without location tag, AGS will first look for that file in $APPDATADIR$, and only if no matching file is found there, then the game installation directory will be checked.

-

To force opening file in the game installation directory (for reading) a new location tag was introduced: "$INSTALLDIR$". When using this tag you will explicitly tell AGS to look in and only in the game's installation directory. However, if you try opening file for writing at such location, that will result in failure.

-

Players are now allowed to set up their own custom path in game setup, where the game saves&data will be written. This is done in the game setup program. This works as if $SAVEGAMEDIR$ and $APPDATADIR$ were redirected to custom location. Redirection is done internally by the engine, you do not need to add anything to your game scripts to make it work.

-

Conceptually, AGS is gradually leaning towards using only "symbols of file locations" rather than actual, explicit locations on the filesystem.

-

Furthermore, game setup will now write config file into game saves location, rather than game's installation directory. If config file is present in the game installation folder, then it is used as "default" read-only config file. The config in saves folder overrides default one. This way it should be totally safe to install AGS games into C:/Program Files, without having administrative rights.

-
-
- - - - - -
- - diff --git a/UpgradeTo34.html b/UpgradeTo34.html deleted file mode 100644 index 8d6ff0bbf..000000000 --- a/UpgradeTo34.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - Upgrading to AGS 3.4 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.4

-

AGS 3.4 introduces a number of significant enhancements to game creation process.

-

Building game for multiple platforms

-

AGS can now compile and deploy your game for more than one target platform. Currently Windows and Linux are officially supported, but other may be added in following updates. Check the "Built target platforms" option in the "Compiler" section of the General Settings.

-

NOTE: for deploying your game for Linux you need to have a Linux-related utilities to be placed in the "Linux" folder at your AGS Editor installation. Those files are distributed along with the official AGS release.

-

Custom game resolution

-

Your native game resolution can now be anything, not limited to predefined variants anymore.

-

Similarly, the engine is now capable of running any game in any display mode your system supports. To achieve this it uses scaling filter of player's choice, and additional simple image stretching when required. The setup program has been altered to reflect this feature.

-

Script API selector

-

You can now choose the variant of Script API (built-in functions and properties available for use) with two switches in the "Backwards Compatibility" section of the General Settings.

-

One switch is called "Script API version" and defines the topmost level of built-in script content that you want to enable for your project. It is suggested to set this to the highest possible value. However, there may be cases when you load an older project in the newer version of AGS, and new built-in function names conflict with names in some of the scripts you used in your project. In such cases you may decide between fixing your script or lowering AGS API version. The latter will let you compile game scripts without any changes, at the price of not being able to use newer built-in functions.

-

Second switch is called "Script Compatibility Level" and defines the lowest level of built-in content. It is useful if you wish to keep using some of the old functions that were declared obsolete by newer version of AGS. You do so by setting this switch to version that still had those functions.

-

NOTE: You may change those two settings anytime if you'd like to experiment, or your plans has changed. It is recommended to do full game rebuild after you do so though.

-

Mutable custom properties

-

Since introduction Custom Properties could not be changed at runtime, they had to keep their default values set in the Editor throughout the course of the game. Now this restriction was eliminated and you can change any existing custom property in game script, using appropriate SetProperty and SetTextProperty functions:

-

Character.SetProperty, Character.SetTextProperty, Hotspot.SetProperty, Hotspot.SetTextProperty, InventoryItem.SetProperty, InventoryItem.SetTextProperty, Object.SetProperty, Object.SetTextProperty, Room.SetProperty, Room.SetTextProperty

-

Besides, the number of properties is no longer limited by 30, you may make as much of them as you need for your game.

-

Extended WFN fonts

-

WFN (bitmap fonts) can now have up to 256 characters (as opposed to previously supported 128). You may need a specialized editor to create such fonts (for example, there is a good Editor plugin around meant for this task), and AGS will properly draw any of the 256 characters.

-

New script features

-

First of all, you can now create your own managed structs and objects of their type in script. The difference from common structs is that you use pointers to work with these objects, and can pass them around as function parameters and function return values as well. IMPORTANT: there is a big limitation for user-defined managed structs now, it is that they themselves cannot have members of pointer types (or dynamic arrays). We suppose that this restriction is only temporary and hope to remove it in future updates.

-

You can now have some new forms of loop in your script, in addition to previously existing while. First is do..while kind of loop that always performs its commands at least once before checking end condition, second is for loop that lets you initialize internal variable, define end condition and write iteration - all in its header. Another introduced command is switch. One switch can replace a long list of if and else if blocks.

-

See: switch, do..while, for, break, continue, managed, new

-

Custom Dialog Options rendering extended

-

In the past the custom dialog rendering was strictly tied to mouse movement and clicks. Now it is extended to give you more freedom in setting it up.

-

Two more related callbacks are added: dialog_options_repexec - that is an analogue of repeatedly_execute function, but is called only while dialog options are displayed, and dialog_options_key_press function, which is called whenever player presses a key when dialog options are on screen.

-

The dialog_options_mouse_click will now be called always, even if user clicks on the option, but on other hand option won't be run without explicit command: RunActiveOption.

-

Along with RunActiveOption, DialogOptionsRenderingInfo struct received another member function: Update. It forces options GUI to redraw itself, hence may be used to implement custom animation, or similar behavior.

-

IMPORTANT: The dialog_options_get_active callback was deprecated and won't be called, at all. You will need to slightly change the logic of your script. In most cases it may be enough to simply rename dialog_options_get_active to dialog_options_repexec.

-

NOTE: For backwards compatibility you may use an option in General Settings called "Use old-style custom dialog options API". This will disable all the new stuff, but return dialog_options_get_active and make dialog_options_mouse_click behave as it did before.

-

For detailed information see: Custom dialog options rendering

-

Some functions object-ized

- - - - - - - - - - - - - - - - - -
obsolete function/variablereplace with
GetRoomPropertyRoom.GetProperty
ProcessClickRoom.ProcessClick
-

REMINDER: you can also use "Script Compatibility Level" switch to enable old functions.

-

System limits update

-

The maximal number of GUI Controls per GUI is no longer limited. The maximal number of script modules is no longer limited.

-
-
- - - - - -
- - diff --git a/UpgradeTo341.html b/UpgradeTo341.html deleted file mode 100644 index 0f46d7681..000000000 --- a/UpgradeTo341.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - Upgrading to AGS 3.4.1 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.4.1

-

There were no breaking changes in this update, but several notes should be made.

-

Compiled folder structure

-

Since previous big update, AGS 3.4.0, you can compile your game for more than one platform at a time, and resulting files will be placed in the corresponding subfolders of the "Compiled" folder, such as "Compiled/Windows" and "Compiled/Linux". The raw compiled game files (without executable) were still placed just in "Compiled".

-

In AGS 3.4.1 the raw compiled game files will be placed in "Compiled/Data" instead. This change was made to improve the compiled folder structure and make its contents cleaner.

-

For that reason, if you upgrade your game from one of the previous AGS 3.* versions, it is recommended to either delete "Compiled" folder and fully rebuild the game, or at least remove any files located in the "Compiled" folder itself to clean things up.

-

"Lazy" voice file compilation

-

Speech voice-over file speech.vox is now compiled only when you explicitly order game rebuild. When just launching the game from the editor it won't be recompiled, and the game will load voice clips from the Speech folder instead. This way it works similar to how sound and music clips are loaded from AudioCache folder when game is tested, and saves some time on game compilation, especially when working with large projects.

-

Default Setup pane

-

A new node was added to the project tree, called "Default Setup". Clicking on it will open a page with table of options, similar to "General Settings". This is where you can choose the default configuration of your game, that will be written to config file created when your game is compiled (acsetup.cfg). One of the reasons for introducing this pane is that since AGS 3.3.5 game setup program no longer writes config to the file in game's folder, but to the file in the user documents instead; therefore it is no longer possible to directly create default config for your game using winsetup.exe.

-

"Graphics driver" option has migrated from "General Settings" to "Default Setup".

-

For detailed information about Default Setup page refer to: Default setup.

-

Script API selector

-

The "Script API version" and "Script Compatibility Level" switches in General Settings (they were added in 3.4.0) now have "Highest" selection. Choosing that will ensure that whenever you upgrade your game to future versions of AGS, your game will automatically enable newest script commands. Otherwise you would have to update these two switches by hand every time.

-

Naturally, if you prefer to lock script API at particular level even when moving to next versions of the editor, you would need to set API levels to corresponding values.

-

System limits update

-

The maximal number of Dialogs is no longer limited.

-
-
- - - - - -
- - diff --git a/UpgradeTo35.html b/UpgradeTo35.html deleted file mode 100644 index 55f290c73..000000000 --- a/UpgradeTo35.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - Upgrading to AGS 3.5 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.5

-

AGS version 3.5 is another big update and it has few serious changes to both editor UI and scripting.

-
-

Room editor and multilayer mode

-

Room editor has got a new navigation bar on the top of the panel instead of the plain drop-down list where you used to select edit mode. This navigation bar lets you do the following:

-
    -
  • See the full list of elements grouped into layers by type (characters, objects, edges and so forth).
  • -
  • Select editing mode, and the particular item for edit.
  • -
  • Toggle each group's and even each item's visibility in any combinations. This lets you display, for example, characters, objects and walkable areas at the same time. The only exception is that you may only display one type of area mask at the same time (that is - either walkable areas, regions, hotspots or walk-behinds).
  • -
  • Toggle each group's and each item's locked state. When locked the object cannot be moved or have its shape changed (as with mask areas which may be changed by painting).
  • -
-

NOTE: you can still only select and edit objects of the chosen group, not all at once.

-

NOTE: in order to remember user preference on visible and locked items Editor saves a new file called roomNNN.crm.user per each room, where 'NNN' is a room's number. These files are not part of the game data and are safe to remove (but in that case all item visibility and lock states in the room will be reset).

-
-
-

New Viewport/Camera system

-

In the past, AGS had a very simple concept of Viewport: a rectangular "eye" which selected a part of the room to display on the screen. If a room was larger than the game's screen it became a "scrolling room" and you could move a viewport around it, showing different parts of that room.

-

In 3.5 the concept of viewport has changed a lot to provide more options. First of all, it's now split into two parts: Viewport and Camera.

-

The new Camera is almost what the old Viewport was: it is a rectangle inside the room that acts like an "eye" and tells which part of this room can be seen. Camera's position and size are defined in room coordinates. If Camera is smaller than the room, then it can be moved around it to see different parts.
The new Viewport is a different thing, now it defines a rectangle on a game's screen where the room will be drawn. Viewport has a link to Camera and displays what camera "sees" at this moment. Viewport's position and size are defined in screen coordinates, just like GUIs and Overlays. This means that if a camera is moving inside the room, the viewport will still stay at the same place on the screen, and vice-versa when a viewport is moved around the screen it will still display same part of the room. Of course, moving both viewport and camera will produce more complicated result.
You may think of Viewport as of a TV screen or computer monitor, which translates the image from the camera.

-

Following is a table of conversion between old viewport functions and new camera functions:

- - - - - - - - - - - - - - - - - - - - - - - - - -
obsolete functionreplace with
SetViewport(x, y)Game.Camera.SetAt(x, y)
ReleaseViewport()Game.Camera.AutoTracking = true
GetViewportX()Game.Camera.X
GetViewportY()Game.Camera.Y
-

Introduction of new Viewport and Camera concepts allows a lot of new effects which were previously impossible or not easy to accomplish. For example, you no longer must display the room covering the whole screen, you may make a smaller "window" to see the room and position it in the middle of the screen.
By the way, this also means that you do not have to keep all your rooms same size, you may create very small rooms in your game now and adjust viewport and camera to display it on screen where and how you like.
By default Viewport and Camera has the same size, but you may make them have different sizes. If a camera is smaller than the viewport then its image will be stretched to fill it causing a "zoom-in" effect. If the camera is larger than the viewport then it will be shrunk to fit in causing a "zoom-out" effect.

-

The first viewport-camera pair is created automatically when the game starts, but you may create more of them. Viewport's and camera's parameters may be changed anytime, thus you may have different settings per each room and even animations (like moving viewport and camera around, zooming in and out).

-

It's important to note that any cursor actions will only work on the room if the cursor is on a viewport.

-

Only rooms and their contents (characters, objects) are affected by the viewport/camera system. GUI and Overlays, including speech and other on-screen text, still work outside of it.

-

IMPORTANT: Another thing which needs a different approach is a conversion between screen and room coordinates. Earlier, if you'd like to know where in the room the player has clicked with a mouse, you only had to apply camera's offset in room (previously known as viewport's offset):

-
int roomx = mouse.x + GetViewportX();
-int roomy = mouse.y + GetViewportY();
-

Since 3.5 this is no longer enough, because not only viewport itself may have offset on screen, but also camera's image may be scaled inside a viewport. For that reason there are now actual functions that help you do this conversion: Screen.ScreenToRoomPoint, Screen.RoomToScreenPoint, Viewport.ScreenToRoomPoint, Viewport.RoomToScreenPoint.
They are used like:

-
Point *roompt = Screen.ScreenToRoomPoint(mouse.x, mouse.y);
-int roomx = roompt.x;
-int roomy = roompt.y;
-

For more information see: Camera, Viewport, Game.Cameras, Screen.Viewports

-
-
-

New Screen struct

-

There's now a new Screen struct that contains several game screen related functions and properties. Its addition renders some of the older properties from System struct obsolete. Following is a table of conversion between old and new properties:

- - - - - - - - - - - - - - - - - - - - - - - - - -
obsolete propertyreplace with
System.ScreenWidthScreen.Width
System.ScreenHeightScreen.Height
System.ViewportWidthScreen.Width
System.ViewportHeightScreen.Height
-

As you may notice, both deprecated ScreenWidth/Height and ViewportWidth/Height properties are corresponding to the single new pair. That is because in practice both System.ScreenWidth and System.ViewportWidth were representing almost same thing, except for specific cases which are no longer valid in modern AGS anyway.

-

For more information see: Screen

-
-
-

Room sizes and mask resolution

-

Previously AGS had a restriction that a room background must be at least size of a game resolution. With 3.5 this restriction is gone and you can now make rooms any size. This became possible after the rewrite of the viewport system, as explained above.

-

Another change is related to the room masks that define walkable areas, hotspots and so forth. Historically only walk-behinds mask was always made equal to the size of room background. Other masks were 1:1 to room background's size only in "low-res" games (below 640x400). In "high-res" games (640x400 and above) hotspots, regions and walkable masks were made x2 smaller resolution than the room, which means that for 4 room pixels (2x2 square) there was 1 mask pixel. That, in turn, caused these masks to be less precise. Originally this was done to reduce both memory size of a room and speed up any operations run against these masks, such as path-finding, but sometimes annoyed users who were unable to draw exactly a region they want.

-

Since 3.5 each room has a property called MaskResolution which currently ranges from 1:1 to 1:4. This resolution determines the resolution factor for hotspots, regions and walkable masks (but not walk-behinds which is still fixed at 1:1). Default is 1:1, but you may change it anytime for any individual room if you prefer your room to have less precise area masks.
To make things more convenient there's also an option in General Settings called "Default mask resolution" which lets you choose a value that will be applied to every newly created room.
Note that when importing older projects the mask resolution is kept unchanged.

-
-
-

Deprecated relative asset resolutions

-

This is something users do not know much about now but may stumble upon sometimes. In the long past AGS divided all games into "low-resolution" and "high-resolution" games, "high-res" was defined roughly as 640x400 and higher while "low-res" was 320x200 or 320x240. Similarly AGS allowed certain assets, such as sprites, fonts, and rooms, be tagged as "low-res" or "high-res". The idea behind this was that if a "low-res" asset is used in a "high-res" game then it gets automatically scaled up x2, and vice-versa a "high-res" asset in a "low-res" game would be downscaled x2.

-

Although such practice is not commonly used for a while, you could still experience this effect if you, for example, take game template or project made in low resolution and convert it to high resolution. Some sprites from the original game which were marked as "low-res" will be scaled up. Sometimes this behavior may be useful - in case you are using these sprites as placeholders but may confuse inexperienced users.

-

In AGS 3.5 we are deprecating concept of resolution tags and disable these conversions by default. We also make asset scaling more explicit in an attempt to prevent its misuse.

-
    -
  1. Rooms no longer have a resolution tag and are always considered having "real" resolution. This is only relevant if you are upgrading from pre-AGS 3.0 era. If you import 2.72 games into AGS 3.5 your rooms will get resized to match game resolution (unless they already do).

  2. -
  3. Sprites retain resolution tag for backward compatibility, but it is now set to "Real" by default and not recommended to change. When you import older project sprites get "promoted" to "real" resolution if their tag matches the game: for example if a sprite is tagged as "low-res" and your game is 320x200, or if a sprite is tagged as "high-res" and your game is 640x400 or higher.

  4. -
  5. "Fonts designed for high resolution" setting was removed because it no longer makes sense. Instead, each font has an individual ScalingMultiplier property. When importing older project each font will be scaled x2 if it was a "high-res" game and this setting was OFF.

  6. -
-
-
-

Custom Say function in Dialogs

-

AGS 3.5.0 adds the possibility of using a custom script function as a substitute instead of regular Character.Say commands when building dialogs. This is done using "Custom Say function in dialog scripts" option in the General Settings. Similarly, narration (which is by default done using Display script function) may be substituted with a custom one using "Custom Narrate function in dialog scripts".

-

These custom functions should be declared as imports in one of your script headers.
"Custom Say" function must have one of the following two declaration forms:
void MySay(Character* c, const string text); // use ex: MySay(player, "Hello");
or
void MySay(this Character*, const string text); // use ex: player.MySay("Hello");

-

"Custom Narrate" function must have following declaration form:
void MyNarrate(const string text);

-

IMPORTANT: There's currently a limitation that, if Say checkbox for dialog options is checked, it will use regular Character.Say despite defining a custom Say function.

-
-
-

Some script functions replaced and/or deprecated

-

Some functions from previous Script API were either replaced by new equivalents or deprecated. They are shown in the table below:

- - - - - - - - - - - - - - - - - - - - - - - - - -
obsolete functionreplace with
GetWalkableAreaAt(x, y)GetWalkableAreaAtScreen(x, y)
Character.IgnoreWalkbehindsDo not use
Object.IgnoreWalkbehindsDo not use
DrawingSurface.UseHighResCoordinatesDo not use
-

Note that you can still use "Script Compatibility Level" switch in General Settings to enable old functions.

-
-
-

System limits update

-

Support for very large files was added to AGS, therefore now package file and every asset file is allowed to exceed 2 GB. One good example to mention is the packed sprites file (acsprset.spr) which 2 GB limit was causing most inconveniences.

-

Other limits:

-
    -
  • Imported sprites count limit was raised to 90000;
  • -
  • Total number of sprites in game, which includes both imported and Dynamic Sprites is no longer limited by arbitrary number (in practice you may have around 2 billions of dynamic sprites);
  • -
  • Font count limit removed;
  • -
  • Removed length limit on the Button and TextBox text (was 50 and 200 respectively);
  • -
  • Removed ListBox item count limit (was 200).
  • -
  • Removed hidden limit for DoOnceOnly token length (was 200 characters).
  • -
-
-
-
- - - - - -
- - diff --git a/UpgradeTo36.html b/UpgradeTo36.html deleted file mode 100644 index 2211fd388..000000000 --- a/UpgradeTo36.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - Upgrading to AGS 3.6 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.6

-

AGS version 3.6 is another big change to AGS. First of all, this release presents a SDL2-based engine. For about 2 decades the AGS engine was based on the Allegro 4 graphic library, which was discontinued somewhere in the early 2010s, so this is overdue.

-

Secondly, both the Editor and the Engine have full Unicode support now. This means that you may use any language whatsoever in scripts, object descriptions, and custom properties, as well as translations, - so long as you also provide proper Unicode fonts.

-

Then, we have expanded a list of platforms that the Editor can directly build the game for: now this includes Android and Web (Emscripten).

-

Below we'll look into these and other significant changes in more detail.

-
-

Unicode support

-

AGS can now work in Unicode mode, but we also support ASCII mode for backward compatibility. We recommend using Unicode mode when starting new projects, regardless of the game language.

-

When in Unicode mode, all game texts and text files, such as scripts, are saved in UTF-8 format.

-

In the Editor the switch between the two modes is called "Text format" and is located in "General Settings".

-

IMPORTANT: This switch is an important choice and should not be played with at random. Whenever you change the text format the Editor will convert all your game files by loading them and saving them back using a new mode. If all your game texts were using the standard Latin alphabet (English, etc), then you should not see any difference, but if you had texts with extended Latin characters or any other non-Latin languages, - these will be converted between ANSI and UTF-8. We strongly recommend doing a full project backup before doing this though.

-

When in Unicode mode you may type your game texts in any language whatsoever. This refers to the following:

-
    -
  • Human texts in-game options: such as object descriptions, and so on;
  • -
  • Values of String Custom properties and Global Variables;
  • -
  • String literals in scripts (any text in double-quotes);
  • -
  • Character literals in a script (a character in single quotes);
  • -
  • Speech lines in dialog scripts;
  • -
  • Translations.
  • -
-

Mixing multiple languages, even in the same string, is fine (but requires having fonts that can display all of these languages).

-

Where Unicode won't work (and is not supposed to):

-
    -
  • Script names of game objects: characters, guis, views, and so on;
  • -
  • Names of Custom properties and Global Variables;
  • -
  • Variable names and function names in script.
  • -
-

All the above must be written strictly in the Latin alphabet.

-

String variables and related functions should work seamlessly with Unicode texts. Functions that work with characters were changed to have arguments and return values as int, to be able to pass any Unicode character. This includes AppendChar(), ReplaceChar() and String.Char[] property. Also, String.Format("%c", n) will now be able to print Unicode characters.

-

The Translations are not affected by the game's setting and have an individual setting of their own. When you open a TRS file made by the new version, it will have an "#Encoding" option in the file's header. This is where you may write either "UTF-8" or "ASCII" by hand to tell the translation compiler (and the engine) how this translation should be interpreted. By default this should be "UTF-8", so you only need to change this if you need the translation to be in ASCII for some reason. If you have imported an older project and the TRS file does not have this option, then you may add one yourself. Just remember that the TRS options must be preceded with a comment sign, like this:

-
//#Encoding=UTF-8
-

Don't forget to save the TRS in UTF-8 with whatever text editor you are using, if you want it to keep Unicode texts intact.

-

The engine can run the game in both Unicode and ASCII modes. It uses a game setting to set up the mode on start, but when loading a translation it will switch to the translation's setting. This behavior is meant primarily to allow adding UTF-8 translations for older ASCII games.

-

NOTE: the engine cannot convert older ASCII games to Unicode at runtime, primarily because it does not know the exact codepage its texts were made in. So if you want your older game to fully work in Unicode, the proper way is to upgrade its project and compile the game anew.

-
-
-

Changes to key input handling

-

As a part of the Unicode support, and also to make key handling in the script more consistent, the script callbacks for key input were extended.

-

First of all, the on_key_press function now supports a second optional argument mod. It's optional, so you don't have to declare it, but if you do then you'll get its benefits.

-

The extended function definition now is:

-
function on_key_press(eKeyCode key, int mod)
-

The mod argument describes which key modifiers were enabled when this exact key was pressed. It's different from, for example, using IsKeyPressed() in repeatedly_execute callback, because the engine may receive several key-presses between two game frames, while IsKeyPressed only tells the last state of the key. Using mod argument is 100% reliable.

-

But the mod contains a set of flags, and is slightly more complicated: as you should not use regular comparison (==, !=) with it, but a bitwise operator (&):

-
// these two conditions check that ctrl was pressed (these commands are equivalent)
-if (mod & eKeyModCtrl)
-if (mod & eKeyModCtrl != 0)
-
-// these two conditions check that ctrl was NOT pressed (again, two variants of the same check)
-if (!(mod & eKeyModCtrl))
-if (mod & eKeyModCtrl == 0)
-

Here's the full list of mod constants:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
constantmeaning
eKeyModShiftLeftleft shift key
eKeyModShiftRightright shift key
eKeyModShiftany of the shift keys
eKeyModCtrlLeftleft control key
eKeyModCtrlRightright control key
eKeyModCtrlany of the control keys
eKeyModAltLeftleft alt key
eKeyModAltRightright alt key
eKeyModAltany of the alt keys
eKeyModNumnumlock key
eKeyModCapscapslock key
-

The engine now supports "new style" key handling mode and "old style" mode. There's a "Use old-style key handling" option in the "Backwards compatibility" group that lets you choose either old or new key handling mode. This will be "off" (meaning - new mode) by default but will be enabled (meaning - old mode) when you import older projects. If you like to use the new mode you'll need to disable this setting. What is the difference between the two modes?

-

Old (classic) key mode:

-
    -
  • lone mod keys (Ctrl, Alt, Shift) are not passed further into the engine nor script, thus on_key_press is not called for them;
  • -
  • key + mod combinations are merged into one key code for the on_key_press callback: e.g. eKeyCodeCtrlA and similar key code;
  • -
-

New key mode:

-
    -
  • all keys are passed into the engine and on_key_press function as-is, one by one: for example, if you press Ctrl + Z, then you get two on_key_press calls, one with eKeyCtrlLeft and another with eKeyZ argument.
  • -
  • the new on_text_input script function will be active and receive printable characters;
  • -
-

In the new mode each key pressed triggers on_key_press, and when the pressed keys form a printable character an on_text_input function is called. This function must look simply like this:

-
function on_text_input(int ch)
-

Its argument (ch) contains a Unicode character's code. It may be used, for example, to append to a String, or add to the text field or label.

-

Similarly to the above, dialog_options_key_press had been expanded with the third mod argument:

-
function dialog_options_key_press(DialogOptionsRenderingInfo *info, eKeyCode keycode, int mod)
-

And there's now dialog_options_text_input callback for receiving unicode chars during the custom dialog options state:

-
function dialog_options_text_input(DialogOptionsRenderingInfo *info, int ch)
-
-
-

New game package options

-

AGS now allows to package custom files into your game and read them in script. An option called "Package custom data folder" has been added to the General Settings - Compiler. This option accepts a comma-separated list of subfolder names, which should be found in your game project's folder. All of the files in these subfolders will be added to the game package under their relative paths (e.g. "UserData/myfile.dat").

-

Any File functions that accept file paths can now refer to the game package files using the new $DATA$ location tag. Virtually any packaged file may be queried this way, whether custom or regular game resource. These files may only be opened for reading however, never for writing.

-

For example, you may read your custom file from the package as:

-
File* f = File.Open("$DATA$/UserData/myfile.dat", eFileRead);
-
-
-

Multiple speech voxes

-

AGS now supports having multiple speech vox files. This may be useful if, for example, you would like to provide separate voice-over packs for each language (translation) in your game. Creating additional voxes is done by creating subfolders in the "Speech" folder and placing the sound files there. AGS will then generate a file called "sp_NAME.vox" for each existing subfolder, where "NAME" is the subfolder's name.

-

In script you may switch between the speech packs using new Game.ChangeSpeechVox() function. Its value is not linked with the textual translation, which is set by Game.ChangeTranslation(). You may enable voice-over matching the language of the displayed text, or on contrary allow the player to choose different languages for the text and for the voice. For example:

-
Game.ChangeTranslation("Spanish");
-Game.ChangeSpeechVox("English");
-

The commands above will change the textual translation to "Spanish", and the voice-over to the "sp_english.vox" pack.

-
-
-

New sprite compression options

-

First of all, the old "Compress the sprite file" option in General Settings has been replaced with "Sprite file compression", which lets you choose one of the supported compression types. The previously commonly used sprite compression in AGS is called "RLE"; the "LZW" compression method is now new to the selection. It's possible that this list will be extended in the future.

-

Secondly, there's now an "Enable sprite storage optimization" option, which is enabled by default. This option permits the Editor to repack sprites in a different storage format, reducing their disk size whenever possible. This option may be used together with the sprite compression. Note that this does not change how the sprites work in game, only how they are stored in the game files.

-
-
-

Multiplatform support extended

-

The AGS Editor can now produce game builds for Android and Web (using Web/Emscripten port). Both require corresponding components installed alongside with the Editor. In addition, for Android builds you also have to install Android Studio and configure certain settings in the Editor's Preferences and your game's General Settings. For more information see Distributing your game and Building for Android.

-
-
-

TTF fonts behavior

-

Historically AGS applied a "fixup" to TTF fonts, that shifted letters down when drawn, which, in turn, also increased their graphical height. This behavior is now optional, available purely for backwards compatibility, both as a global and per-font setting called "TTF font adjustment". This setting has two values: "Do nothing" and "Resize ascender to the nominal font height". We recommend having it set to "Do nothing" at all times, except when using TTF fonts specifically created or adjusted for older versions of AGS.

-

Another global setting is "TTF fonts height used in the game logic". This option sets which value to use when calculating text height, line spacing etc. Its value may be either "Nominal height" or "Full graphical height". The difference is, that due to the font library's behavior, the font's graphical height may end up differently (usually larger) than the nominal height the font is imported with. While "Nominal height" is a historical default, it's up to your preference which setting to use.

-

A long time requested font feature that is now available is the option to set the thickness of the automatically generated outline of the text. The automatic font outline has always been drawn 1px wide, but that was not enough for high-resolution games. Now fonts have a property called "AutoOutlineThickness" which lets you set any outline width you need, and "AutoOutlineStyle" which toggles between "Squared" and "Rounded" corners.

-
-
-

Improvement of Overlays

-

Overlays in AGS are currently the only "game objects" that can be created dynamically in script (there are also Dynamic Sprites, but these cannot be shown without being assigned to something). That, and them being a very simple kind of object not requiring extra setup, makes them useful to create temporary visual effects or to create a custom object from ground up. Previously, however, overlays had a number of restrictions, and these are now removed in AGS 3.6.0.

-
    -
  1. Overlays are now unlimited in numbers. Previously there could only be up to 20 simultaneous overlays.
  2. -
  3. You can create both screen and room overlays. Room overlays are created using Overlay.CreateRoomGraphical and Overlay.CreateRoomTextual; they are like regular overlays but are positioned inside the room, in room coordinates, among room objects.
  4. -
  5. Overlays now have a ZOrder property, similar to GUIs. The z-order may be used to sort overlays among themselves and other game objects on the same layer: the screen overlays are sorted among GUIs, while room overlays are sorted among room objects, characters and walk-behinds.
  6. -
  7. Overlays now have a Graphic property that lets you change the overlay's sprite after it was created.
  8. -
  9. Overlays now have Width and Height properties, that let you freely scale existing Overlays, stretching or shrinking it.
  10. -
  11. The new Transparency property lets you make them translucent, similar to other objects in the game.
  12. -
-

Please refer to the corresponding page under Scripting API documentation to learn details about these and other Overlay's functions and properties.

-
-
-

Discontinued features

-

There are a few engine functionalities that were either removed completely, or disabled temporarily for technical reasons.

-

First of all, "Windows Game Explorer integration" has been completely removed from AGS. The Windows Game Explorer was never very popular, and it has been finally been deprecated by Microsoft in Windows 10. The "enhanced save game" feature, that allowed the Windows Explorer to display some meta-data, like screenshots for the AGS game saves, is deprecated since Windows 7. Therefore there are no good reasons to keep this functionality in the engine. Note that it's still possible to register your game in the "Windows Game Explorer" by writing a custom tool or script that does that. We won't cover how to do that in this manual though.

-

Hqx graphic filters are discontinued. They were previously only usable with the Software renderer, and had performance issues. In theory they may be returned later if there's a demand for them, and if implemented in a more performant way.

-

Windows-only DirectMedia video playback is discontinued. It allowed you to play AVI/MPEG video files, but was implemented using the DirectMedia interface, thus was supported only on Windows and required particular codecs to be installed on the system. It is probable that these video formats will be supported again at some point in the future. The OGG/OGV video format is the only working format at the moment, and we recommend using it for now.

-
-
-

Deprecated / replaced script functions

- - - - - - - - - - - - - -
obsolete functionreplace with
Object.IgnoreScalingObject.ManualScaling
-
-
-

System limits update

-
    -
  • Max number of AudioChannels is now 16 (was 8).
  • -
  • Max number of Room Objects per room is now 256 (was 40).
  • -
  • Removed game Cursors limit (was 20).
  • -
  • Removed Overlays limit (was 20).
  • -
  • Removed limit of simultaneous Button animations (was 15).
  • -
  • Removed limit of Character followers (was 30).
  • -
-
-
-
- - - - - -
- - diff --git a/UpgradeTo361.html b/UpgradeTo361.html deleted file mode 100644 index f8ad6330e..000000000 --- a/UpgradeTo361.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - Upgrading to AGS 3.6.1 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 3.6.1

-

3.6.1 is a relatively minor update, focusing on performance and convenience of existing features. There are no breaking changes to the game settings or script, but there are few things that should be mentioned.

-
-

Log Panel in the Editor

-

Editor now has a Log Panel, which may be shown by a command in "Window" menu. This panel is quite useful when testing your game, because it prints the engine logs, including the messages printed from script using System.Log function. For more information on configuring this panel please refer to the corresponding page.

-
-
-

New sprite compression option

-

Back in 3.6.0 we added LZW to sprite compression choice, because LZW was already been in use for room backgrounds. In 3.6.1 release there's a new option called "Deflate", which enables compression type of the same name. This compression is known to be used in such file formats as GZIP and PNG, and provides even more saved disk space than LZW.

-
-
-

Expanded interaction callbacks

-

All the interaction event callbacks for Characters, Inventory Items and so on now have extended parameter list with a pointer to a interacted object and a cursor mode that triggered interaction, somewhat similar to GUI event callbacks. They now look like this:

-
function Ego_Interact(Character *thisCharacter, CursorMode mode)
-function oObject1_Look(Object *thisObject, CursorMode mode)
-

and so forth. There are few exceptions that do not include CursorMode, as the events are run from different actions, such as Hotspot's "WalkOn" and "MouseOver" events, and also all of the Region's callbacks. These include only activated object's pointer.

-

The reason to have these is to let you use a single script function for multiple interaction modes and/or multiple objects, when necessary. In such case you can use the pointer to access activated object and "mode" parameter to know which mode was used to trigger the event. If the function is only used for a single object / interaction, then you may ignore these and keep using real object's script name as you always do.

-

Note that you do not have to add these parameters to existing functions after you loaded old game into the new Editor. Your game will run fine even if these parameters are not declared there.

-
-
-

Disabled automatic SetRestartPoint

-

Previously AGS engine was saving a restart point (save slot 999) automatically right after a "game_start" script function call. Starting with 3.6.1 this will not be done. Instead, you should add "SetRestartPoint()" call into your game script yourself, if you need that.

-

This was done to let users have an option to NOT have this default save. For example, some games may have custom save files, or just don't use this save slot, so it's not good to force them have it too without any way to disable it.

-

When you load older projects into 3.6.1 editor, AGS will insert a "SetRestartPoint()" call at the end of your "game_start" function in GlobalScript, to keep this behavior. If you don't like it be there you may safely remove this line.

-
-
-

Discontinued Source control integration

-

This feature theoretically allowed you to put your game files under source control, using either Microsoft's SourceSafe utility if one is installed on PC, or a custom AGS plugin written for this purpose. It is not known to us whether this functionality was ever known and used by any AGS users, but it was not properly maintained throughout the last decade, and hence is probably broken anyway. Today it's easier to let people use their own source control tool (like Git or Mercurial) without integration with AGS Editor. Therefore this feature is completely removed from the program now.

-
-
-
- - - - - -
- - diff --git a/UpgradingFromPreviousVersion.html b/UpgradingFromPreviousVersion.html deleted file mode 100644 index b5d1cee4e..000000000 --- a/UpgradingFromPreviousVersion.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - Upgrading from a previous version - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading from a previous version

- -
-
- - - - - -
- - diff --git a/UpgradingTo27.html b/UpgradingTo27.html deleted file mode 100644 index 64eae9d67..000000000 --- a/UpgradingTo27.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - Upgrading to AGS 2.7 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 2.7

-

The script language in AGS 2.7 has changed quite significantly from previous versions. Many of the script commands have become object-based, which has several advantages over the previous approach. This page will attempt to introduce you to the new method and explain its benefits.

-

Firstly, so that you can get an idea of the changes, here's an example of some old-style script commands and their new equivalents:

-
AnimateObjectEx(0,2,0,0,0,1);
-ListBoxAdd(3, 5, "New item");
-

becomes:

-
oWaterfall.Animate(2, 0, eOnce, eForwards, eBlock);
-lstTest.AddItem("New item");
-

Just from looking at that example the advantages should be obvious; the script is more intuitive for people to learn, much easier to read (no guessing what all the numbers mean in the AnimateObjectEx call), and therefore you're less likely to make mistakes when using it. GUI controls having names brings it much more into line with Visual Basic-style GUI development, so you don't have to remember what control number all your buttons are.

-

The script editor's autocomplete functionality has been significantly enhanced to aid in all this as well. You'll see as you start to experiment that autocomplete pops up more often and lists only the relevant commands thanks to object-based scripting.

-

So does this mean I have to throw out all my scripts?

-

No, certainly not! The new version is fully backwards compatible, so all your existing scripts will continue to work just fine. However, for any new scripts that you write, it's strongly recommended that you use the new object-based commands.

-

OK, so uh... what's changed exactly?

-

The script language syntax hasn't changed at all (that's the way you use semicolons, brackets, and so on). It's still just like it was before, but with some new additions. Most significantly, most commands are now called on something. For example, the old command:

-

StopMoving(EGO);

-

Just from looking at that, it's not at all obvious what StopMoving does. Does it stop a character moving, an object moving, or does it stop the screen moving? It's not intuitive. So now, rather than supplying the character as a parameter to the function, you actually call the function on the character. So:

-

character[EGO].StopMoving();

-

Now it's perfectly clear that it's the character EGO that we want to stop moving.

-

Suppose you're wondering what commands you can call on a character. Previously it was hard to tell, but now if you type character[EGO]. in the script editor, auto-complete will pop up and list all the valid functions and properties that you can access on the character.

-

So I have to keep typing character[EGO] all the time? What a pain!

-

Not so fast! Most of the new object-based commands can be called in two ways -- either through the main array as we just saw, but also through what's called the character's Script O-Name. This is a shorthand that allows you to directly access things, and for characters it is the script name in sentence case, with a "c" added to the beginning. So, in this example it would be:

-

cEgo.StopMoving();

-

This line has an identical effect to the one with character[EGO] that we used above.

-

Furthermore, the player variable is now kept up to date with the current player character, so it is actually useful. In a multi-character game, what you previously had to write like this:

-

StopMoving(GetPlayerCharacter());

-

can now be done like this:

-

player.StopMoving();

-

Hmm, I see... so what exactly has been object-ized?

-

Currently, the following object-based things are available:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Global arrayObject name example
character[]cEgo
object[]oDoor
hotspot[]hTree
gui[]gInventory
inventory[]iPinkPoster
region[](none)
-

GUI controls are handled slightly differently. They all have a script name, and are directly accessed via that. For example, if you set the script name of a list box to "lstSaves", then you would use "lstSaves." to access it. There is no global array of GUI controls.

-

How do I find out the new equivalents of old functions?

-

The help file's index has been set up to automatically redirect you to the new commands. Just open the help file, go to the index and type in the name of an old command, and it will bring you to the new object-based equivalent (if there is one).

-

Which commands haven't been changed?

-

Commands which don't operate on anything in particular (and therefore wouldn't really benefit from being object-based) have been left alone. For example, SaveGameSlot, QuitGame and so on have all remained identical to how they were in previous versions.

-

What's the deal with these "eBlock" type things?

-

AGS now supports enumerated types. Basically, in situations where you have to choose one from a list of possible options, an enumerated type (or enum) now steps in. In the past, you had commands with descriptions like this:

-

"Pass 1 if you want the function to block, or 0 if you don't".

-

This lead to lots of 1's and 0's in function calls, which are hard to read. Now, instead of this each number is represented by an easy-to-remember word (such as eBlock and eNoBlock). Even better, when you call a function that uses an enum parameter, auto-complete automatically pops up the list of options for you to choose from.

-

See the enum keyword description for information on how to create your own.

-

So do I have to pass all these things like eBlock every time I call the function?

-

Nope! Many functions now support optional parameters, where the most common options are selected automatically. If you look at the help for a function such as the Animate character command, you'll see some of the parameters are defined as "optional". This means that you don't have to supply them; if you don't, the default option that will be chosen is described in the help for that command.

-

So what else is new?

-

Well, 2.7 introduces the float data type, so AGS now finally supports floating-point arithmetic in your scripts. Also, for more advanced scripters, you can create your own member functions (including protected and static ones) to write cleaner script than just having a bunch of global functions.

-

Also, the script editor is now much better at checking your script for errors. You may well find that a script which compiled fine before no longer works on 2.7. Hopefully the error message should direct you towards fixing any problems.

-

Is there anything else I should watch out for?

-

Because of the new additions, the script language has more reserved words than before. For example, words like "gui", "object" and "hotspot" are now reserved (since they are used to access the global arrays). If your script uses any variables with these names, it will no longer work. You'll need to change the variable name in order to compile.

-

Also, the script language now supports pointers. Because they are a fairly complex topic, there's a separate page devoted to explaining what they are.

-

Blimey, that's a lot to take in. Where do I start?

-

I'd recommend attempting to write your next section of script in the new way. Each time you're about to use an old-style command, simply look it up in the manual to find out what it's replacement is.

-

Once you get used to the new system, I'm sure you'll agree that it is a significant improvement over the old scripting system and you'll start to enjoy the benefits of faster and more intuitive coding.

-

As always, if there's something you really can't get your head round, post on the AGS Forums and we'll help you out as best we can!

-

Have fun,
CJ

-
-
- - - - - -
- - diff --git a/UpgradingTo271.html b/UpgradingTo271.html deleted file mode 100644 index 0d9a44648..000000000 --- a/UpgradingTo271.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - Upgrading to AGS 2.71 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Upgrading to AGS 2.71

-

AGS 2.71 adds new simple string support to the scripting language. Strings have long been a pain to use in AGS, but this is finally addressed by v2.71.

-

There's a new String type (that's a capital 'S'). These new strings behave like Java/C# strings in that you can easily assign to and manipulate them.

-

For example, in 2.7 and previous versions, you had to do this:

-
string text;
-StrCopy(text, "This is my text");
-

in 2.71, you can now do:

-
String text = "This is my text";
-

Furthermore, the == and != operators can be used to compare strings for equality (equivalent to using StrComp but much more intuitive). An additional benefit is that there is no longer a need for GetText() and SetText() methods -- instead, we can now just have Text properties.

-

All the old-style functions that took a "string buffer" parameter have now been replaced with new ones that return a string instead. Where properties have been created, you should be able to use them like any other property, so:

-
lblLabel.Text = "Hello";
-String buttonValue = btnOK.Text;
-

and so on.

-

NOTE: Some of the new functions are provided on the Game object -- for example, the new GetSaveSlotDescription function needs to be called like this:
String description = Game.GetSaveSlotDescription(10);
This is part of a move towards all built-in functions being object-based, but watch out for it as it could well cause some confusion. The manual will show you which functions require this.

-

Rather than using old functions like StrCat and StrContains, you now call the functions directly on the strings:

-
String text = "Hello";
-text = text.Append("World");
-

will mean that text now contains "HelloWorld".
Note the text = in that expression. Functions like Append will return a modified version of the string, they won't actually change the original. Therefore, to update the text variable you need to assign the result to it.

-

Backwards compatibility

-

In order to maintain backwards compatibility, a new "const" keyword has been added. This applies only to old-style strings, and allows them to interoperate with the new ones. A new-style String can be passed to a function that expects a "const string" (which means that it will not be allowed to change the string's contents), but cannot be passed to a function that expects a "string" (since it could overwrite the string data and mess things up).

-

So, you may find that any custom functions you have that take a string parameter stop working. If this is the case, change the parameter from "string" to "const string" and that should fix it.

-

Apologies for the inconvenience, but this is the only way to allow new Strings to interoperate safely with old-style strings.

-
-
- - - - - -
- - diff --git a/ViewFrame.html b/ViewFrame.html deleted file mode 100644 index 913f64dea..000000000 --- a/ViewFrame.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - ViewFrame functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

ViewFrame functions and properties

-
-

ViewFrame.Flipped

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly bool ViewFrame.Flipped
-

Gets whether the frame was set to Flipped in the editor.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-if (frame.Flipped) {
-    Display("This frame is flipped");
-}
-else {
-    Display("This frame is not flipped");
-}
-

See also: Game.GetViewFrame, ViewFrame.Graphic

-
-
-
-

ViewFrame.Frame

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly int ViewFrame.Frame
-

Returns the frame number represented by this ViewFrame.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-Display("This ViewFrame is view %d, loop %d, frame %d",
-        frame.View, frame.Loop, frame.Frame);
-

See also: Game.GetViewFrame, ViewFrame.Loop, ViewFrame.View

-
-
-
-

ViewFrame.Graphic

-

(Formerly part of GetGameParameter, which is now obsolete)

-
int ViewFrame.Graphic
-

Gets/sets the sprite slot number that this view frame displays.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-Display("This frame uses sprite %d", frame.Graphic);
-

See also: Game.GetViewFrame

-
-
-
-

ViewFrame.LinkedAudio

-

(Formerly known as ViewFrame.Sound, which is now obsolete)
(Formerly known as SetFrameSound, which is now obsolete)
(Formerly part of GetGameParameter, which is now obsolete)

-
AudioClip* ViewFrame.LinkedAudio
-

Gets/sets the audio clip that plays when this frame comes around in animations.

-

If there is no linked sound, this should be null.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-if (frame.LinkedAudio == null)
-{
-    Display("This frame has no frame-linked audio.");
-}
-else
-{
-    frame.LinkedAudio.Play();
-}
-

checks view WALKING to see if frame 4 in loop 2 has a linked audio clip; if so, plays it.

-

Compatibility: Supported by AGS 3.2.0 and later versions.

-

See also: Game.GetViewFrame, Character.ScaleVolume

-
-
-
-

ViewFrame.Loop

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly int ViewFrame.Loop
-

Returns the loop number represented by this ViewFrame.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-Display("This ViewFrame is view %d, loop %d, frame %d",
-        frame.View, frame.Loop, frame.Frame);
-

See also: Game.GetViewFrame, ViewFrame.Frame, ViewFrame.View

-
-
-
-

ViewFrame.Speed

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly int ViewFrame.Speed
-

Gets the speed setting of the view frame. This is 0 by default but may have been changed in the AGS Editor.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-Display("This frame has speed %d.", frame.Speed);
-

See also: Game.GetViewFrame

-
-
-
-

ViewFrame.View

-

(Formerly part of GetGameParameter, which is now obsolete)

-
readonly int ViewFrame.View
-

Returns the view number represented by this ViewFrame.

-

Example:

-
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
-Display("This ViewFrame is view %d, loop %d, frame %d",
-        frame.View, frame.Loop, frame.Frame);
-

See also: Game.GetViewFrame, ViewFrame.Loop, ViewFrame.Frame

-
-
-
- - - - - -
- - diff --git a/Viewport.html b/Viewport.html deleted file mode 100644 index 74693af7d..000000000 --- a/Viewport.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - Viewport functions and properties - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Viewport functions and properties

-

Viewport struct lets you manage screen viewports. Viewports are used to display contents of a Camera. You may think that the viewport is a "TV screen" that shows the image that the camera have captured in the room. Viewport is defined by a rectangle on the game screen, in screen coordinates, and a Camera link.

-

By default there is a single viewport called "primary viewport". This viewport may be accessed as Screen.Viewport. But you may create more using Viewport.Create.

-

Viewport has a link to camera through a Viewport.Camera property. Same camera may be linked to multiple viewports at once. If no camera is linked then a viewport is not displayed at all. Viewports are allowed to go partially or fully offscreen, which may be useful to create transition effects, for example. Viewports may overlap, in which case their order of display is defined by ZOrder property.

-

By default viewport covers whole game screen, but you may change that anytime using Width and Height properties, and also SetPosition function. Camera's contents are stretched to fill viewport's rectangle, and because of that the difference between viewport's and camera's sizes create zoom effect (scaling):

-
    -
  • If the camera is larger than the viewport the displayed image will be zoomed-out (scaled down)
  • -
  • If the camera is smaller than the viewport the displayed image will be zoomed-in (scaled up)
  • -
-

Viewport's X, Y properties specify the position if its top-left corner on the game screen. You may use these to move the viewport around the screen.

-

IMPORTANT: The game starts in automatic viewport mode that snaps primary viewport and camera to the size of the game screen or size of a room background, whatever is smaller, each time new room is loaded. This is convenient in case you want to rely on a common behavior. If you prefer to customize viewports yourself standard behavior may be disabled using Screen.AutoSizeViewportOnRoomLoad property.

-

Compatibility: Viewport struct is supported by AGS 3.5.0 and later versions.

-

See also: Camera, Screen.AutoSizeViewportOnRoomLoad, Screen.Viewport, Screen.Viewports

-
-
-

Viewport.Create

-
static Viewport* Viewport.Create()
-

Creates a new viewport and returns a pointer which you may store in a variable (local or global one) and use to operate it. Any viewport created like this may be also accessed by Screen.Viewports by its index.

-

The new viewport will cover whole game screen by default and does not have any camera linked initially. You may assign or reassign the camera and change any of its properties later.

-

You may always delete previously created viewport using Viewport.Delete function.

-

Example:

-
// Create a new viewport and a new camera, and link them together
-Viewport* myView = Viewport.Create();
-Camera* myCam = Camera.Create();
-myView.Camera = myCam;
-// Set the viewport to half the screen size, centered and camera to half the room's
-myView.SetPosition(Screen.Width / 4, Screen.Height / 4, Screen.Width / 2, Screen.Height / 2);
-// Make sure that the new viewport is on top of the primary one
-myView.ZOrder = Screen.Viewport.ZOrder + 1;
-// Set the camera to half of the room size, placed at the right-bottom of the room
-myCam.SetSize(Room.Width / 2, Room.Height / 2);
-myCam.SetAt(Room.Width - myCam.Width, Room.Height - myCam.Height);
-// Wait a little (or play a cutscene, and so on)
-Wait(100);
-// Delete temporary camera and viewport
-myCam.Delete();
-myView.Delete();
-

See also: Viewport.Camera, Viewport.Delete, Screen.Viewport, Screen.Viewports

-
-
-
-

Viewport.Delete

-
void Viewport.Delete();
-

Removes an existing viewport. This also removes this viewport's pointer from Screen.Viewports array.

-

It's always safe to delete a viewport, even if it's the last viewport remaining: in such case the room will simply be not displayed on screen. You may create another viewport later and make the room show up again.

-

IMPORTANT: in Screen.Viewports array viewports are arranged in the order they were created. When you delete one in the middle all the following viewports will be shifted towards beginning of array.

-

See also: Viewport.Create, Screen.Viewport, Screen.Viewports

-
-
-
-

Viewport.GetAtScreenXY

-
static Viewport* Viewport.GetAtScreenXY(int x, int y)
-

Finds if there's any viewport at the specified screen coordinates and returns the topmost one. Hidden viewports will not be tested, but those without camera will still be. If no viewport was found under provided coordinates then this function returns null.

-

Example:

-
Viewport* view = Viewport.GetAtScreenXY(mouse.x, mouse.y);
-if (view != null)
-{
-    view.Visible = false;
-    Wait(1);
-    view.Visible = true;
-}
-

will find a viewport under the mouse cursor, and if there's one then make it "blink".

-
-
-
-

Viewport.RoomToScreenPoint

-
Point* Viewport.RoomToScreenPoint(int roomx, int roomy, bool clipViewport = true);
-

Returns the point on screen corresponding to the given room coordinates if seen through this viewport. Resulting Point struct will contain screen x and y coordinates.

-

Function does the conversion from room to screen's coordinate system, correctly taking into account viewport's position on screen, camera's position in the room and its transformation (scaling etc).

-

If clipViewport is true then this function will only return a point if given room coordinates are currently seen inside viewport and return null otherwise. If clipViewport is false then viewport's bounds will be ignored.

-

Example:

-
Point* pt = myViewport.RoomToScreenPoint(player.x, player.y);
-if (pt != null) {
-    Display("Player character is displayed at (%d, %d) on screen.", pt.x, pt.y);
-} else {
-    Display("Player character is currently offscreen.");
-}
-

See also: Viewport.ScreenToRoomPoint, Screen.RoomToScreenPoint, Screen.ScreenToRoomPoint

-
-
-
-

Viewport.SetPosition

-
void Viewport.SetPosition(int x, int y, int width, int height);
-

Changes viewport's position on the screen. Offscreen positons are valid, if a viewport is entirely offscreen it will simply not be drawn.

-

Example 1:

-
// Set the primary viewport to half the screen size, aligned in the center.
-Screen.Viewport.SetPosition(Screen.Width / 4, Screen.Height / 4, Screen.Width / 2, Screen.Height / 2);
-

Example 2:

-
// Shrink the viewport towards the center of the screen,
-// and then enlarge it back, while keeping the aspect ratio.
-int w = Screen.Viewport.Width;
-int h = Screen.Viewport.Height;
-float aspect_ratio = IntToFloat(h) / IntToFloat(w);
-while (h > Screen.Height / 4)
-{
-    w -= 2;
-    h = FloatToInt(IntToFloat(w) * aspect_ratio, eRoundNearest);
-    Screen.Viewport.SetPosition((Screen.Width - w) / 2, (Screen.Height - h) / 2, w, h);
-    Wait(1);
-}
-Wait(60);
-while (h < Screen.Height)
-{
-    w += 2;
-    h = FloatToInt(IntToFloat(w) * aspect_ratio, eRoundNearest);
-    Screen.Viewport.SetPosition((Screen.Width - w) / 2, (Screen.Height - h) / 2, w, h);
-    Wait(1);
-}
-

See also: Viewport.X, Viewport.Y, Viewport.Width, Viewport.Height, Viewport.ZOrder, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Viewport.ScreenToRoomPoint

-
Point* Viewport.ScreenToRoomPoint(int scrx, int scry, optional bool clipViewport);
-

Returns the point in room corresponding to the given screen coordinates if seen through this viewport. Resulting Point struct will contain room x and y coordinates.

-

Function does the conversion from screen to room's coordinate system, correctly taking into account viewport's location on screen, camera's position in the room and its transformation (scaling etc).

-

If clipViewport is false then viewport's bounds will be ignored and this function returns valid point all the time. If it is true then this function will only return a point if given screen coordinates are inside viewport's rectangle and return null otherwise. The default is false.

-

Example:

-
Point* pt = myViewport.ScreenToRoomPoint(mouse.x, mouse.y, true);
-if (pt != null) {
-    Display("Mouse cursor is over room location: (%d, %d).", pt.x, pt.y);
-} else {
-    Display("Mouse cursor is currently outside the viewport.");
-}
-

See also: Viewport.RoomToScreenPoint, Screen.RoomToScreenPoint, Screen.ScreenToRoomPoint

-
-
-
-

Viewport.Camera

-
Camera *Viewport.Camera;
-

Gets/sets the camera to be displayed in this viewport. Changing cameras is safe anytime, and the looks inside viewport will be changed during next drawing frame.

-

Setting Viewport.Camera to null will make an empty viewport, which does not display anything.

-

Example:

-
Camera* myCam = Camera.Create();
-myCam.SetSize(Room.Width / 2, Room.Height / 2);
-Screen.Viewport.Camera = myCam;
-

Will create a new camera, half of the room's size, and assign it to the primary viewport.

-

See also: Camera.Create, Game.Camera, Game.Cameras

-
-
-
-

Viewport.Height

-
int Viewport.Height;
-

Gets/sets the viewport's height in screen coordinates.

-

See also: Viewport.SetPosition, Viewport.X, Viewport.Y, Viewport.Width, Viewport.ZOrder, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Viewport.Visible

-
bool Viewport.Visible;
-

Gets/sets whether the viewport is enabled and drawn on screen.

-
-
-
-

Viewport.Width

-
int Viewport.Width;
-

Gets/sets the viewport's width in screen coordinates.

-

See also: Viewport.SetPosition, Viewport.X, Viewport.Y, Viewport.Height, Viewport.ZOrder, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Viewport.X

-
int Viewport.X;
-

Gets/sets the X position on the screen where this viewport is located.

-

Example:

-
while (Screen.Viewport.X < Screen.Width)
-{
-    Screen.Viewport.X += 1;
-    Wait(1);
-}
-

will pan viewport right until it's completely offscreen.

-

See also: Viewport.SetPosition, Viewport.Y, Viewport.Width, Viewport.Height, Viewport.ZOrder, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Viewport.Y

-
int Viewport.Y;
-

Gets/sets the Y position on the screen where this viewport is located.

-

Example:

-
while (Screen.Viewport.Y < Screen.Height)
-{
-    Screen.Viewport.Y += 1;
-    Wait(1);
-}
-

will pan viewport down until it's completely offscreen.

-

See also: Viewport.SetPosition, Viewport.X, Viewport.Width, Viewport.Height, Viewport.ZOrder, Screen.AutoSizeViewportOnRoomLoad

-
-
-
-

Viewport.ZOrder

-
int Viewport.ZOrder;
-

Gets/sets the viewport's z-order relative to other viewports. This will be taken into account if multiple viewports overlap to define which should be displayed above and which below.

-

The z-order is an arbitrary number and only have meaning in comparison with other viewport's setting. The lower value puts viewport to the back and higher value to the top.

-

IMPORTANT: If two or more Viewports have equal ZOrder, their draw order is undefined, and should not be relied upon. This is because of how draw sort is done in the engine.

-

Example:

-
Viewport* myView = Viewport.Create();
-myView.ZOrder = Screen.Viewport.ZOrder + 1;
-

will create a new viewport and place is on top of the primary one.

-

See also: Viewport.SetPosition, Viewport.X, Viewport.Y, Viewport.Width, Viewport.Height

-
-
-
- - - - - -
- - diff --git a/VoiceSpeech.html b/VoiceSpeech.html deleted file mode 100644 index a41408617..000000000 --- a/VoiceSpeech.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - Voice speech - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Voice speech

-

With AGS you can link a line of dialog to a speech file, to enable "talkie"- style games. Suppose you have a dialog script with the following content:

-
    ego: "Hi! How are you?"
-    michael: "I'm fine."
-

Normally this would display the words in the speech text above the characters heads. However, you can add the special character '&' to symbolize that a voice file should be played along with the displayed text.

-

The file name has the format XXXXY.EXT, where XXXX comes from the first four letters of the character's script name (except the leading 'c'), the Y is the speech file number (with no leading or trailing zeroes or padding of any kind), and EXT is the file extension.

-

For example, if you have dialog script:

-
    ego: &10 "Hi! How are you?"
-    michael: &7 "I'm fine."
-

or common script using Say script function:

-
cEgo.Say("&10 Hi! How are you?");
-cMichael.Say("&7 I'm fine.");
-

Both of those examples plays EGO10.WAV with the first line, and MICH7.WAV with the second. When a line of text has a voice linked to it, the text on the screen will not be removed until the voice file has finished playing. If the player interrupts it by clicking the mouse or pressing a key, the text and voice will be stopped. Voice files must be placed in the "Speech" sub-directory of the game folder.

-

Script functions that support playing voice clips using this style are:

- -

NOTE: Speech file numbers are restricted to the positive range of 1 to 2147483647 (2 billion). This is a technical limitation based on how these are handled inside the engine, but we do not think that running out of numbers to use will ever become a problem to the user.

-

Since AGS 3.5.0 you can play voice clips directly using function Game.PlayVoiceClip.

-
-

Voice packs

-

Any sound format supported by AGS can be used for speech as well.

-

AGS uses separate voice packs to store the speech files. The default voice pack is compiled by placing audio files in the "Speech" sub-directory of the game folder, and is named "speech.vox".

-

Since version 3.6.0, AGS also supports multiple alternate voice packs. These are compiled from subdirectories nested inside the "Speech" folder, and are named "sp_DIRNAME.vox", where DIRNAME is the name of that subdirectory. The speech files in these alternate directories must have the same names as files in the "Speech" directory itself. These extra packs are used to provide voice-over for different languages.

-

For example, if you have this folder structure in your game project:

-
    -
  • Speech
  • -
    • -
    • Francais
    • -
  • -
    • -
    • MyLang
    • -
  • -
-

then the editor will create following voxes:

-
    -
  • speech.vox (with files only from the root "Speech" folder);
  • -
  • sp_francais.vox (with files from "Speech/Francais");
  • -
  • sp_mylang.vox (with files from "Speech/MyLang");
  • -
-

NOTE: only top-level files are included into the voice pack, any further subfolders are ignored.

-

Since AGS 3.6.0, the engine supports switching to a different speech vox anytime. To do so, there's a new script function Game.ChangeSpeechVox.

-

Note that the voice packs are considered optional, and your game will function correctly even without them, in case there is no voice pack, the game will display speech text but play no voice. This makes it possible for the game author to offer voice packs as an optional download for the players. If a particular speech file is missing from a voice pack, that will not not cause game errors and display just the text on screen.

-

SeeAlso: Game.ChangeSpeechVox, Speech.VoiceMode

-
-
-
- - - - - -
- - diff --git a/acintro.html b/acintro.html deleted file mode 100644 index ebf30f8c4..000000000 --- a/acintro.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - Editor Tutorial - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Editor Tutorial

-

Stop press!

-

Densming has created some excellent Video Tutorials on YouTube, which guide you through the process of creating a game. If you find videos easier to follow than text, check them out!

-

The "Getting Started with AGS" tutorials are here:

-

Part 1 - Creating the game, and palette setup

-

Part 2 - Creating your first room, and testing the game

-

Part 3 - Hotspots, edges and interactions

-

Part 4 - Objects, inventory and room options

-

Part 5 - Managing inventory

-

Part 6 - Using the Sprite Manager

-

Part 7 - Views, loops, characters and cutscenes

-

Part 8 - Conversations and dialog

-

Part 9 - Cursors and fonts

-

Scripting is introduced in a separate tutorial:

-

Introduction to scripting

-
-
- - - - - -
- - diff --git a/acintro1.html b/acintro1.html deleted file mode 100644 index 5e907df05..000000000 --- a/acintro1.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - Getting Started with AGS - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS

-

So, you've downloaded AGS. You want to make an adventure game. But where do you start?

-

NOTE: Before we start, this tutorial was made using v3.5 of AGS. If you have a newer version, there may be minor inconsistencies in the screenshots where extra options have been added and so forth, but most of what's here should still apply.

-
-

Creating the game

-

Start up the AGS Editor by double-clicking the AGSEditor.exe file, and you should be greeted by the following screen:

-

The "Welcome to AGS" dialog

-

Make sure that "Start a new game" is selected, and click Continue. You'll be presented with the Start New Game wizard:

-

Create New Game dialog

-

So, without further ado, click Next, and you'll see the Select Template screen:

-

Select Template dialog

-

Here, you need to choose which template you're going to use for your new game. AGS comes with several, and you can find others for download on the AGS Forums.

-

The "Sierra-style" template is what we'll be using, as it has classic Sierra adventure game UI and comes with some default graphics to get you started quickly.

-

NOTE: The "Empty Game" template is something you may want to use later on when you're familiar with AGS as it comes with no default graphics at all.

-

So, select "Sierra-style" and click Next.

-

Game Name dialog

-

Finally, you need to decide on what to call your game.

-
    -
  1. In the first box you can type the full name for your game. This is what will be displayed in the game title bar when it's running in a window, and it's used for a couple of other things too. For the purposes of this tutorial, I'm going to call it the incredibly lame "Roger's Adventure", but you can use whatever you like.
  2. -
  3. The second box asks you for the game's file name. This is only used for the name of the folder that your game is created in, and the name of the final EXE file you compile.
  4. -
  5. The third box allows you to choose where AGS should put the game files -- the default is your My Documents folder, and I'm going to stick with that.
  6. -
-

Click the Finish button, and after a short wait you should be presented with the main AGS Editor window:

-

The main editor window

-

So, there's your new game, ready and waiting for you to create it!

-
-
-

Starting off

-

The main way that you navigate around the editor is using the Project Tree in the top-right corner, which allows you to access all the various parts of your game. Let's start by scrolling to the top of the Project Tree, and double-clicking the "General Settings" node:

-

The General Settings pane

-

This screenshot above demonstrates three of the main editor features.

-
    -
  1. The Project Tree, as we've already discussed, gives you access to the various parts of your game.
  2. -
  3. The Properties Grid, in the bottom-right, is where item-specific properties are accessed. It's not used in the Game Settings window, but we'll see it in action soon!
  4. -
  5. Finally, the Open Windows tab bar at the top the AGS Editor allows you to have several windows open at once, and they are shown as tabs so that you can easily switch between them. (NOTE: You may use the Close button (X) at the end of the Open Windows tab bar to close a window once you're finished with it.)
  6. -
-

Now, since we're on the Game Settings pane, let's briefly examine the various options we have in front of us. Make sure these options are enabled to begin with:

-
    -
  • Character movement -> Characters turn before walking - If the character is facing right, and you click to move him left, he'll rotate around before starting to move. This is what the Sierra and LucasArts point-and-click games did, and looks a bit more professional.
  • -
  • Compiler -> Enable Debug Mode - Since we are going to be developing the game, we want the assistance of the debug features in the engine. This allows you to do things like teleport to different rooms, give yourself all the inventory items, and so forth. You would un-check this before compiling the final version of the game when it's complete.
  • -
  • Visual -> Pixel-perfect click detection - Improves the game playability by making sure that clicking transparent regions of objects won't trigger them.
  • -
-

Personally, I would always enable these three options when starting a new game. As you get a feel for AGS, you can decide what suits you best, and change these options again later.

-
-
-

Color choices

-

Now, at this stage we really need to decide whether we want to create a palette-based (8-bit, 256-color) game, or a hi-color (16-bit or 32-bit) game.

-

256-color games are much more complicated to make due to having to deal with the palette, they are not supported by the Direct3D or OpenGL graphics drivers, and may not run well on some modern graphics cards. Although they can give you the authentic retro feel, unless you really need to use palette-cycling effects it's recommended that you stay away from making new 256-color games.

-
    -
  • It's highly recommended that you go with 32-bit color since many modern computers don't support 8 or 16 bit screen modes. Also 32-bit color is required for the use of alpha transparency.
  • -
  • Imported graphics are set to the chosen color depth. Should you change your mind later, you would have to re-import all the graphics.
  • -
  • If you are following this tutorial, then you need to stay with the 32-bit color choice.
  • -
-
-

Creating a 16-bit or 32-bit color game

-
    -
  • Setting the Color Depth: Back on the General Settings pane, check out the very top option in the list. It's called "Color depth", and all you have to do is change it to your desired color depth. A warning message will prompt you to make sure. Confirm it, and you're done.
  • -
-

You can skip the next section and make your way down to "Game Resolution"...

-
-
-

Creating a 256-color game

-

NOTE: If you are following this tutorial to continue to work on "Roger's Adventure" game, then do not adjust your game to be 256-color.

-
    -
  • Setting the Color Depth: Back on the General Settings pane, check out the very top option in the list. It's called "Color depth", and all you have to do is change it to your desired color depth. A warning message will prompt you to make sure. Confirm it, and you're done.

  • -
  • Adjusting the Palette: Double-click the "Colors" node in the project tree. You should see this:

  • -
-

The Palette Editor

-

The palette display has a grid with the 256 color slots on it. The first 40 colors are game-wide colors, which means that those palette slots have a fixed color throughout the game, in every single room.

-

The remaining slots, marked "X", are background colors and vary from room to room. This allows for different types of background to use different ranges of colors.

-

The default palette setup is a little badly weighted. Your GUI and main character graphics will have to use just the game-wide colors, since they are shown in more than one room. Therefore, unless you want a grayscale main character, the colors displayed are probably not enough.

-

So, let's swap some background colors for some game-wide ones. Select the first "X" slot, then hold shift and click on the last slot in the row marked "80". The screen should look as follows:

-

We have selected colors 42-95

-

We can now see the Properties Grid of the AGS Editor in action. Change the "ColorType" setting from "Background" to "Gamewide", and you'll see the selected "X"s turn into various colors.

-

If you select one of these colors you'll see its RGB color values in the Properties Grid, where you can adjust the color of that slot. If you don't want to do this manually for every color, you can set up slots 42-95 in another paint package, save a BMP file, and then right-click on the selected slots and choose the "Replace selected slots from file..." option.

-

Which colors you use is up to you, and your choice will likely depend on the color scheme you're going for with your graphics.

-

NOTE: You should set up the palette as well as you can now, because changing it later may require you to re-import some graphics.

-
-
-
-

Game Resolution

-

Having decided on our color depth, the other important decision to make at this stage is what resolution we want the game to run at. Higher resolutions allow you to have more detailed graphics, but they need more memory and some operations may run more slowly.

-
    -
  • Setting the Game Resolution: Go back to the General Settings pane, and select your chosen resolution from the "Basic Properties" -> "Resolution" drop-down list.
  • -
-

Next Chapter: Part 2 - Creating Your First Room

-
-
-
- - - - - -
- - diff --git a/acintro2.html b/acintro2.html deleted file mode 100644 index 6be619807..000000000 --- a/acintro2.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - Getting Started with AGS - Part 2 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 2

-

In AGS, games are made up of several rooms, which the player moves between in order to play the game. Each room is one screen that has its own background, hotspots, and objects.

-
-

Creating your first room

-

Scroll down to the bottom of the Project Tree, and you'll see a node called "Rooms".

-
    -
  • If you are following the tutorial, you should already have a room created for you. Expand the "Rooms" node and you'll see a "1:" node.
  • -
  • If you are not following the tutorial, right-click on "Rooms" in the Project Tree, and choose "New room". You'll see a "1:" node appear underneath. This shows us that we've created room number 1, and we can give it a name in a moment.
  • -
-

The Rooms list in the project tree

-

Expand the "1:" node, and double-click the "Edit room" node underneath to open the room in the workspace. You'll see a new window open up with "Room 1" as a new tab across the "Open Windows" tab bar, and your work area has changed to reflect this.

-
    -
  • If you are following the tutorial, you'll see a space background showing in the Room Background Preview workspace.
  • -
  • If you are not following the tutorial, you will be shown a default black work area. This is the room background, which is currently blank.
  • -
-

The Room editor is described below and arranged like this:

-

The Rooms window workspace

-

There are four main parts to this window:

-
    -
  1. The Background Selection area allows you to import and manage the room's backgrounds.
  2. -
  3. The Room Parts drop-down list is the way that you add or modify different aspects of your room (Hotspots, Objects, Walkable areas, etc.), as well as, simply switch between making these aspects visible in the editor for your preview.
  4. -
  5. The Room Background Preview area is where you see the room's background image, along with various things on top of it, depending on what's selected as visible in the Room Parts option.
  6. -
  7. The Properties Grid window allows you to set up various properties and events for the room.
  8. -
-

Naming the Room

-

As a first step, let's give the room a description. This is just to help us easily remember which room it is, and this description isn't used at all by the game engine. Click in the "Description" property in the Properties Grid, and type in something appropriate. I chose "SpaceHub" You'll notice that the Project Tree updates to include this description.

-

The Background

-
    -
  • If you are following the tutorial, we're using a background created by an AGS Forums Competition, designed by Selmiak. Obviously, as you continue with AGS you should draw your own backgrounds!

  • -
  • If you are not following the tutorial, then the first thing you need to do now is draw the background for the room. This needs to be an image of at least the same size as your game resolution (that we set earlier on the General Settings pane); if it's bigger than the game resolution then it'll become a scrolling room.

  • -
-

If you'd like to follow the tutorial, you may import the following image:

-

Selmiak-made background for the updated tutorial

-

Otherwise, draw the image in your favorite paint package, and once done, save it as a BMP or PNG file. Then, return to the AGS Editor, and press the "Change" button within the "Background Selection" area. Find the file you just created, and click Open.

-

You should now see the black area in the editor replaced by your image.

-

I've imported my background

-

Edges

-

Within the "Room Parts section" is the "Edit this room's" combobox that says "Room" in it. Select the trailing arrow, and select on the word "Edges". Upon clicking on this you've made the "Edges" sub-section now visible and the "eye" icon within this drop-down is now open to designate this.

-

Within the "Room Background Preview" area you will see four yellow lines drawn across your image in various places. These are the room edges, and they define how far the character needs to walk to be considered to have left the room. Click and drag them to position them appropriately.

-

NOTE: Bear in mind that it's the character's feet that are to be considered with these lines when positioning.

-

I've lined up the top and right edges correctly

-

At the moment, walking past the edges won't actually cause anything to happen, but we'll deal with that later. In my example, the character can only walk off the top and right edges, so they're the only ones that I've dragged into position. I've left the others as they are, since we won't be needing them.

-

Walkable Areas

-

Next, we need to define the room's walkable areas, which define where characters are allowed to walk within the room. Open up the "Show this room's" Room drop-down list again, and select the "Walkable areas" text.

-

NOTE: You may still see the "Edges" of the room displaying as they were turned to "visible" when you had that section opened. Clicking on the "Show this Room's" dropdown and clicking on the "eyeball" for "Edges" will make them hidden from your Room Background Preview area.

-

Walkable areas mode

-

In the AGS Editor top toolbar you'll notice that some new buttons have appeared. These are the drawing tools, and work in a similar way to most paint packages. AGS Editor provides Line, Freehand, Rectangle and Fill tools. Alternatively, you can draw your walkable area mask in a paint package and import it we'll cover that later in Advanced Room Features.

-

What we need to do is to fill in the areas of the room where the player is allowed to walk. In the game, the bottom middle of the character is checked against these areas, so it's probably wise to make the walkable areas slightly smaller than they need to be, to allow the character's feet to spill outside the area.

-

The best way to start off is with the Line tool. Draw some lines to encompass the area that you want to be walkable. Make sure they are all joined up, and then choose the Fill tool and click in the middle of the area, and it should be filled blue. If the whole screen goes blue, click Undo, then use the Line tool to make sure all the edges of the area are properly connected up, and try again.

-

You can use the right mouse button with the drawing tools to erase areas in the same way that you use the left button to add them.

-

I've drawn a walkable area where I want the player to be able to walk along.

-

Walk-behind areas

-

The next job we need to do is to define the walk-behind areas. These areas (called "priorities" by some other adventure game tools) tell the game where the character needs to be drawn behind the background.

-

NOTE: If you are following along on the tutorial, unfortunately our example background does not have any walk-behinds to worry about. So, I will show you how you can work with walk-behinds as our previous tutorial did, using a background from Space Quest 4.

-

Open up the "Show this room's" Room drop-down list again, and select the "Walk-behinds" text. Your walkable area will disappear and you'll be back to just seeing the room background.

-

Notice on this Space Quest 4 screen, the player needs to walk in from behind the curved wall on the right.

-

Now, we draw on the walk-behind area in the same way as we did the walkable area - in fact, all the same drawing tools are available. My result looks like this:

-

The walk-behind area painted over the pillar

-

Notice that I haven't bothered to make the whole of the pillar a walk-behind from top to bottom - using my knowledge of the walkable areas and the height of the character, I can just draw a walk-behind in the places where it's possible for the character to be.

-

Now that we've done that, there's a very important next step in order to make the area work - the baseline. The baseline is a horizontal line, which tells the game where the character has to be in order to be drawn behind the area. For example, if you had a table in the middle of the room, you'd only want him drawn behind the table if he was standing behind it.

-

You normally place a baseline at the lowest point of the walk-behind area. Move the mouse cursor to the bottom of the walk-behind area, and look at the "Mouse Position" display above the room background. These are the X and Y co-ordinates of where the mouse cursor currently is. We're only interested in the Y co-ordinate, so type it in to the Baseline setting in the property grid.

-

By default, we've been drawing blue areas onto the screen. But what if we had two pillars, in different places? We wouldn't want the same baseline to apply to both. Never fear, AGS allows you to have several different areas on each screen. Above the property grid, there's a combobox that says "Walk-behind area ID 1". You can change this to another ID to then draw in another color, and each area has its own baseline.

-

Selecting a different walk-behind area

-

NOTE: Going forward this tutorial will return to the Space Hub background image.

-

Trying out the game

-

OK, we've slogged away at making our room - now it's about time to give it a go. Press F5, or click "Run" on the Build menu. This will save your work and launch the game! Once loaded, you should see your room with the character in it.

-

NOTE: When you use the Run command, the game will always run in a window. If you want to test the game full-screen, use the Ctrl+F5 ("Run without debugger") option.

-

Try to move the character around. If he won't move, he probably didn't start on a walkable area. If this is the case, expand the "Characters" node in the project tree, and double-click "cEgo". Then, look in the property grid for two properties called "StartX" and "StartY". You can find out what these co-ordinates should be by going back to your room background, positioning the mouse cursor at the place where you want the character to start, and reading the "Mouse Position" display.

-

Once you've got that working, have a play walking the character around the screen, testing out the walkable and walk-behind areas.

-

NOTE: The normal way of exiting the game is to press Ctrl+Q. It's possible that during development of your game, you may create a script that causes the game to lock up - in this case, the emergency break key Alt+X will exit the game for you.

-

Next Chapter: Part 3 - Adding Interaction

-
-
-
- - - - - -
- - diff --git a/acintro3.html b/acintro3.html deleted file mode 100644 index 644a70336..000000000 --- a/acintro3.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - Getting Started with AGS - Part 3 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 3

-
-

Adding some interaction

-

OK, so we now have a working room. The player can walk around it as much as they like. However, our game so far is pretty boring - the player can't actually do anything of value yet!

-

AGS provides you with three types of things that the player can interact with - hotspots, objects and characters:

-
    -
  • A hotspot is an area of the background image that the player can look at and interact with. Hotspots are generally used for parts of the screen such as a tree or the grass which won't change as the game progresses.
  • -
  • An object is an item in the room that can move around the screen, and be switched on and off at will. Objects must stay within the room that they are created in.
  • -
  • A character is like an object, except that it can move between rooms and therefore appear all over the game. Characters also have special properties such as talking animations, inventory, and so forth, which means you will usually use one to represent each NPC (non-player character) in the game.
  • -
-
-

Hotspots

-

The easiest thing to start off with is hotspots. Make sure you've got the room editor open, and select "Hotspots" from the "Room Parts" drop-down list box (the same place where we selected "Walkable areas" earlier).

-

Hotspots are drawn in exactly the same way as walk-behind and walkable areas. You'll probably want to use several different Hotspots for different areas of the screen.

-
    -
  • If you are following this tutorial, then the first Hotspot is drawn for you, with a description of "Glowing Orb".
  • -
-

To create a second hotspot, change the "Selected Hotspot" to "hHotspot2 (Hotspot; ID 2)" using the Hotspot selection drop-down list above the Properties Grid -- OR -- by using the Room Parts drop-down and selecting the Hotspot text, and then the desired Hotspot, and you can now draw a second hotspot and it will appear in a different color than the first. For this tutorial, let's draw a hotspot over the wooden sign along the bottom of the background image. You may notice that all the other hotspots will be greyed out (See Note below).

-

I've drawn four types of hotspot onto my screen

-

Once you've drawn a hotspot, there are two Properties Grid fields to set for this hotspot:

-
    -
  • Appearance -> Description. This sets a player-friendly name for the hotspot, which is vital if you are going to use a LucasArts-style interface where the player can move the mouse over the screen to see what's where. If you're using a Sierra-style interface then this name will never be displayed to the player, but it's useful to fill it in anyway for your own benefit. By default this is "Hotspot 1", "Hotspot 2", etc.

  • -
  • Design -> Name This is a name by which the hotspot can be referred to in the room script. This name cannot have any spaces or special characters -- just the letters a to z. The convention in AGS is to start the script names for hotspots with an h, for example hDoor. The name must be unique within the room.

  • -
-

NOTE: In the Room Background Preview editor, all the hotspots except the currently selected one are drawn in grey. This is to emphasize which hotspot you currently have selected to edit. You can change this behavior by toggling the "Show non-selected masks greyed out" button at the right-hand end of the AGS Editor toolbar.

-
-
-

Interactions

-

Right, now it's time to make something happen! Make sure the second hotspot is selected, and click the Events button:

-

The events list

-

You'll see that the property grid changes to list all the events for this hotspot. Events occur when the player does certain things in the game. At the moment, nothing is set to happen in response to any of the events, so whatever the player does to the hotspot, they will get no reply.

-

Right, let's start with something simple. When the player looks at my hotspot, I want to display a message telling them what they can see. Click on the "Look at hotspot" row, and a "..." button will appear.

-

The "..." button

-

Click the "..." button. This will create an entry in the script for this event, and you'll find yourself taken to the script editor. If instead you get a message telling you that the hotspot needs a name, read back up for how to set a name for the hotspot, earlier in this article.

-

So, you are now in the script editor. It all looks a bit bare and intimidating, but you should have something like this:

-
// room script file
-
-function hSignHome_Look()
-{
-    
-}
-

The "function hSignHome_Look" line defines that the script underneath will be run when this event occurs. In AGS, the curly brackets { and } are used to mark the start and end of a block of script. Anything that you type in between them will be run as part of this event.

-

There's a separate Scripting Tutorial giving you an introduction to the scripting language, so I won't attempt to explain it here. But we can start with something very simple, using the Display command, which displays a message to the player. Type in something like this:

-
// room script file
-
-function hSignHome_Look()
-{
-    Display("The sign says 'EWOH'. I have no idea what that could mean.");
-}
-

Once you're done, you may want to "Save" your work on the Script Editor, and then click on the "Room 1" tab to return to the main room editor.

-
-
-

Walk-to points

-

OK, since we're back editing hotspots, click the let me quickly explain the "Walk-to point" option in the Property Grid. This allows you to set a position for each hotspot that the character will walk to whenever the player interacts with the hotspot - just like the way the LucasArts games like Monkey Island worked.

-

Setting a Walk To Point

-

Select the "Properties" button on the Properties Grid. Hover your mouse over where you want the player to walk-to when interacting with the hotspot. Notice the "Mouse Position" of your cursor is given below the "Room Parts" drop-down. You'll now need to remember those coordinates and write them down in the Properties Grid -> WalkToPoint. When completed, you should see a marker at those coordinates referencing the hotspot. In this case a "X 2" marker is shown, indicating that HotSpot "2" has a walk-to point at that "X".

-

If you set a walk-to point, then whenever the player clicks interact or talk on the hotspot, the main character will first walk to the walk-to point before the relevant event is triggered. If you want, the character can also walk there when the LOOK mode is used - this option is configurable in the game General Settings pane.

-

NOTE: To remove a walk-to point, simply set it to 0,0.

-
-
-

Edges revisited

-

OK, so we've covered the basics of creating a room. However, there's one thing that we did a while back that we need to clear up - yes, the edges.

-

Select "Edges" again in the list box. Now, click the Events button in the property grid and this time we'll see the events for the room itself. Among the events listed, you'll see "Walks off left edge", "Walks off right edge", and so on. These are fired when the player character crosses the edges that we defined back in part 2. We won't be doing this for this tutorial, but normally you will use the player.ChangeRoom script command for these events, to take the player to a different room.

-

Looking at Edges Interactions Properties

-
-
-
-

Testing Your Work

-

Now, hit F5 to try out our latest additions! Make sure that when you look at hotspot 2 the game displays the message that you typed into the script and that the character walks to your walk-to point.

-
-

Scripting tutorial

-

Now might be a good time to check out the Scripting Tutorial to get a better understanding of what your script code is doing. Alternatively, finish off this tutorial first and then check out the scripting tutorial.

-

Next Chapter: Part 4 - Objects and Inventory

-
-
-
-
- - - - - -
- - diff --git a/acintro4.html b/acintro4.html deleted file mode 100644 index c934537bb..000000000 --- a/acintro4.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Getting Started with AGS - Part 4 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 4

-
-

Objects

-

Objects are items on the screen which, unlike hotspots, can move, change, and disappear. You use objects for things in the room that the player can take (since they can disappear), and for things which need to animate.

-

So, let's revisit the age-old "key" inventory item. Let's say we will have a locked door on another screen, and the player can pick up a key from this room to open the door with. Please don't use this puzzle when you're making a proper game, it's been done far too many times. ;-)

-
-

Import a Sprite

-

For this tutorial we will need to import a sprite of a key to be used later as an object on the background. Right-click on the following key image, save it to your computer, and we will import it into the Sprite Manager of the AGS Editor soon.

-
    -
  • The image of a key to be used
  • -
-

Within the AGS Editor, choose "Sprites" from the Project Tree, in the upper-right of the editor. Making sure you have "Main" selected in the left-side tree, you should have a screen that look like this:v

-

A view of the Sprite viewer

-

Right-click to the right of the "blue cup" image # 0, and you should get a context window drop-down of actions. Choose "Import new sprite(s) from files...". Navigate to where you saved the key image on your computer and select that image file. Next, you will see the "Import Sprite" window. The window should look like this:

-

Importing a sprite view

-

Go ahead and select the "Import" button. You will now be able to see your new key graphic next to the blue cup graphic. It is now ready to be chosen as a graphic within your game.

-

Now that we've got our key sprite ready to be used, let's get back to discussing Objects.

-

From the same Room Parts drop-down list as we chose "Walkable areas" and "Hotspots" earlier, let's return there and select "Objects". Now, to add an object to the room, simply right-click on the background where you want to add it, and choose "Place New Object Here" from the menu which appears.

-

As if by magic, a blue cup appears! This is the default sprite in AGS, and will appear anywhere that you haven't selected a proper image yet. Notice that the Properties Grid has changed to display the details of this new object -- one of which is a property called Image. Select this property, and a "..." button appears.

-

Adding an object to the room

-

Click the "..." button, and you'll be presented with the Sprite Manager. We'll explain this in even more detail later, but basically it is the focal point in AGS where you import and export all your graphics except for room backgrounds. For this tutorial, ensure that the "Main" tree choice in the left-side tree is selected, and you should see your small key picture that we imported earlier. Double-click that "Key" image.

-

Selecting the Key in the Sprite Manager

-

You should now see that the blue cup graphic has changed into a key. You can move it around by left-clicking and dragging the sprite within the background image. Place it somewhere sensible on your screen. I placed it further to the right of the walkable area.

-

The next thing we should do is give the object a name. Similar to what we did with hotspots, since the object will be referred to in the script it will need a name that we can call it by. Scroll down the Properties Grid and find the "Name" property, and set it to something sensible. The convention in AGS is to have object names start with an "o", for example oKey.

-

I've placed the key cunningly in the middle of the walkway ;-)

-

Before we enable the key to be taken by the player, let me quickly go over a couple of properties in the Properties Grid:

-
    -
  • Baseline - normally, the baseline for an object is set to the bottom of the object graphic (baselines are used to calculate which items on the screen are drawn in front and which are drawn at the back). However, in some cases you might want to override this.
    What you'll notice with our key is that if the player walks just behind it, the key will appear in front of his feet. This is not what we want, since the key is supposed to be lying flat on the ground. To correct this, change the Baseline property to 5 (this means that it will be drawn behind everything that has a baseline lower down the screen than Y=5). This will make sure that the player is always drawn in front of the key.
  • -
  • Visible - this toggles whether the object is switched on at the beginning of the game or not. For our key we want it to be True, but sometimes you'll have objects which you don't want the player to see until they've done something else in the game.
  • -
-

NOTE: Having a large number of large objects on-screen can potentially cause the game to slow down. AGS imposes a limit of 40 objects per room.

-

Right, now back to the pressing matter at hand - letting the player pick up the key.

-
-
-
-

Inventory

-

Now wait, there's one more step we need to do first. At the moment we could let the player pick up the key, but then what would happen to it? Where would it go? We need to define the player's inventory.

-

Expand the "Inventory Items" node in the upper-right Project Tree. You'll see that there are already two items defined - "iBlueCup" and "iKey". These are just defaults to help you get started. Double click "2: iKey", and you should see a window open with a slightly different key image than the key image you imported earlier. This inventory item "key" has already been setup for you with a different image that looks better on an inventory screen. This is because an object for a background can appear of a different size and image than when it is shown in the player's inventory (if you want it that way). Remember, objects are separate entities than inventory items.

-
    -
  • For this tutorial, update the field in the Properties Grid of "PlayerStartsWithItem" to be "False" for this iKey inventory object!
  • -
-

Inventory Screen of Key

-

To view where this inventory image of a key is being linked to, find the "Image" property in the Properties Grid, select it, and then click the "..." button. The sprite manager re-appears, and you will find the sprite to represent the inventory object in the larger format.

-

Sprite manager view of the larger key

-

OK, there are a few other settings on this screen, but let's return to our objective - letting the player pick up the key. Remember that the script name is iKey, as we'll need it later.

-
-

Back to the events

-

Go back to the Objects pane of the "Room" tab, ensure that you still have the "key" object selected, and then click on, yes you've guessed it, the Events button. The events here are very similar to the ones we had for the hotspot:

-

The events list for the object

-

Notice there are two obvious possibilities here: "Interact object" and "Pick up object". We actually want to use the "Interact object" event, because we are using the default Sierra-style interface which doesn't have a specific Pick Up mode. The "Pick up", "Usermode1" and "Usermode2" events are useful if you go for a LucasArts-style interface which has more verb types available to the player.

-

So, select "Interact object" and click the "..." button. When the player picks up the key we want two things to happen - firstly, the object on-screen needs to disappear, and secondly, the inventory item needs to be added to the player's inventory.

-

Here's my script solution. As an added bonus, I've also given the player 5 points for their trouble, but you don't need to have that third command:

-

Script for taking the key

-

Note that our solution is not perfect - the player can click the hand icon on the key from anywhere in the room and it will disappear. We are also not displaying a message informing the player of what happened. But, the functionality is there, and this will do fine for now.

-
-
-
-

Testing Your Work

-

OK, so we now have a fully-working first room. Test the game as before (F5) , and try it out. View your inventory first, and you should only have a "Blue Cup". Once the player has taken the key, call up their inventory and you should see the large key picture there.

-

Next Chapter: Part 5 - Managing Inventory

-
-
-
- - - - - -
- - diff --git a/acintro5.html b/acintro5.html deleted file mode 100644 index 2eac2186c..000000000 --- a/acintro5.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - Getting Started with AGS - Part 5 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 5

-
-

Managing Inventory

-

Each character in the game can carry their own set of inventory items. Inventory items are totally separate from room objects, and you must explicitly set up every item which the player can carry at some point in the game.

-

Go to the "Inventory items" node in the Project Tree. We visited this briefly in part 4, but it's time to go into a bit more detail.

-

The inventory editor, another look

-

Every inventory item that the player can carry at some point during the game is listed in the Project Tree. All the items there also have a number beside them - this is the Inventory Item ID, which is largely for backwards compatibility with older versions of AGS.

-

To edit an inventory item, double-click it in the Project Tree, and a new window will open up with the item's properties in the Properties Grid. If you want the player character to start off carrying the selected item, set the "PlayerStartsWithItem" option to True. Remember, if you want to change which image is used for the item, select the "Image" property and click the "..." button. There is also a representation of the inventory item as a cursor, as in Sierra-style games. You will read more about that below in the section Inventory item hotspots.

-

Now, you may have noticed that once the player had picked up the key in our game, they could see it in their inventory window but not actually do anything to it - clicking "Look" or "Use" on the item did nothing.

-

In order to give the inventory item some interactivity, we once again need to call on the Events List. Click the "Events" (lightning) button to bring it up:

-

The events list... this time for inventory

-

Now, the important point to note here is that if you are using the built-in inventory window (which we are), the only events which can occur are "Look at inventory item" and "Use inventory on this item". This is because the default inventory window only has Look and Select options. The other modes are all available if you design your own inventory GUI (but that's quite complex so we'll leave it for later).

-

So, select the "Look at inventory item" event, and click the "..." button. You'll be taken to the script editor once more, but this time you'll notice that there's already some existing script as well as our new method:

-

Script for looking at the key

-

We are now editing the global script. This has all the script for handling events on game-wide things like inventory items and characters. Previously we were working with hotspots and objects, so they were confined to their own room script.

-

Anyway, for now I've just added a simple Display command to show the player a message when they look at the key. Feel free to do something similar.

-
-

Inventory item hotspots

-

By default, when the player selects an inventory item as their mouse cursor and clicks on the screen with it, the center of the item will be used to decide what to activate. However, with some items you may well not want this behavior - for example, we might want the end of our key to be the activation spot.

-

Back on the selected inventory item tab, To set the cursor hotspot, either click within the "Mouse cursor image" section, or by identifying the "Hotspot X" and "Hotspot Y" within the Properties Grid. (LucasArts-style games rarely used inventory items as cursors.)

-
-
Mouse Cursor on Inventory Item
-

Within the games' "General Settings", under "Inventory", there are choices related to using these inventory items as a cursor (usually in Sierra-style games):

-
    -
  1. Inventory item cursor hotspot marker - AGS can automatically add a marker to inventory item cursors to help the player see where the active hotspot is on the cursor. A custom sprite can be chosen, a default crosshair, or none may be selected.
  2. -
  3. Inventory item cursor hotspot marker sprite - If you choose a custom sprite in the choice above, you can define which Sprite # to use here.
  4. -
  5. Use selected inventory graphic for cursor - When true, this will allow the mouse cursor to become the selected inventory item.
  6. -
-
-
-
-

Recap

-
    -
  • Inventory items are not objects. The two are totally separate, although often picking up an object will give the player an inventory item.
  • -
  • Each character has their own inventory. If you are making a game like Day of the Tentacle, where the player can switch between characters, then they will each have their own set of inventory items. Usually, you'll use inventory commands to operate on the current player character.
  • -
  • To give the player an inventory item, use the player.AddInventory command.
  • -
  • Test the game as before (F5) , and try it out. Does your character say a comment about the key when you look at the key within your inventory?
  • -
-

Next Chapter: Part 6 - Using Your Own Graphics

-
-
-
-
- - - - - -
- - diff --git a/acintro6.html b/acintro6.html deleted file mode 100644 index e1f996e77..000000000 --- a/acintro6.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - Getting Started with AGS - Part 6 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 6

-
-

Using your own graphics

-

Although the default Sierra-style template has changed over the years within AGS the images available may not be what you are looking to use. This is no problem, because you can import your own graphics using the Sprite Manager.

-

Double-click "Sprites" near the top of the Project Tree. This opens up the Sprite tab (also referred to as the Sprite Manager), where you can see the complete sprite set for the game. There is the "Sprite Tree View" on the left and to the right of that is the "Sprite Preview Window".

-

Sprite manager tab explained

-

AGS uses these sprites for all game graphics, except room backgrounds. The Sprite Manager is the central place where you do all your graphics importing. Whenever you want to use images in the game (for mouse cursors, views, objects, etc.), you select an image to use from here.

-

NOTE: You can create and rename folders and sub-folders within the Sprite Tree View (by right-clicking on the existing folders) to better organize your sprites instead of having EVERY sprite of your game within one folder.

-

There are three ways to import your graphics; all by right-clicking within the Sprite Preview Window and choosing a context menu choice:

-
    -
  1. Import a new sprite - right-click on the background of the Sprite Preview Window and choose "Import new sprite from file".
  2. -
  3. Paste new sprite from Clipboard - If your game is hi-color, you'll have an option to paste from your clipboard memory.
  4. -
  5. Replace Sprite From File - Allows you to overwrite an existing sprite with a new one. Perhaps you have finalized graphics to replace a temporary graphic.
  6. -
-

NOTE: The sprite graphics you import should not exceed the maximum number of colors that the game supports - i.e. if you have a 256-color game, you must import 256-color sprites.

-
-

Import A New Sprite

-

You may remember that we covered importing a new sprite previously when importing a key image to use as an object on one of our backgrounds in Tutorial 4 - Import a Sprite.

-
-
-

Replace Sprite From File

-

The key image we imported back in Tutorial 4 doesn't look so at home in this Space Hub background. So, let's replace that key image with a new key image that looks more alien. Save the following alien key image to your computer. We'll be importing it into AGS Editor in a moment.

-
    -
  • New alien key image
  • -
-

Within the Sprite Manager, navigate the "Sprite Tree View" and "Sprite Preview Window" until you can find where you imported the key earlier. Right-click on it and choose "Replace sprite from file...".

-

Right-clicking to replace existing sprite

-

Navigate to and select the new alien key image in the dialog box, and then you'll be presented with this:

-

The "Import Sprite" window

-

This is the Import Sprite window. You'll see the image from the file that you chose, along with various options. The "Zoom" slider on the right allows you to zoom in on the image (very useful for low resolution graphics), and the "Transparent color" section options allow you to choose how AGS decides which color is the image's transparent color. "Tiled Sprite Import" will be discussed later in this tutorial.

-

Now, you have two choices:

-
    -
  • If you want to import the whole image, just click the "Import" button, and you're done.
  • -
  • If on the other hand you only want to import a portion of the image, then you need to right-drag the mouse within the image to select the area that you want to import. You will see a pink grid appear over the image to help you track your selection. (Don't forget, you can zoom in on the image!) Once you've got it, click the "Import" button and the selected area of the image will be imported.
  • -
-

NOTE: For character graphics, make sure you import graphics that are a suitable size for the game backgrounds. For example, don't import a 320x200-sized image for your character if your game resolution is 320x200. A good size for games with this size of screen resolution would be about 20x50 pixels.

-

NOTE: (256-color only): You may well find that the colors on your graphic look slightly strange once you've imported the image. This is because by default only the first 41 of the palette colors are allocated to sprites, so your graphic will be remapped to this much smaller palette. If you find that many of your imported sprites look strange, you can increase the number of colors assigned to sprites, at the expense of background colors (see the earlier part of the tutorial for palette setup).

-
-
-

Tiled sprite import

-

This feature allows you to import a grid of sprites into separate slots

-
    -
  • for example, if you have several frames of a character animation side by side in the source bitmap. To do this, simply check the "Tiled sprite import" box, and align your rectangle on the top left sprite. When you click the left mouse button, you will get an extra step which allows you to size the grid:
  • -
-

Click the left button again once you are happy with the grid. Each of the cells will be imported as a separate sprite.

-

NOTE: Tiled sprite import only works if you selected "Import new sprite from file". If you used the "Replace sprite" option, only the first tile will be imported.

-

Next Chapter: Part 7 - Animations

-
-
-
-
- - - - - -
- - diff --git a/acintro7.html b/acintro7.html deleted file mode 100644 index 132e1c3a8..000000000 --- a/acintro7.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - Getting Started with AGS - Part 7 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 7

-
-

Animations

-

A graphical adventure game would be no good without animations. These range from commonly-used animations such as the main character walking, to perhaps a flag waving as an object on one of your backgrounds.

-

Animations in AGS are managed using Views. A view is a set of one or more loops. A loop is a set of frames which, when played in sequence, give the illusion of movement.

-

Expand the "Views" node in the Project Tree, and double-click on "View 1":

-

The View Editor showing view 1

-

This is the "View Editor" where you will put together all your animations. You'll notice lots of frames of Roger's walking animation in this window.

-

Each loop is displayed as a row of images (one for each frame), going from left to right. To change the image for a frame, double-click the image, and you'll be presented with the sprite manager where you can select the image to use.

-

NOTE: All images for use within views are imported as usual via the sprite manager before they can be inserted into a view-frame.

-

At the right-hand end of each loop, you'll see a "Create new frame" button, which you can click to create a new extra frame at the end of the loop. You can also right-click a current frame to insert a new one before or after it.

-

Left-click a frame to select it. When you do so, the Properties Grid will be updated with the frame's details:

-

Property Grid showing frame properties

-
    -
  • Appearance -> Delay is the frame's relative speed. This number adds a delay to the amount of time which the frame is displayed for, therefore a larger number makes it stay longer. You can use negative numbers to specifically shorten the frame's display time.
  • -
  • Appearance -> Flipped toggles whether the frame is displayed normally or mirrored left-right. This feature allows you to just create animations for your character walking right, and then use the same images for the walking left loop and AGS will automatically flip them.
  • -
  • "Design -> Sound" allows you to assign a sound number that will get played when this frame comes around in the animation. This feature is designed for footstep sounds, but has many other uses as well. Using sound in the AGS Editor is covered more in the Music and Sound tutorial.
  • -
-

Views aren't only used for character walking animations -- they're used for all types of animations in the game. How you actually run an animation in the game will be explained later on.

-
-
-

Characters

-

If you remember back to part 3 of this tutorial, we talked about three types of thing that the player can interact with - hotspots, objects and characters. We've covered the first two, so now it's time to take a look at characters.

-

Put simply, a character is similar to an object, except that it can move between different rooms in the game, take part in conversations, carry its own inventory, and more.

-

Expand the "Characters" node in the Project Tree. You'll see that so far you only have one character in the list, labeled "0: cEgo". You could create a new character by right-clicking that parent "Characters" node, but for now, double-click the "cEgo" character to bring up the Selected Character Settings window:

-

The Character Editor

-

The first thing you may notice is the text "This character is the player character" at the top of the window. This shows that the currently selected character is the initial player character when the game starts up. To change it, simply open up the other character that you want to use as your playable starting character and click the "Make this the player character" button. The game will start off in whatever room number the Starts in room Properties value is set to for the player character.

-

There are quite a few properties available in the Properties Grid. Rather than explain them all here, we'll just cover the most important ones - you can find a full description of all the options in the manual.

-
    -
  • Appearance -> NormalView - sets which view is used for the normal walking animation of the character. The view specified here must have 4 or 8 loops, and the first frame of each loop is the "standing still" frame.
    For a 4-loop character, when walking diagonally the closest straight direction is chosen for display. With an 8-loop character, all 8 directions are displayed depending on the character's direction.
    Which loop represents which direction is shown in the Views editor (e.g. "Loop 0 (down)").
  • -
  • Design -> Clickable - if this is not checked, then this character will be see-through to mouse clicks. This is similar to the way the player character worked in LucasArts games - you cannot actually click on Guybrush, it will always activate whatever is behind him.
  • -
  • Design -> StartingRoom - this sets which room number the character starts off in at the beginning of the game.
  • -
  • Design -> RealName - Simply gives you an easy way to identify the character in the editor, and can also be accessed from the game script if desired.
  • -
  • Design -> ScriptName - This field is very important, as it sets the name by which the character will be referred to in the game scripts. The reason for having this as well as the RealName is that the script name can only contain the letters A-Z, whereas the RealName field can contain any spaces, numbers, etc.
  • -
-
-
-

Game starting point

-

Just in case you missed it, I'll repeat what was just said in the Characters section - the Starting Room setting of the player character is used to determine which room the game starts off in.

-

NOTE: This feature can be handy for testing various parts of your game. For example, when you're working on your 16th room, set the starting room to room 16 so that you can get to it instantly when you run the game to test it.

-
-
-

Cutscenes

-

A cutscene (coined by Ron Gilbert while developing Maniac Mansion) is simply the name given to a sequence of actions over which the player has no control. This usually applies to the entire introduction sequence, as well as far simpler in-game events. For example, if the player goes to pick up a rock from the ground, you may wish to use a bending-down animation to show him picking it up. During this bending down and standing back up, the player cannot control proceedings, so it is a cutscene.

-
-

Intro and Outro Cutscenes

-

You can easily add intro, outro and cutscene sequences to your game. There is no specific feature to do this - you simply use the provided animation and movement commands to do whatever you like.

-

You could make an "invisible" character (a see-through sprite) initially set as your player character and have them start in your Title Room background and opening cutscenes, and when you get to really start your game, you can set your real playable character as the player character at that time.

-
-
-

Simple Cutscene

-

Right, firstly let's do something very simple. When the player goes to pick up the key from the floor of our room, we want Roger to walk over to it first rather than it just disappearing from wherever Roger is standing.

-

So, we want to add something extra to picking up the key. How do we do this? Yes, that's right, we need to return to the Event Script for the key object. Go back to the Events List for the key object (remember, you open the room, select the "Objects" mode, then click on the key to select it):

-

Room 1 Object Alien Key Events

-

The main difference you'll notice now is that the "Interact object" event already has a name. This "oKey_Interact" is the name of the script function that we created earlier. So, just select it and click the "..." button to return to the script editor.

-

Now, we want the player to walk across to the key before it disappears, so we need to add a new line of script before the existing command that makes the key invisible. We want to do an action on the player character (i.e. move him), so type player. and auto-complete will pop up with the available commands. See if you can work out which one we need.

-

The Walk command needs X and Y co-ordinates

-

Eeek! player.Walk() is correct, but the Editor wants a destination X and Y location! We don't know that, but we can find out! Click over to the "Room 1" tab on the tab bar at the top of the editor, and move the mouse cursor to where the key is on the background. Look just above the background image, and you should see "Mouse Position: 245, 150" or something similar. These are the X and Y co-ordinates, respectively, of the key's location. So, note them down, and click the "room1.asc" tab to return to the script.

-

Getting the mouse coordinates

-

Now, we can type in those co-ordinates to our script. We also need to pass in the "BlockingStyle" as eBlock, which tells the game to wait for Roger to get to those co-ordinates before continuing the script. If we didn't do this, he would start to walk but the key would disappear before he got there! The final script should look like this:

-

Our new command is run before the existing ones

-
-
-
-

Testing Your Work

-

Now, hit F5 and try it out!

-

OK, I think we have had enough of animations and cutscenes for now. We'll return later to explore actual animations and more complex cutscenes.

-

Next Chapter: Part 8 - Conversations

-
-
-
- - - - - -
- - diff --git a/acintro8.html b/acintro8.html deleted file mode 100644 index 532c6aa59..000000000 --- a/acintro8.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - Getting Started with AGS - Part 8 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 8

-
-

Conversations

-

What fun would an adventure be if there were no other characters to talk to? Probably not much!

-

How much you go into dialog depends of course on your game style. Generally, Sierra games used to just have one fixed line of dialog which the characters would talk about, possibly changing if you talked to the same person again.

-

LucasArts games (and some Sierra titles such as Quest for Glory) on the other hand, had complete dialog trees through which you could choose your topics to talk about.

-

AGS lets you do it whichever way you want. We'll start off by looking at the complete dialog tree approach, and then see how easy it is to cut it down to get a Sierra-style system.

-

Now, before we go any further, let's consider for a moment what conversation structure we want. It's going to be a lot easier to implement if we have this planned in advance. For this tutorial, we'll go for a structure like this:

-
| Greetings! |
-      |
-      ---- | Who are you? |                         / ---- | How much is a jacket? |
-      |                                            /
-      ---- | Tell me more about your wares. | ----< -------| How much for a fake eyeball? |
-      |                                            \
-      ---- | Bye, see you later. |                  \ ---- | That's all for now. |
-

In other words, when we first speak to the other character, we will say "Greetings!". After he replies, we will then be presented with three options to choose from.

-

The "Tell me more about your wares" option will then lead us to be able to ask a different set of questions.

-
-

Additional Characters

-

Before we begin, we need to create a second character - we can't just have Roger talking to himself! Go to the "Characters" node in the Project Tree, right-click it and choose "New Character". The new "cChar1" character and their properties window will automatically open up.

-

New Character Window

-

In the Properties Grid:

-
    -
  • Design -> RealName - Give this new character a Real Name. I'll call him "Merchant".
  • -
  • Design -> ScriptName - Now - and this bit is vital - you also need to set this new character's Script Name. This is the name by which we refer to him when creating our dialogs. I'll just use "cMerchant" as the script name.
  • -
-

NOTE: I'd recommend you set it to something sensible like this, and don't just leave it as "cChar1" or else your dialog scripts will get very confusing!

-
-
-

Dialogs

-

OK, all done? Navigate to the "Dialogs" node in the Project Tree, and right-click on that node. Choose "New dialog" to make our first dialog. You'll see this rather empty window:

-

The dialog editor

-

Conversations in AGS are made up of topics also referred to as a dialog -- the two words are one and the same thing. A topic consists of a set of options that the player can talk about - not all of which are necessarily available to the player at the start of the game. When the player selects an option from a topic, the topic's dialog script is run.

-

Each topic can contain some start-up text, which is displayed before the options are presented to the player. Our "Greetings" line qualifies for this, so we don't need to make a special topic for it.

-

Right, let's make our first dialog. Click the "Create new option" button three times, and three new rows will appear in the window. You'll also notice some new lines being added to the script on the right-hand side. Make sure that the "Show" checkbox is ticked for all the options -- this determines whether the options are initially available to the player or not.

-

Also, this dialog currently has no name, but we'll need to give it one so that we can access it later. The convention in AGS is for dialogs to start with "d", so I'm going to call this "dMerchant". Use the Properties Grid to set the name, as usual.

-

Now, type in some text from our dialog plan from above, into the three new text boxes:

-

We've inserted three options for topic 0

-

While we're at it, let's create the next set of options too. Right-click the "Dialogs" node in the Project Tree, and select "New Dialog". A new blank dDialog1 is created and should be automatically opened for you. Create three new options and type them in. In the Properties Grid, change the Name from "dDialog1" to "dWares".

-

Our second dialog choices

-

Now, go back to the first dialog "dMerchant" tab (select it in the Editor Tab bar), and let's have a look at the script.

-

This is not the same type of script that we've used for our Events like picking up the key. It's a much simpler dialog-only scripting language. It's still possible to use regular AGS Script code, you just have to make sure the line starts with at least one space character.

-

Each of the "@" lines is an entry point. These define the different places where your script can start. The "@S" entry point happens when the topic is first started - and so this is where we want our "Greetings" text to be displayed.

-

Dialog scripting is very simple. It takes the form:

-
SCRIPTNAME: "Text to say"
-

So, in between the "@S" and the "@1" lines, insert a couple of new lines, and type the following:

-
EGO: "Greetings!"
-MERCHANT: "Hello there!"
-return
-

Remember, these are the script names of the characters (but without the initial "c"). The "return" is essential, because it tells AGS to stop running the script at that point and to display the options to the player.

-

The numbered entry points will be run when the player selects the appropriate option - for example, if the player clicks the "Who are you?" option, then entry point @1 will run.

-

Here is the finished script for this topic:

-
// Dialog script file
-@S  // Dialog startup entry point
-EGO: Greetings!
-MERCHANT: Hello there!
-return
-@1
-MERCHANT: My name is Derek, and I'm a local merchant.
-MERCHANT: I can sell you all sorts of things.
-return
-@2
-MERCHANT: I specialize in selling various random items.
-MERCHANT: My jackets and fake eyeballs are popular.
-goto-dialog dWares
-@3
-MERCHANT: Do pop by again sometime.
-stop
-

The goto-dialog command takes the player to another dialog - in this case, the new "dWares" dialog we just created (with questions about the merchant's wares).

-

The stop command tells AGS to end the conversation and return to the game (whereas return returns them to the list of options to talk about).

-

Now, we're not quite done ... we've got to setup our second dialog too! In the Editor Tab bar, click the "Dialog: dWares" tab to return to the second topic. Fill in the script however you like. Here you can use the goto-previous command to take the player back to the first list of options when they get bored of talking about his wares.

-

Here's my completed script for dWares:

-
// Dialog script file
-@S  // Dialog startup entry point
-return
-@1
-MERCHANT: A fine leather jacket - for  you, just $200!
-EGO: That's a bit expensive, isn't it?
-MERCHANT: Not for this, sir. It's hand-made by my wife.
-EGO: Oh. But no, thank you.
-return
-@2
-MERCHANT: A perfect joke item, the eyeball is just $3.99.
-return
-@3
-MERCHANT: Very well.
-goto-previous
-

As you can see, it's done very similarly to the first one. Notice the use of "return" in the startup entry point, to make sure that it doesn't go on and run the next bit of script straight away.

-

We're almost done! All we've got to do now is add a way for the player to initiate the conversation.

-

Open up the Character editor for the new cMerchant character. Change their "StartingRoom" property to room 1 (i.e. the same as the player character), and position him at, let's say, X:53, Y:144. You can always change this later.

-

Now, still with the Merchant character tab open, go to their Events list. Using your skills from earlier on in this tutorial, add a command to initiate the dialog when the player talks to the Merchant "Talk to Character". Now, we're all set!

-
function cMerchant_Talk()
-{
-    dMerchant.Start();
-}
-
-
-
-

Testing Your Work

-

Now, hit F5, talk to the Merchant, and try out the conversation.

-
-
-

More on conversations

-

You may have noticed the "Show" and "Say" check-boxes in the dialog editors.

-
-

Say Dialog

-

You may have noticed that when the player selects an option in-game, the player character will say the option text. However, there are times when you do not want this to happen, and if you un-tick the "Say" check box for an option, the character will not repeat the text when the player selects it.

-
-
-

Show Dialog

-

The "Show" check box determines whether the option is initially available to the player. If you uncheck it, then that option won't appear to start with. You can enable it later using the option-on dialog script command, or the dDialogName.SetOptionState script command.

-

There is also a dialog script command called option-off, which you can use to stop a particular option from appearing once the character has found out all the vital information. See the manual reference for more.

-
-
-

Sierra-style system dialogs

-

As mentioned earlier, there is a simple way to have Sierra-style dialogs. If there is only one option enabled for a topic, then the game selects it automatically. You can use this to make Sierra-style conversations, because the options will never be shown to the player in this case.

-

Next Chapter: Part 9 - Cursors and Fonts

-
-
-
-
- - - - - -
- - diff --git a/acintro9.html b/acintro9.html deleted file mode 100644 index d990ad4b5..000000000 --- a/acintro9.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - Getting Started with AGS - Part 9 - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Getting Started with AGS - Part 9

-
-

Cursors

-

It's easy to overlook mouse cursors, but they provide the essential interface between the player and the game world. In AGS, each mouse cursor provides a different mode of interaction to the player.

-

List of Mouse Cursors and their modes

-
-

The Cursors list

-

Unlike most of AGS, mouse cursors modes are not generic - that is, AGS has special coded behavior for some of the cursors. This means that you are unable to customize what some of the cursor modes do - let's list these ones briefly:

-
    -
  • Mode 0 (Walk to) - this will always move the player character to the co-ordinates at which the mouse was clicked
  • -
  • Mode 4 (Use inventory) - AGS will only allow this mode to be selected if the player character has an active inventory item, and it will always invoke the "Use inventory" event.
  • -
  • Mode 6 (Pointer) - this is used whenever a normal Windows-style mouse pointer is required. For example, when the user is prompted to select a dialog option; when a popup GUI is displayed, and so forth.
  • -
  • Mode 7 (Wait) - this cursor is shown whenever the player cannot interact with the game world (i.e. during a cutscene). It is automatically shown during blocking script functions.
  • -
-

All the other cursors are 'normal' cursors, in that you can use them for whatever purposes you want.

-

NOTE: If you want to create a LucasArts-style game where the mouse cursor disappears during cutscenes, the easiest way to do it is simply to import a blank image over the Wait mouse cursor.

-

Selecting a cursor node from the Project Tree, you will see that the Cursors editor pane and Properties Grid is fairly self-explanatory.

-
    -
  • Appearance -> Image - Set a graphic for the cursor from the Sprite Manager.
  • -
  • Design -> HotspotX & HotspotY - Set the cursor's hotspot, as we did for inventory items -- OR, click within the image to set the Hotspot, under which the cursor action will be activated when you click with it.
  • -
-

There are a couple of other options you can set for cursors, let's cover them briefly:

-
    -
  • Appearance -> Animate allows you to make an animated mouse cursor. If you check the box, then you need to set the View property to the view that you want to use for the animation (loop 0 of the view will be cycled continuously).
  • -
  • Appearance -> AnimateOnlyOnHotspot to make the cursor only animate while it is over something that the player can interact with.
  • -
  • Appearance -> AnimateOnlyWhenMoving to do a QFG4-style cursor which only animates while the player is moving it around.
  • -
  • Design -> StandardMode tells AGS that this is a normal user-selectable cursor. It is used when cycling through mouse cursors, to determine whether to use the cursor or skip over it. For example, if during the game you disable the current cursor, AGS will change to the next available Standard Mode.
  • -
-

NOTE: You can right-click the "Mouse cursors" tree node and choose "New Cursor" to create additional cursors to the standard 10. If you do so however, any extra cursors you create will not have events created for them, so you will have to handle their clicks using the "Any Click" events.

-
-
-
-

Fonts

-

The empty game template comes with a couple of basic fonts, but you don't have to use them - you can import your own.

-
-

The Font Editor

-

By default, you'll see three fonts are available.

-
    -
  • Font 0 is the standard font used in message boxes,
  • -
  • Font 1 is the speech font, used with LucasArts-style speech, and
  • -
  • Font 2 is an outline font for the speech font.
  • -
-

Outlines are pretty much essential for LucasArts-style speech. Since the text is drawn directly onto the screen and not onto a message box, without an outline it could be very hard to read the text, depending on what color the screen happened to be behind it.

-

There are two ways to do outlines - AGS can do an automatic outline, or you can import a special outline font. They both have advantages:

-
    -
  • Automatic outlining is easy to use - just set the option, and it works with any font.
  • -
  • Using an outline font is faster in the game, since it is just drawn once (whereas automatic outlining has to redraw the line of text 8 times).
  • -
-
-
-

Importing fonts

-

AGS supports both TrueType (TTF) and SCI (Sierra's format) fonts. To overwrite an existing font, simply open up its editor and click the "Import over this font" button. To create a new font slot, right-click the Fonts tree node, and select "New font".

-

The advantage of SCI fonts is that they are significantly faster to render than TTF fonts; but the disadvantage is that they only support 128 characters, which means that they are only useful for English. If you want to support other languages then you'll need to import a TTF font in order for the extended characters such as é, í and ñ to work.

-

Where can you get a SCI font? Well, there are two ways:

-
    -
  • Create your own font and save it in SCI Font format, using Radiant's FontEdit application.
  • -
  • Extract the font from a Sierra game, using the SCI Decoder program available on the internet (note however that this will have copyright implications for your game).
  • -
  • You can get a Sierra SCI Font Pack on the AGS website.
  • -
-

NOTE: If you go to your Windows Fonts folder to try and import a TTF font, you will not be able to do so (double-clicking them will open them up in the Windows Font Viewer). Unfortunately this is down to how the Fonts folder is configured to act within Windows Explorer - you must either type the filename in manually, or copy the font to another folder and import it from there.

-

NOTE: By default, font 0 is used as the normal text font, and font 1 is used as the speech font. To use any additional fonts, the script properties Game.NormalFont and Game.SpeechFont can be used to change the active fonts.

-
-
-
-

Conclusion

-

That's it for the "Getting Started" tutorials. I hope they've helped you to get a grasp of the AGS basics. If there's anything you didn't really understand or that you think should be covered but wasn't, please let us know on the Beginners Technical Forum, so that the tutorials can be improved to explain it better.

-

Now you are ready to learn and play with the Advanced Room Features.

-

Next Reading: Advanced Room Features Section

-

Return to Tutorials Index: Tutorials Index

-
-
-
- - - - - -
- - diff --git a/css/main.css b/css/main.css deleted file mode 100644 index d4d5b022d..000000000 --- a/css/main.css +++ /dev/null @@ -1,578 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */ - src: local('Open Sans Regular'), local('OpenSans-Regular'), - url('../fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ -} - -html, body { - font-family: 'Open Sans', sans-serif; - font-size: 14px; - line-height: 22px; -} - -@media (max-width: 767px) { - html, body { - padding: 0 10px; - } -} -* {box-sizing: border-box;} - -.notransition { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - transition: none !important; -} - -body { - /* light theme */ - --text-color: #222222; - --text-color-a: #006ab1; - --text-color-code: #000; - --text-color-code-a: #e96d00; - --text-color-pre-code: #1e1e1e; - --text-color-bold: #222222; - --text-color-title: #222222; - --bkg-color: #ffffff; - --bkg-color-pre: #f5f6f8; - --border-color-header-ul: #2a7fff; - --text-color-footer: #cdcdcd; - --border-color: #e3e3e3; - --text-color-control: #000; - --bkg-color-control: #fff; - --toggle-color: #2a7fff; - - --code-color: #37474f; - --code-comments-color: #8c8c8c; - --code-constant-color: #880000; - --code-keywords-color: #0b47d7; - --code-numbers-color: #c5221f; - --code-strings-color: #188038; - --code-types-color: #8d2cf3; - --code-preprocessor-color: #599b34; - --code-preprocessor-background: #e9f2e3; -} -body.dark-theme { - --text-color: #a5b3ca; - --text-color-a: #73cbff; - --text-color-code: #fff; - --text-color-code-a: #e8ce99; - --text-color-pre-code: #e6e7ea; - --text-color-bold: #e5e7ec; - --text-color-title: #e5e7ec; - --bkg-color: #0f1c2a; - --bkg-color-pre: #252f40; - --border-color-header-ul: #2a7fff; - --text-color-footer: #404346; - --border-color: #2d3442; - --text-color-control: #fff; - --bkg-color-control: #444e60; - --toggle-color: #fb0; - - --code-color: #fff; - --code-comments-color: #b6bbbd; - --code-constant-color: #d95638; - --code-keywords-color: #78d1ec; - --code-numbers-color: #f2605e; - --code-strings-color: #a2d568; - --code-types-color: #f8a8ff; - --code-preprocessor-color: #68d959; - --code-preprocessor-background: #252f40; -} -.dark-theme mark { background: #7f0080; color: #fff;} - -body { - background: var(--bkg-color); -} - -h1, h2, h3, h4, h5, -p { - color: var(--text-color); -} - -h1, h2, h3 { - font-weight: lighter; - /*! font-size: 1.6em; */ - color: var(--text-color-title); -} -h2 {font-size: 1.75rem;} -h3 {font-size: 1.5rem;} - -img { - max-width: 100%; -} - -ul { - padding-left: 1.5rem; -} - -li::marker { - color: var(--text-color); -} - -li { - color: var(--text-color); -} - -code { - color: var(--text-color-code); - background: var(--bkg-color-pre); - padding: 1px 5px; - border-radius: 3px; -} -a code { - color: var(--text-color-code-a); -} - -pre { - background-color: var(--bkg-color-pre); - color: var(--text-color); - border-radius: 2px; - padding: 20px 20px; - white-space: pre-wrap; -} - -pre code { - color: var(--text-color-pre-code); - padding: 0; - background: transparent; -} - -a { - color: var(--text-color-a); - text-decoration: none; -} - -h1 a, h2 a, h3 a { - color: var(--text-color-title); -} - -h1 code a, h2 code a, h3 code a { - color: var(--text-color-code); -} - -a:hover { - text-decoration: underline; -} - -strong { - color: var(--text-color-bold); -} - -hr { - border: 0; - border-top: 1px solid var(--border-color); - margin: 2rem 0; -} - -table { - border-spacing: 0; - text-align: left; - width: 100%; - color: var(--text-color); - font-size: 0.9em; -} - -td { - border-top-color: var(--text-color); - border-top: 1px solid; - border-color: var(--border-color); - padding:5px; -} - -th { - border-bottom: 1px solid; - border-bottom-color: var(--text-color); - padding:5px; -} - -header { - grid-area: header; - text-align: right; -} -@media (min-width:768px) { - header, footer { padding: 0 20px; } -} - -header input { - margin-left: auto -} - -header ul { - border-color: var(--border-color-header-ul); - border-style: none; - list-style-position: inside; - padding: 0; - margin: 0; - max-height: calc(100vh - 70px); - overflow-Y: auto; -} - -header ul:not(:empty) { - border-style: solid; -} - -header input { - margin: 20px 0 0 0; -} -.search-box { - border: 1px solid var(--border-color); - display: inline-block; - margin-top:20px; - background: var(--bkg-color-control); - display: inline-flex; - color: var(--text-color-control); - border-radius: 2px; -} -.search-box > input { - border:0; margin:0; padding-left:6px; - background: var(--bkg-color-control); - color: var(--text-color-control); -} -.search-box .toggle-icon {color: var(--text-color-control);} - -footer { - color: var(--text-color-footer); - text-align: right; - grid-area: footer; -} - -footer a { - color: var(--text-color-footer); -} - -footer p { - color: var(--text-color-footer); -} - -nav { - grid-area: nav; - padding-top: 20px; - padding: 20px 0 20px 20px; - font-size:0.9em; -} -@media (min-width:768px) { - nav { - position: sticky; - top: 0; - overflow-y: auto; - min-width: 300px; - height: 100vh; - border-right: 1px solid var(--border-color); - /*! background: rgba(0, 136, 255, 0.03); */ - } -} - -nav ul { - padding-left: 20px; - list-style: none; - /*! margin: 0 0 0 15px; */ - padding: 0; -} -nav > ul { - margin-left: 0px; -} - -nav > ul > li > a{ - font-weight: 600; -} - - - -nav ul li { - padding: 2px 0; -} -nav ul li a { - color: var(--text-color); -} -nav ul li.active { - color: #42c5f9; - border-right: 3px solid; - background: rgba(66, 197, 249, 0.09); -} - -nav ul li ul li { - padding-left: 15px; -} - -nav h1 { - font-size: 14pt; - margin: 0; -} -nav h1 a { - display: flex; - align-items:center; - gap:20px; -} - -nav code { - color: var(--text-color-a); -} - -main { - grid-area: content; -} -@media (min-width:768px) { - main { - padding-left: 30px; - padding-right: 20px; - } -} - -main > section { - margin: 0 auto; - display: block; -} -main h2, main h3 { - /*margin-top:1.75em;*/ - position: relative; - -} -main h2:hover:before, -main h3:hover:before { - position:absolute; - left: -16px; - content: "#"; - color: var(--text-color-code); - font-size: 0.8em; - -} - -.container { - display: grid; - grid-template-areas: - "header" - "nav" - "content" - "footer"; - max-width: 1280px; - margin: auto; -} - -@media (min-width: 768px) { - .container { - grid-template-areas: - "nav header" - "nav content" - "nav footer"; - grid-template-columns: 1fr 3fr; - grid-template-rows: min-content 0fr; - } -} - -.search-match { - padding: 4px; - text-align: left; - list-style: none; - border-bottom: 1px solid var(--border-color) -} - -.search-nomatch { - list-style: none; - padding: 4px; -} - -/* toggle */ -.toggle-icon { - display: inline-flex; - vertical-align: middle; - height: 24px; - width: 24px; - margin: 2px; - cursor: pointer; - text-align: center; - color: var(--text-color); - align-items: center; - user-select: none; -} -.toggle-icon input{ - position: absolute; - opacity: 0; - height: 0; - width: 0; -} -.toggle-icon input:checked ~ * { - color: var(--toggle-color); -} - -/* search results */ -header li { - min-width:100%; - display: grid; - grid-template-columns: max-content 1fr; - width: fit-content; -} -.labels { - padding: 0 5px; - height: 1.5em; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - text-align: right -} -.labels .label { - display: inline-block; - margin:1px; - font-size:0.8em; - padding: 0 4px; - font-style: italic; -} -.labels .label-count { - display: inline; - padding: 0 4px; margin-left:4px; - background: var(--bkg-color-pre); - color: var(--text-color); - font-style: normal; - border-radius: 4px; - font-size:0.8em; -} - - -/* Notification boxes */ -.block-info { - border-left: 4px solid #a47bff; - background: rgba(140, 66, 249, 0.15); - padding: 1rem 1.25rem; -} -.block-info > strong:first-child:before{ - content: "\1d456"; - font-size: 16px; - line-height: 18px; - margin-right:6px; - display:inline-block; - text-align: center; - width: 18px; height:18px; - background:#a47bff; - color: var(--bkg-color); - border-radius: 20px; -} -.block-info > strong:first-child { - color: #a47bff; -} - -.block-warning { - border-left: 4px solid #f2b134; - background: rgba(249, 212, 66, 0.15); - padding: 1rem 1.25rem; -} -.block-warning > strong:first-child:before{ - content: "!"; - font-size: 1.0em; - font-weight:bold; - line-height: 17px; - margin-right:6px; - display:inline-block; - text-align: center; - width: 18px; height:18px; - background:#f2b134; - color: var(--bkg-color); - border-radius: 20px; -} -.block-warning > strong:first-child { - color: #f2b134; -} - -.block-tip { - border-left: 4px solid #3eb04b; - background: rgba(62, 176, 75, 0.15); - padding: 1rem 1.25rem; -} -.block-tip > strong:first-child:before{ - color: #3eb04b; - content: "?"; - font-size: 1.0em; - line-height: 18px; - margin-right:6px; - display:inline-block; - text-align: center; - width: 18px; height:18px; - background:#3eb04b; - color: var(--bkg-color); - border-radius: 20px; -} -.block-tip > strong:first-child { - color: #3eb04b; -} -.block-info > strong:first-child, -.block-warning > strong:first-child, -.block-tip > strong:first-child { - margin-right: 6px; - display:block; - margin-bottom: 4px; -} - -/* code highlighting */ -main {min-width:0;} /* trick to avoid code blocks expanding main area */ -pre > code.sourceCode { white-space: pre; position: relative; } -pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } -pre > code.sourceCode > span:empty { height: 1.2em; } -.sourceCode { overflow: visible; background: var(--bkg-color-pre);} -code.sourceCode > span { color: var(--code-color); text-decoration: inherit; } -div.sourceCode { margin: 1em 0; } -pre.sourceCode { margin: 0; } -@media screen { -div.sourceCode { overflow: auto;} -} -@media print { -pre > code.sourceCode { white-space: pre-wrap; } -pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } -} -pre.numberSource code - { counter-reset: source-line 0; } -pre.numberSource code > span - { position: relative; left: -4em; counter-increment: source-line; } -pre.numberSource code > span > a:first-child::before - { content: counter(source-line); - position: relative; left: -1em; text-align: right; vertical-align: baseline; - border: none; display: inline-block; - -webkit-touch-callout: none; -webkit-user-select: none; - -khtml-user-select: none; -moz-user-select: none; - -ms-user-select: none; user-select: none; - padding: 0 4px; width: 4em; - color: #aaaaaa; - } -pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } -div.sourceCode { } -@media screen { -pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } -} - -code span.at { color: var(--code-color); } /* Attribute */ -code span.bn { color: var(--code-numbers-color); } /* BaseN */ -code span.bu { color: var(--code-types-color); } /* BuiltIn */ -code span.cf { color: var(--code-keywords-color); } /* ControlFlow */ -code span.cn { color: var(--code-constant-color); } /* Constant */ -code span.co { color: var(--code-comments-color); } /* Comment */ -code span.cv { color: var(--code-comments-color); font-weight: bold; font-style: italic; } /* CommentVar */ -code span.do { color: var(--code-comments-color); font-style: italic; } /* Documentation */ -code span.dt { color: var(--code-keywords-color); } /* DataType */ -code span.dv { color: var(--code-numbers-color); } /* DecVal */ -code span.fl { color: var(--code-numbers-color); } /* Float */ -code span.fu { color: var(--code-color); } /* Function */ -code span.kw { color: var(--code-keywords-color); } /* Keyword */ -code span.op { color: var(--code-color); } /* Operator */ - -code span.pp { color: var(--code-preprocessor-color); background-color: var(--code-preprocessor-background);} /* Preprocessor */ -code span.sc { color: var(--code-strings-color); } /* SpecialChar */ -code span.ss { color: var(--code-strings-color); } /* SpecialString */ -code span.ch { color: var(--code-strings-color); } /* Char */ -code span.st { color: var(--code-strings-color); } /* String */ -code span.vs { color: var(--code-strings-color); } /* VerbatimString */ - -code span.im { color: var(--code-color); } /* Import */ -code span.va { color: var(--code-color); } /* Variable */ -code span.ot { color: var(--code-color); } /* Other */ - -code span.al { color: #ff0000; font-weight: bold; } /* Alert */ -code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ -code span.in { color: #60a0b0; font-style: italic; } /* Information */ -code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ -code span.er { color: #ff0000; font-weight: bold; } /* Error */ -code span.ex { } /* Extension */ diff --git a/css/normalize.css b/css/normalize.css deleted file mode 100644 index 192eb9ce4..000000000 --- a/css/normalize.css +++ /dev/null @@ -1,349 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ - -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ - -/** - * Remove the margin in all browsers. - */ - -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ - -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Remove the gray background on active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ - -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove the border on images inside links in IE 10. - */ - -img { - border-style: none; -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ - -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} diff --git a/fonts/open-sans-v17-latin-regular.eot b/fonts/open-sans-v17-latin-regular.eot deleted file mode 100644 index 8f3becf66..000000000 Binary files a/fonts/open-sans-v17-latin-regular.eot and /dev/null differ diff --git a/fonts/open-sans-v17-latin-regular.svg b/fonts/open-sans-v17-latin-regular.svg deleted file mode 100644 index 78eb653a7..000000000 --- a/fonts/open-sans-v17-latin-regular.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fonts/open-sans-v17-latin-regular.ttf b/fonts/open-sans-v17-latin-regular.ttf deleted file mode 100644 index fb23764c1..000000000 Binary files a/fonts/open-sans-v17-latin-regular.ttf and /dev/null differ diff --git a/fonts/open-sans-v17-latin-regular.woff b/fonts/open-sans-v17-latin-regular.woff deleted file mode 100644 index 39e88ed92..000000000 Binary files a/fonts/open-sans-v17-latin-regular.woff and /dev/null differ diff --git a/fonts/open-sans-v17-latin-regular.woff2 b/fonts/open-sans-v17-latin-regular.woff2 deleted file mode 100644 index e9f58b775..000000000 Binary files a/fonts/open-sans-v17-latin-regular.woff2 and /dev/null differ diff --git a/genindex.html b/genindex.html deleted file mode 100644 index e2d117386..000000000 --- a/genindex.html +++ /dev/null @@ -1,1711 +0,0 @@ - - - - - - - - - - - - - - -
-
- - - - - - - - - - -
- - - -
-A  -B  -C  -D  -E  -F  -G  -H  -I  -K  -L  -M  -N  -O  -P  -Q  -R  -S  -T  -U  -V  -W  -Y -

A

-AbortGame
-Access with extender functions (Object Oriented Programming)
-Adding some interaction (Getting Started with AGS - Part 3)
-Additional Characters (Getting Started with AGS - Part 8)
-Additional considerations (System limits)
-Additional options (Translations)
-Advanced graphics options (Run-time engine setup)
-Advanced Help (Translations)
-Advanced room features
-AGS_EditorLoadGame (Engine Plugin Design-time API)
-AGS_EditorProperties (Engine Plugin Design-time API)
-AGS_EditorSaveGame (Engine Plugin Design-time API)
-AGS_EditorShutdown (Engine Plugin Design-time API)
-AGS_EditorStartup (Engine Plugin Design-time API)
-AGS_EngineDebugHook (Engine Plugin Run-time API)
-AGS_EngineInitGfx (Engine Plugin Run-time API)
-AGS_EngineOnEvent (Engine Plugin Run-time API)
-AGS_EngineShutdown (Engine Plugin Run-time API)
-AGS_EngineStartup (Engine Plugin Run-time API)
-AGS_GetPluginName (Engine Plugin Design-time API)
-AGS_PluginV2 (Engine Plugin Design-time API)
-Alignment
-Alpha blended sprites (Sprite Manager)
-An issue of dynamic objects (Game saves compatibility)
-AND Expressions (Scripting Tutorial - Part 2)
-Android (Editor Preferences)
-Android (General settings)
-Android App icons (Building for Android)
-Animating background scenes (Advanced room features)
-Animations (Getting Started with AGS - Part 7)
-Animations (Setting up the game)
-Anonymous usage information
-API switches (Script API Overview)
-AreThingsOverlapping
-Arrays (Script language keywords)
-Audio (Default Setup)
-Audio in script
-Audio in the Editor (Music and sound)
-AudioChannel
-AudioChannel.ID
-AudioChannel.IsPaused
-AudioChannel.IsPlaying
-AudioChannel.LengthMs
-AudioChannel.Panning
-AudioChannel.Pause
-AudioChannel.PlayingClip
-AudioChannel.Position
-AudioChannel.PositionMs
-AudioChannel.Resume
-AudioChannel.Seek
-AudioChannel.SeekMs
-AudioChannel.SetRoomLocation
-AudioChannel.Speed
-AudioChannel.Stop
-AudioChannel.Volume
-AudioClip
-AudioClip.FileType
-AudioClip.GetByName
-AudioClip.ID
-AudioClip.IsAvailable
-AudioClip.Play
-AudioClip.PlayFrom
-AudioClip.PlayOnChannel
-AudioClip.PlayQueued
-AudioClip.ScriptName
-AudioClip.Stop
-AudioClip.Type
-AudioFileType
-AudioPriority
-Auto-number speech files
-

B

-Back to the events (Getting Started with AGS - Part 4)
-Background (Room Editor)
-Backing up your game
-Backwards compatibility (General settings)
-Basic properties (General settings)
-BASS template
-BlockingStyle
-break (Script language keywords)
-Building for Android
-Building the App (Building for Android)
-Button
-Button.Animate
-Button.Animating
-Button.Click
-Button.ClipImage
-Button.Font
-Button.Frame
-Button.Graphic
-Button.Loop
-Button.MouseOverGraphic
-Button.NormalGraphic
-Button.PushedGraphic
-Button.Text
-Button.TextAlignment
-Button.TextColor
-Button.View
-

C

-CallRoomScript
-Camera
-Camera.AutoTracking
-Camera.Create
-Camera.Delete
-Camera.Height
-Camera.SetAt
-Camera.SetSize
-Camera.Width
-Camera.X
-Camera.Y
-CDAudio
-Changes in the game project that break saves (Game saves compatibility)
-Changes that DON'T break saves and ARE SAFE (Game saves compatibility)
-Changes that DON'T break saves but are NOT SAFE (Game saves compatibility)
-Changes to key input handling (Upgrading to AGS 3.6)
-Character
-Character Editor
-Character events (Event Types)
-Character movement (General settings)
-Character scaling (Advanced room features)
-Character.ActiveInventory
-Character.AddInventory
-Character.AddWaypoint
-Character.Animate
-Character.Animating
-Character.AnimationSpeed
-Character.AnimationVolume
-Character.Baseline
-Character.BlinkInterval
-Character.BlinkView
-Character.BlinkWhileThinking
-Character.BlockingHeight
-Character.BlockingWidth
-Character.ChangeRoom
-Character.ChangeRoomAutoPosition
-Character.ChangeView
-Character.Clickable
-Character.DestinationX
-Character.DestinationY
-Character.DiagonalLoops
-Character.FaceCharacter
-Character.FaceDirection
-Character.FaceLocation
-Character.FaceObject
-Character.FollowCharacter
-Character.Frame
-Character.GetAtRoomXY
-Character.GetAtScreenXY
-Character.GetByName
-Character.GetProperty
-Character.GetTextProperty
-Character.HasExplicitLight
-Character.HasExplicitTint
-Character.HasInventory
-Character.ID
-Character.IdleAnimationDelay
-Character.IdleView
-Character.IgnoreLighting
-Character.IgnoreWalkbehinds
-Character.InventoryQuantity
-Character.IsCollidingWithChar
-Character.IsCollidingWithObject
-Character.IsInteractionAvailable
-Character.LightLevel
-Character.LockView
-Character.LockViewAligned
-Character.LockViewFrame
-Character.LockViewOffset
-Character.Loop
-Character.LoseInventory
-Character.ManualScaling
-Character.Move
-Character.MovementLinkedToAnimation
-Character.Moving
-Character.Name
-Character.NormalView
-Character.on
-Character.PlaceOnWalkableArea
-Character.PreviousRoom
-Character.RemoveTint
-Character.Room
-Character.RunInteraction
-Character.Say
-Character.SayAt
-Character.SayBackground
-Character.ScaleMoveSpeed
-Character.ScaleVolume
-Character.Scaling
-Character.ScriptName
-Character.SetAsPlayer
-Character.SetIdleView
-Character.SetLightLevel
-Character.SetProperty
-Character.SetTextProperty
-Character.SetWalkSpeed
-Character.Solid
-Character.Speaking
-Character.SpeakingFrame
-Character.SpeechAnimationDelay
-Character.SpeechColor
-Character.SpeechView
-Character.StopMoving
-Character.Think
-Character.Thinking
-Character.ThinkingFrame
-Character.ThinkView
-Character.Tint
-Character.TintBlue
-Character.TintGreen
-Character.TintLuminance
-Character.TintRed
-Character.TintSaturation
-Character.Transparency
-Character.TurnBeforeWalking
-Character.UnlockView
-Character.View
-Character.Walk
-Character.WalkSpeedX
-Character.WalkSpeedY
-Character.WalkStraight
-Character.x
-Character.y
-Character.z
-CharacterDirection
-Characters (Getting Started with AGS - Part 7)
-Characters (Room Editor)
-Characters (Setting up the game)
-ClaimEvent
-Color choices (Getting Started with AGS)
-Colours Editor
-Command line (The run-time engine)
-Command Sequences (Scripting Tutorial - Part 1)
-Commands Explained (Scripting Tutorial - Part 1)
-Common Shortcuts (Scripting Tutorial - Part 1)
-Compile Flag (Editor Command Line Options)
-Compiled folder structure (Distributing your game)
-Compiled game contents (Distributing your game)
-Compiler (General settings)
-Components (Editor Plugins)
-Conclusion (Getting Started with AGS - Part 9)
-Conclusion (Scripting Tutorial - Part 2)
-Configuration file locations (Engine Config File)
-Configuration file options (Engine Config File)
-Configuring the AGS Editor for Android Build (Building for Android)
-Constants
-Contacting the developers
-continue (Script language keywords)
-Controls (Room Editor)
-Conversations (Getting Started with AGS - Part 8)
-Conversations (Setting up the game)
-Copyright and terms of use
-Creating a 16-bit or 32-bit color game (Getting Started with AGS)
-Creating a 256-color game (Getting Started with AGS)
-Creating a plugin with Visual C# (Editor Plugins)
-Creating Plugins (Plugins)
-Creating the game (Getting Started with AGS)
-Creating your first room (Getting Started with AGS - Part 2)
-Creating your own template (New Game templates)
-Credits
-Current room information (Debugging features)
-Cursor Editor
-Cursor Image (Inventory Items Editor)
-CursorMode
-Cursors (Getting Started with AGS - Part 9)
-Cursors (Setting up the game)
-Custom dialog options rendering
-Custom icon (Distributing your game)
-Custom inventory (GUI Editor)
-Custom Properties
-Custom Say function in Dialogs (Upgrading to AGS 3.5)
-Customized Text Windows (GUI Editor)
-Customizing game data (Distributing your game)
-Cutscenes (Getting Started with AGS - Part 7)
-CutsceneSkipType
-CyclePalette
-

D

-Data types (Script language keywords)
-DateTime
-DateTime.DayOfMonth
-DateTime.Hour
-DateTime.Minute
-DateTime.Month
-DateTime.Now
-DateTime.RawTime
-DateTime.Second
-DateTime.Year
-Debug
-Debug Log (Editor Preferences)
-Debugging features
-Default Setup
-define (Preprocessor)
-Defining attributes (Object Oriented Programming)
-DeleteSaveSlot
-Deleting dynamic array (Dynamic Arrays)
-Deprecated / replaced script functions (Upgrading to AGS 3.6)
-Deprecated commands (Preprocessor)
-Deprecated relative asset resolutions (Upgrading to AGS 3.5)
-Description (Inventory Items Editor)
-Design-time events (Engine Plugin Design-time API)
-Dialog
-Dialog (General settings)
-Dialog commands (Dialog Script)
-Dialog Editor
-Dialog Script
-Dialog.DisplayOptions
-Dialog.GetByName
-Dialog.GetOptionState
-Dialog.GetOptionText
-Dialog.HasOptionBeenChosen
-Dialog.ID
-Dialog.OptionCount
-Dialog.ScriptName
-Dialog.SetHasOptionBeenChosen
-Dialog.SetOptionState
-Dialog.ShowTextParser
-Dialog.Start
-DialogOptionSayStyle
-DialogOptionsRenderingInfo
-DialogOptionsRenderingInfo.ActiveOptionID
-DialogOptionsRenderingInfo.DialogToRender
-DialogOptionsRenderingInfo.HasAlphaChannel
-DialogOptionsRenderingInfo.Height
-DialogOptionsRenderingInfo.ParserTextBoxWidth
-DialogOptionsRenderingInfo.ParserTextBoxX
-DialogOptionsRenderingInfo.ParserTextBoxY
-DialogOptionsRenderingInfo.RunActiveOption
-DialogOptionsRenderingInfo.Surface
-DialogOptionsRenderingInfo.Update
-DialogOptionsRenderingInfo.Width
-DialogOptionsRenderingInfo.X
-DialogOptionsRenderingInfo.Y
-DialogOptionState
-Dialogs (Getting Started with AGS - Part 8)
-dialog_options_close
-dialog_options_get_active
-dialog_options_get_dimensions
-dialog_options_key_press
-dialog_options_mouse_click
-dialog_options_render
-dialog_options_repexec
-dialog_options_text_input
-dialog_request
-Dictionary
-Dictionary.Clear
-Dictionary.CompareStyle
-Dictionary.Contains
-Dictionary.Create
-Dictionary.Get
-Dictionary.GetKeysAsArray
-Dictionary.GetValuesAsArray
-Dictionary.ItemCount
-Dictionary.Remove
-Dictionary.Set
-Dictionary.SortStyle
-Direction
-Disabled automatic SetRestartPoint (Upgrading to AGS 3.6.1)
-DisableGroundLevelAreas
-DisableInterface
-Discontinued features (Upgrading to AGS 3.6)
-Discontinued Source control integration (Upgrading to AGS 3.6.1)
-Display
-DisplayAt
-DisplayAtY
-DisplayMessage
-DisplayMessageAtY
-DisplayTopBar
-Distributing your game
-DllMain (Engine Plugin Design-time API)
-do..while (Script language keywords)
-Doing one thing or another (Scripting Tutorial - Part 2)
-DrawingSurface
-DrawingSurface.Clear
-DrawingSurface.CreateCopy
-DrawingSurface.DrawCircle
-DrawingSurface.DrawImage
-DrawingSurface.DrawingColor
-DrawingSurface.DrawLine
-DrawingSurface.DrawMessageWrapped
-DrawingSurface.DrawPixel
-DrawingSurface.DrawRectangle
-DrawingSurface.DrawString
-DrawingSurface.DrawStringWrapped
-DrawingSurface.DrawSurface
-DrawingSurface.DrawTriangle
-DrawingSurface.GetPixel
-DrawingSurface.Height
-DrawingSurface.Release
-DrawingSurface.UseHighResCoordinates
-DrawingSurface.Width
-Dynamic Arrays
-DynamicSprite
-DynamicSprite.ChangeCanvasSize
-DynamicSprite.ColorDepth
-DynamicSprite.CopyTransparencyMask
-DynamicSprite.Create
-DynamicSprite.CreateFromBackground
-DynamicSprite.CreateFromDrawingSurface
-DynamicSprite.CreateFromExistingSprite
-DynamicSprite.CreateFromFile
-DynamicSprite.CreateFromSaveGame
-DynamicSprite.CreateFromScreenShot
-DynamicSprite.Crop
-DynamicSprite.Delete
-DynamicSprite.Flip
-DynamicSprite.GetDrawingSurface
-DynamicSprite.Graphic
-DynamicSprite.Height
-DynamicSprite.Resize
-DynamicSprite.Rotate
-DynamicSprite.SaveToFile
-DynamicSprite.Tint
-DynamicSprite.Width
-

E

-eCDAudioFunction
-Edges (Room Editor)
-Edges revisited (Getting Started with AGS - Part 3)
-Edit this room's control (Room Editor)
-Editor Appearance (Editor Preferences)
-Editor Command Line Options
-Editor Plugins
-Editor Preferences
-Editor Tutorial
-eFlipDirection
-EnableGroundLevelAreas
-EnableInterface
-EndCutscene
-Engine Config File
-Engine Plugin Design-time API
-Engine Plugin Run-time API
-Engine Plugins
-Engine Plugins and other platforms (Plugins)
-enum (Script language keywords)
-Environment (Default Setup)
-eOperatingSystem
-error (Preprocessor)
-eSpeechStyle
-Event Types
-EventType
-eVoiceMode
-Example A. Classic mouse controls (Custom dialog options rendering)
-Example B. Keyboard controls (Custom dialog options rendering)
-Exit Extensions (Tumbleweed)
-Expanded interaction callbacks (Upgrading to AGS 3.6.1)
-export (Script language keywords)
-Exporting and importing a function (Importing functions and variables in other scripts)
-Exporting and importing a variable (Importing functions and variables in other scripts)
-Extender functions
-

F

-FadeIn
-FadeOut
-File
-File formats (Music and sound)
-File.Close
-File.Delete
-File.EOF
-File.Error
-File.Exists
-File.Open
-File.Path
-File.Position
-File.ReadInt
-File.ReadRawChar
-File.ReadRawInt
-File.ReadRawLineBack
-File.ReadStringBack
-File.ResolvePath
-File.Seek
-File.WriteInt
-File.WriteRawChar
-File.WriteRawInt
-File.WriteRawLine
-File.WriteString
-FileMode
-FileSeek
-Filling a dynamic array (Dynamic Arrays)
-FlipScreen
-FloatToInt
-Font Preview
-Fonts (Getting Started with AGS - Part 9)
-Fonts (Setting up the game)
-Fonts (Unicode Support)
-FontType
-for (Script language keywords)
-Frequently Asked Questions
-function (Script language keywords)
-Functions that return a value (Scripting Tutorial - Part 1)
-

G

-Game
-Game events order
-Game Resolution (Getting Started with AGS)
-Game saves compatibility
-Game starting point (Getting Started with AGS - Part 7)
-Game variables
-Game.AudioClipCount
-Game.AudioClips
-Game.BlockingWaitSkipped
-Game.Camera
-Game.CameraCount
-Game.Cameras
-Game.ChangeSpeechVox
-Game.ChangeTranslation
-Game.CharacterCount
-Game.DialogCount
-Game.DoOnceOnly
-Game.FileName
-Game.FontCount
-Game.GetColorFromRGB
-Game.GetFrameCountForLoop
-Game.GetLocationName
-Game.GetLoopCountForView
-Game.GetRunNextSettingForLoop
-Game.GetSaveSlotDescription
-Game.GetViewFrame
-Game.GlobalMessages
-Game.GlobalStrings
-Game.GUICount
-Game.IgnoreUserInputAfterTextTimeoutMs
-Game.InputBox
-Game.InSkippableCutscene
-Game.InventoryItemCount
-Game.IsAudioPlaying
-Game.IsPluginLoaded
-Game.MinimumTextDisplayTimeMs
-Game.MouseCursorCount
-Game.Name
-Game.NormalFont
-Game.PlayVoiceClip
-Game.PrecacheSprite
-Game.PrecacheView
-Game.ResetDoOnceOnly
-Game.SetAudioTypeSpeechVolumeDrop
-Game.SetAudioTypeVolume
-Game.SetSaveGameDirectory
-Game.SimulateKeyPress
-Game.SkippingCutscene
-Game.SpeechFont
-Game.SpeechVoxFilename
-Game.SpriteHeight
-Game.SpriteWidth
-Game.StopAudio
-Game.TextReadingSpeed
-Game.TranslationFilename
-Game.UseNativeCoordinates
-Game.ViewCount
-Gameplay (Default Setup)
-Gameplay settings (Run-time engine setup)
-game_start
-General settings
-GetBackgroundFrame
-GetDrawingSurfaceForWalkableArea
-GetDrawingSurfaceForWalkbehind
-GetFontHeight
-GetFontLineSpacing
-GetGameOption
-GetGameParameter
-GetGameSpeed
-GetGlobalInt
-GetGraphicalVariable
-GetLocationType
-GetPlayerCharacter
-GetScalingAt
-GetTextHeight
-GetTextWidth
-Getting Started with AGS
-Getting Started with AGS - Part 2
-Getting Started with AGS - Part 3
-Getting Started with AGS - Part 4
-Getting Started with AGS - Part 5
-Getting Started with AGS - Part 6
-Getting Started with AGS - Part 7
-Getting Started with AGS - Part 8
-Getting Started with AGS - Part 9
-GetTranslation
-GetViewportX
-GetViewportY
-GetWalkableAreaAt
-GetWalkableAreaAtRoom
-GetWalkableAreaAtScreen
-GiveScore
-Global Arrays
-Global event handlers
-Global functions (general section)
-Global functions (Message Display)
-Global functions (Palette Operations)
-Global functions (room actions)
-Global functions (Screen Effects)
-Global functions (Wait)
-Global variables
-Graphics (Default Setup)
-Graphics driver selection
-Graphics settings (Run-time engine setup)
-GUI
-GUI buttons (GUI Editor)
-GUI Editor
-GUI.AsTextWindow
-GUI.BackgroundColor
-GUI.BackgroundGraphic
-GUI.BorderColor
-GUI.Centre
-GUI.Click
-GUI.Clickable
-GUI.ControlCount
-GUI.Controls
-GUI.GetAtScreenXY
-GUI.GetByName
-GUI.Height
-GUI.ID
-GUI.PopupStyle
-GUI.PopupYPos
-GUI.ProcessClick
-GUI.ScriptName
-GUI.SetPosition
-GUI.SetSize
-GUI.Shown
-GUI.Transparency
-GUI.Visible
-GUI.Width
-GUI.X
-GUI.Y
-GUI.ZOrder
-GUIControl
-GUIControl.AsType
-GUIControl.BringToFront
-GUIControl.Clickable
-GUIControl.Enabled
-GUIControl.GetAtScreenXY
-GUIControl.GetByName
-GUIControl.Height
-GUIControl.ID
-GUIControl.OwningGUI
-GUIControl.ScriptName
-GUIControl.SendToBack
-GUIControl.SetPosition
-GUIControl.SetSize
-GUIControl.Transparency
-GUIControl.Visible
-GUIControl.Width
-GUIControl.X
-GUIControl.Y
-GUIControl.ZOrder
-GUIPopupStyle
-

H

-HasPlayerBeenInRoom
-HorizontalAlignment
-Hotspot
-Hotspot events (Event Types)
-Hotspot.Enabled
-Hotspot.GetAtRoomXY
-Hotspot.GetAtScreenXY
-Hotspot.GetByName
-Hotspot.GetDrawingSurface
-Hotspot.GetProperty
-Hotspot.GetTextProperty
-Hotspot.ID
-Hotspot.IsInteractionAvailable
-Hotspot.Name
-Hotspot.RunInteraction
-Hotspot.ScriptName
-Hotspot.SetProperty
-Hotspot.SetTextProperty
-Hotspot.WalkToX
-Hotspot.WalkToY
-Hotspots (Getting Started with AGS - Part 3)
-HotspotX (Inventory Items Editor)
-HotspotY (Inventory Items Editor)
-How do I clean my AGS editor files of "alternate data streams"? (Troubleshooting Windows Zone Identifier)
-How the engine finds the game data (The run-time engine)
-How to configure Timidity (MIDI playback)
-

I

-IAGSEditor.GetEditorHandle (Engine Plugin Design-time API)
-IAGSEditor.GetWindowHandle (Engine Plugin Design-time API)
-IAGSEditor.RegisterScriptHeader (Engine Plugin Design-time API)
-IAGSEditor.UnregisterScriptHeader (Engine Plugin Design-time API)
-IAGSEditor.version (Engine Plugin Design-time API)
-IAGSEngine event AGSE_ENTERROOM (Engine Plugin Run-time API)
-IAGSEngine event AGSE_FINALSCREENDRAW (Engine Plugin Run-time API)
-IAGSEngine event AGSE_KEYPRESS (Engine Plugin Run-time API)
-IAGSEngine event AGSE_LEAVEROOM (Engine Plugin Run-time API)
-IAGSEngine event AGSE_MOUSECLICK (Engine Plugin Run-time API)
-IAGSEngine event AGSE_POSTRESTOREGAME (Engine Plugin Run-time API)
-IAGSEngine event AGSE_POSTROOMDRAW (Engine Plugin Run-time API)
-IAGSEngine event AGSE_POSTSCREENDRAW (Engine Plugin Run-time API)
-IAGSEngine event AGSE_PREGUIDRAW (Engine Plugin Run-time API)
-IAGSEngine event AGSE_PRERENDER (Engine Plugin Run-time API)
-IAGSEngine event AGSE_PRESAVEGAME (Engine Plugin Run-time API)
-IAGSEngine event AGSE_PRESCREENDRAW (Engine Plugin Run-time API)
-IAGSEngine event AGSE_RESTOREGAME (Engine Plugin Run-time API)
-IAGSEngine event AGSE_SAVEGAME (Engine Plugin Run-time API)
-IAGSEngine event AGSE_SCRIPTDEBUG (Engine Plugin Run-time API)
-IAGSEngine event AGSE_SPRITELOAD (Engine Plugin Run-time API)
-IAGSEngine event AGSE_TRANSITIONIN (Engine Plugin Run-time API)
-IAGSEngine event AGSE_TRANSITIONOUT (Engine Plugin Run-time API)
-IAGSEngine event AGSE_TRANSLATETEXT (Engine Plugin Run-time API)
-IAGSEngine.AbortGame (Engine Plugin Run-time API)
-IAGSEngine.AddManagedObjectReader (Engine Plugin Run-time API)
-IAGSEngine.BlitBitmap (Engine Plugin Run-time API)
-IAGSEngine.BlitSpriteRotated (Engine Plugin Run-time API)
-IAGSEngine.BlitSpriteTranslucent (Engine Plugin Run-time API)
-IAGSEngine.BreakIntoDebugger (Engine Plugin Run-time API)
-IAGSEngine.CallGameScriptFunction (Engine Plugin Run-time API)
-IAGSEngine.CanRunScriptFunctionNow (Engine Plugin Run-time API)
-IAGSEngine.CreateBlankBitmap (Engine Plugin Run-time API)
-IAGSEngine.CreateDynamicSprite (Engine Plugin Run-time API)
-IAGSEngine.CreateScriptString (Engine Plugin Run-time API)
-IAGSEngine.DecrementManagedObjectRefCount (Engine Plugin Run-time API)
-IAGSEngine.DeleteDynamicSprite (Engine Plugin Run-time API)
-IAGSEngine.DisableSound (Engine Plugin Run-time API)
-IAGSEngine.DrawText (Engine Plugin Run-time API)
-IAGSEngine.DrawTextWrapped (Engine Plugin Run-time API)
-IAGSEngine.FRead (Engine Plugin Run-time API)
-IAGSEngine.FreeBitmap (Engine Plugin Run-time API)
-IAGSEngine.FWrite (Engine Plugin Run-time API)
-IAGSEngine.GetAreaScaling (Engine Plugin Run-time API)
-IAGSEngine.GetBackgroundScene (Engine Plugin Run-time API)
-IAGSEngine.GetBitmapDimensions (Engine Plugin Run-time API)
-IAGSEngine.GetBitmapSurface (Engine Plugin Run-time API)
-IAGSEngine.GetBitmapTransparentColor (Engine Plugin Run-time API)
-IAGSEngine.GetCharacter (Engine Plugin Run-time API)
-IAGSEngine.GetCurrentBackground (Engine Plugin Run-time API)
-IAGSEngine.GetCurrentRoom (Engine Plugin Run-time API)
-IAGSEngine.GetDirectDraw2 (Engine Plugin Run-time API)
-IAGSEngine.GetDirectInputKeyboard (Engine Plugin Run-time API)
-IAGSEngine.GetDirectInputMouse (Engine Plugin Run-time API)
-IAGSEngine.GetDirectSound (Engine Plugin Run-time API)
-IAGSEngine.GetEngineVersion (Engine Plugin Run-time API)
-IAGSEngine.GetFileStreamByHandle (Engine Plugin Run-time API)
-IAGSEngine.GetFontType (Engine Plugin Run-time API)
-IAGSEngine.GetGameInfo (Engine Plugin Run-time API)
-IAGSEngine.GetGameOptions (Engine Plugin Run-time API)
-IAGSEngine.GetGraphicsDriverID (Engine Plugin Run-time API)
-IAGSEngine.GetManagedObjectAddressByKey (Engine Plugin Run-time API)
-IAGSEngine.GetManagedObjectKeyByAddress (Engine Plugin Run-time API)
-IAGSEngine.GetMouseCursor (Engine Plugin Run-time API)
-IAGSEngine.GetMousePosition (Engine Plugin Run-time API)
-IAGSEngine.GetMovementPathLastWaypoint (Engine Plugin Run-time API)
-IAGSEngine.GetMovementPathWaypointCount (Engine Plugin Run-time API)
-IAGSEngine.GetMovementPathWaypointLocation (Engine Plugin Run-time API)
-IAGSEngine.GetMovementPathWaypointSpeed (Engine Plugin Run-time API)
-IAGSEngine.GetNumBackgrounds (Engine Plugin Run-time API)
-IAGSEngine.GetNumCharacters (Engine Plugin Run-time API)
-IAGSEngine.GetNumObjects (Engine Plugin Run-time API)
-IAGSEngine.GetObject (Engine Plugin Run-time API)
-IAGSEngine.GetPalette (Engine Plugin Run-time API)
-IAGSEngine.GetPathToFileInCompiledFolder (Engine Plugin Run-time API)
-IAGSEngine.GetPlayerCharacter (Engine Plugin Run-time API)
-IAGSEngine.GetRawBitmapSurface (Engine Plugin Run-time API)
-IAGSEngine.GetRawColorComponents (Engine Plugin Run-time API)
-IAGSEngine.GetRawPixelColor (Engine Plugin Run-time API)
-IAGSEngine.GetRenderStageDesc (Engine Plugin Run-time API)
-IAGSEngine.GetRoomMask (Engine Plugin Run-time API)
-IAGSEngine.GetSavedData (Engine Plugin Run-time API)
-IAGSEngine.GetScreen (Engine Plugin Run-time API)
-IAGSEngine.GetScreenDimensions (Engine Plugin Run-time API)
-IAGSEngine.GetScriptFunctionAddress (Engine Plugin Run-time API)
-IAGSEngine.GetSpriteGraphic (Engine Plugin Run-time API)
-IAGSEngine.GetSpriteHeight (Engine Plugin Run-time API)
-IAGSEngine.GetSpriteWidth (Engine Plugin Run-time API)
-IAGSEngine.GetTextExtent (Engine Plugin Run-time API)
-IAGSEngine.GetViewFrame (Engine Plugin Run-time API)
-IAGSEngine.GetVirtualScreen (Engine Plugin Run-time API)
-IAGSEngine.GetWalkbehindBaseline (Engine Plugin Run-time API)
-IAGSEngine.GetWindowHandle (Engine Plugin Run-time API)
-IAGSEngine.IncrementManagedObjectRefCount (Engine Plugin Run-time API)
-IAGSEngine.IsChannelPlaying (Engine Plugin Run-time API)
-IAGSEngine.IsGamePaused (Engine Plugin Run-time API)
-IAGSEngine.IsRunningUnderDebugger (Engine Plugin Run-time API)
-IAGSEngine.IsSpriteAlphaBlended (Engine Plugin Run-time API)
-IAGSEngine.LookupParserWord (Engine Plugin Run-time API)
-IAGSEngine.MakeRawColorPixel (Engine Plugin Run-time API)
-IAGSEngine.MarkRegionDirty (Engine Plugin Run-time API)
-IAGSEngine.NotifyFontUpdated (Engine Plugin Run-time API)
-IAGSEngine.NotifySpriteUpdated (Engine Plugin Run-time API)
-IAGSEngine.OpenFileStream (Engine Plugin Run-time API)
-IAGSEngine.PlaySoundChannel (Engine Plugin Run-time API)
-IAGSEngine.PollSystem (Engine Plugin Run-time API)
-IAGSEngine.PrintDebugConsole (Engine Plugin Run-time API)
-IAGSEngine.QueueGameScriptFunction (Engine Plugin Run-time API)
-IAGSEngine.RegisterManagedObject (Engine Plugin Run-time API)
-IAGSEngine.RegisterScriptFunction (Engine Plugin Run-time API)
-IAGSEngine.RegisterUnserializedObject (Engine Plugin Run-time API)
-IAGSEngine.ReleaseBitmapSurface (Engine Plugin Run-time API)
-IAGSEngine.ReplaceFontRenderer (Engine Plugin Run-time API)
-IAGSEngine.ReplaceFontRenderer2 (Engine Plugin Run-time API)
-IAGSEngine.RequestEventHook (Engine Plugin Run-time API)
-IAGSEngine.ResolveFilePath (Engine Plugin Run-time API)
-IAGSEngine.RoomToViewport (Engine Plugin Run-time API)
-IAGSEngine.SetMousePosition (Engine Plugin Run-time API)
-IAGSEngine.SetPalette (Engine Plugin Run-time API)
-IAGSEngine.SetSpriteAlphaBlended (Engine Plugin Run-time API)
-IAGSEngine.SetVirtualScreen (Engine Plugin Run-time API)
-IAGSEngine.SimulateMouseClick (Engine Plugin Run-time API)
-IAGSEngine.UnrequestEventHook (Engine Plugin Run-time API)
-IAGSEngine.version (Engine Plugin Run-time API)
-IAGSEngine.ViewportToRoom (Engine Plugin Run-time API)
-IAGSFontRenderer interface (Engine Plugin Run-time API)
-IAGSFontRenderer.AdjustYCoordinateForFont (Engine Plugin Run-time API)
-IAGSFontRenderer.EnsureTextValidForFont (Engine Plugin Run-time API)
-IAGSFontRenderer.FreeMemory (Engine Plugin Run-time API)
-IAGSFontRenderer.GetTextHeight (Engine Plugin Run-time API)
-IAGSFontRenderer.GetTextWidth (Engine Plugin Run-time API)
-IAGSFontRenderer.LoadFromDisk (Engine Plugin Run-time API)
-IAGSFontRenderer.RenderText (Engine Plugin Run-time API)
-IAGSFontRenderer.SupportsExtendedCharacters (Engine Plugin Run-time API)
-IAGSFontRenderer2 interface (Engine Plugin Run-time API)
-IAGSFontRenderer2.GetFontHeight (Engine Plugin Run-time API)
-IAGSFontRenderer2.GetFontName (Engine Plugin Run-time API)
-IAGSFontRenderer2.GetLineSpacing (Engine Plugin Run-time API)
-IAGSFontRenderer2.GetRendererName (Engine Plugin Run-time API)
-IAGSFontRenderer2.GetVersion (Engine Plugin Run-time API)
-IAGSManagedObjectReader interface (Engine Plugin Run-time API)
-IAGSManagedObjectReader.Unserialize (Engine Plugin Run-time API)
-IAGSScriptManagedObject interface (Engine Plugin Run-time API)
-IAGSScriptManagedObject.Dispose (Engine Plugin Run-time API)
-IAGSScriptManagedObject.GetType (Engine Plugin Run-time API)
-IAGSScriptManagedObject.Serialize (Engine Plugin Run-time API)
-IAGSStream interface (Engine Plugin Run-time API)
-IAGSStream.Close (Engine Plugin Run-time API)
-IAGSStream.Dispose (Engine Plugin Run-time API)
-IAGSStream.EOS (Engine Plugin Run-time API)
-IAGSStream.Flush (Engine Plugin Run-time API)
-IAGSStream.GetError (Engine Plugin Run-time API)
-IAGSStream.GetLength (Engine Plugin Run-time API)
-IAGSStream.GetMode (Engine Plugin Run-time API)
-IAGSStream.GetPath (Engine Plugin Run-time API)
-IAGSStream.GetPosition (Engine Plugin Run-time API)
-IAGSStream.Read (Engine Plugin Run-time API)
-IAGSStream.ReadByte (Engine Plugin Run-time API)
-IAGSStream.Seek (Engine Plugin Run-time API)
-IAGSStream.Write (Engine Plugin Run-time API)
-IAGSStream.WriteByte (Engine Plugin Run-time API)
-ID (Inventory Items Editor)
-If the list of templates is empty (New Game templates)
-if, else statements (Script language keywords)
-ifdef, ifndef, endif (Preprocessor)
-ifver, ifnver (Preprocessor)
-Image (Inventory Items Editor)
-import (Script language keywords)
-Import A New Sprite (Getting Started with AGS - Part 6)
-Import a Sprite (Getting Started with AGS - Part 4)
-Import Directory (Editor Preferences)
-Import of 8-bit background (Editor Preferences)
-Import Sprite (Sprite Manager)
-Importing a file as the walkable area mask (Advanced room features)
-Importing fonts (Getting Started with AGS - Part 9)
-Importing functions and variables in other scripts
-Importing your own sprite graphics (Setting up the game)
-Improvement of Overlays (Upgrading to AGS 3.6)
-Information (General settings)
-InputType
-Installation requirements for Android in AGS Editor (Building for Android)
-Installing AGS (Introduction)
-Instances (Scripting Tutorial - Part 1)
-Integers and Floats limits (System limits)
-Interactions (Getting Started with AGS - Part 3)
-Interface text (GUI Editor)
-interface_click
-Intro and Outro Cutscenes (Getting Started with AGS - Part 7)
-Introduction
-Introduction (Troubleshooting Windows Zone Identifier)
-Introduction (Tumbleweed)
-Introduction sequences (Setting up the game)
-IntToFloat
-Inventory (General settings)
-Inventory (Getting Started with AGS - Part 4)
-Inventory (Setting up the game)
-Inventory item events (Event Types)
-Inventory item hotspots (Getting Started with AGS - Part 5)
-Inventory Items Editor
-InventoryItem
-InventoryItem.CursorGraphic
-InventoryItem.GetAtScreenXY
-InventoryItem.GetByName
-InventoryItem.GetProperty
-InventoryItem.GetTextProperty
-InventoryItem.Graphic
-InventoryItem.ID
-InventoryItem.IsInteractionAvailable
-InventoryItem.Name
-InventoryItem.RunInteraction
-InventoryItem.ScriptName
-InventoryItem.SetProperty
-InventoryItem.SetTextProperty
-InventoryScreen
-InvWindow
-InvWindow.CharacterToUse
-InvWindow.ItemAtIndex
-InvWindow.ItemCount
-InvWindow.ItemHeight
-InvWindow.ItemsPerRow
-InvWindow.ItemWidth
-InvWindow.RowCount
-InvWindow.ScrollDown
-InvWindow.ScrollUp
-InvWindow.TopItem
-IsGamePaused
-IsInteractionAvailable
-IsInterfaceEnabled
-IsKeyPressed
-IsSpeechVoxAvailable
-IsTimerExpired
-IsTranslationAvailable
-

K

-Key code table
-Key modifiers (Key code table)
-Keyboard Shortcuts
-KeyboardMovement.KeyDown
-KeyboardMovement.KeyLeft
-KeyboardMovement.KeyRight
-KeyboardMovement.KeyUp
-KeyboardMovement.Mode
-

L

-Label
-Label.Font
-Label.Text
-Label.TextAlignment
-Label.TextColor
-Language & Translation (Tumbleweed)
-late_repeatedly_execute_always
-Licensing (Distributing your game)
-Lighting effects (Advanced room features)
-Lip sync
-List Boxes (GUI Editor)
-ListBox
-ListBox.AddItem
-ListBox.Clear
-ListBox.FillDirList
-ListBox.FillSaveGameList
-ListBox.Font
-ListBox.GetItemAtLocation
-ListBox.HideBorder
-ListBox.HideScrollArrows
-ListBox.InsertItemAt
-ListBox.ItemCount
-ListBox.Items
-ListBox.RemoveItem
-ListBox.RowCount
-ListBox.SaveGameSlots
-ListBox.ScrollDown
-ListBox.ScrollUp
-ListBox.SelectedBackColor
-ListBox.SelectedIndex
-ListBox.SelectedTextColor
-ListBox.ShowBorder
-ListBox.ShowScrollArrows
-ListBox.TextAlignment
-ListBox.TextColor
-ListBox.TopItem
-ListBox.Translated
-LocationType
-Log Panel
-Log Panel in the Editor (Upgrading to AGS 3.6.1)
-LogLevel
-Loops (Scripting Tutorial - Part 2)
-

M

-managed (Script language keywords)
-Managing Inventory (Getting Started with AGS - Part 5)
-Managing modules
-Managing the Audio Footprint (Distributing your game)
-Managing the Graphics Footprint (Distributing your game)
-Maths
-Maths.ArcCos
-Maths.ArcSin
-Maths.ArcTan
-Maths.ArcTan2
-Maths.Cos
-Maths.Cosh
-Maths.DegreesToRadians
-Maths.Exp
-Maths.Log
-Maths.Log10
-Maths.Pi
-Maths.RadiansToDegrees
-Maths.RaiseToPower
-Maths.Sin
-Maths.Sinh
-Maths.Sqrt
-Maths.Tan
-Maths.Tanh
-MIDI playback
-Misc (Default Setup)
-Misc (Editor Preferences)
-More on conversations (Getting Started with AGS - Part 8)
-Mouse
-Mouse (Default Setup)
-Mouse Cursor on Inventory Item (Getting Started with AGS - Part 5)
-Mouse options (Run-time engine setup)
-Mouse.AutoLock
-Mouse.ChangeModeGraphic
-Mouse.ChangeModeHotspot
-Mouse.ChangeModeView
-Mouse.Click
-Mouse.ControlEnabled
-Mouse.DisableMode
-Mouse.EnableMode
-Mouse.GetModeGraphic
-Mouse.IsButtonDown
-Mouse.IsModeEnabled
-Mouse.Mode
-Mouse.SaveCursorUntilItLeaves
-Mouse.SelectNextMode
-Mouse.SelectPreviousMode
-Mouse.SetBounds
-Mouse.SetPosition
-Mouse.Speed
-Mouse.Update
-Mouse.UseDefaultGraphic
-Mouse.UseModeGraphic
-Mouse.Visible
-MouseButton
-MoveCharacterToHotspot
-MoveCharacterToObject
-Multimedia functions
-Multiplatform support extended (Upgrading to AGS 3.6)
-Multiple conditions (Scripting Tutorial - Part 2)
-Multiple Scripts
-Multiple speech voxes (Upgrading to AGS 3.6)
-Music and sound
-

N

-Name (Inventory Items Editor)
-new (Script language keywords)
-New Game Directory (Editor Preferences)
-New game package options (Upgrading to AGS 3.6)
-New Game templates
-New Screen struct (Upgrading to AGS 3.5)
-New sprite compression option (Upgrading to AGS 3.6.1)
-New sprite compression options (Upgrading to AGS 3.6)
-New Viewport/Camera system (Upgrading to AGS 3.5)
-noloopcheck (Script language keywords)
-

O

-Object
-Object events (Event Types)
-Object Oriented Programming
-Object.Animate
-Object.Animating
-Object.AnimationVolume
-Object.Baseline
-Object.BlockingHeight
-Object.BlockingWidth
-Object.Clickable
-Object.Frame
-Object.GetAtRoomXY
-Object.GetAtScreenXY
-Object.GetByName
-Object.GetProperty
-Object.GetTextProperty
-Object.Graphic
-Object.HasExplicitLight
-Object.HasExplicitTint
-Object.ID
-Object.IgnoreWalkbehinds
-Object.IsCollidingWithObject
-Object.IsInteractionAvailable
-Object.LightLevel
-Object.Loop
-Object.ManualScaling
-Object.MergeIntoBackground
-Object.Move
-Object.Moving
-Object.Name
-Object.RemoveTint
-Object.RunInteraction
-Object.Scaling
-Object.ScriptName
-Object.SetLightLevel
-Object.SetPosition
-Object.SetProperty
-Object.SetTextProperty
-Object.SetView
-Object.Solid
-Object.StopAnimating
-Object.StopMoving
-Object.Tint
-Object.TintBlue
-Object.TintGreen
-Object.TintLuminance
-Object.TintRed
-Object.TintSaturation
-Object.Transparency
-Object.View
-Object.Visible
-Object.X
-Object.Y
-Objects (Getting Started with AGS - Part 4)
-Objects (Room Editor)
-Obsolete Script API
-on_call
-on_event
-on_key_press
-on_mouse_click
-on_text_input
-Opening the Editor (Editor Command Line Options)
-Operators (Script language keywords)
-OR Expressions (Scripting Tutorial - Part 2)
-Other advanced settings (Run-time engine setup)
-Other Features
-Overlay
-Overlay.CreateGraphical
-Overlay.CreateRoomGraphical
-Overlay.CreateRoomTextual
-Overlay.CreateTextual
-Overlay.Graphic
-Overlay.GraphicHeight
-Overlay.GraphicWidth
-Overlay.Height
-Overlay.InRoom
-Overlay.Remove
-Overlay.SetText
-Overlay.Transparency
-Overlay.Valid
-Overlay.Width
-Overlay.X
-Overlay.Y
-Overlay.ZOrder
-Overview (Dynamic Arrays)
-Overview (Translations)
-

P

-Palette setup (Colours Editor)
-Palette setup (Setting up the game)
-PAMELA (Lip sync)
-Papagayo (Lip sync)
-Parser
-Parser.FindWordID
-Parser.ParseText
-Parser.Said
-Parser.SaidUnknownWord
-PauseGame
-Performance (Default Setup)
-PlayerStartsWithItem (Inventory Items Editor)
-PlayFlic
-PlaySilentMIDI
-PlayVideo
-Plugin Requirements (Editor Plugins)
-Plugins
-Point (Standard Types)
-Pointers for people who know C or C++ (Pointers in AGS)
-Pointers for people who know Java or C# (Pointers in AGS)
-Pointers for programming newbies (Pointers in AGS)
-Pointers in AGS
-Preprocessor
-Properties (Inventory Items Editor)
-Properties (View Editor)
-Properties control (Room Editor)
-protected (Script language keywords)
-Protection (Object Oriented Programming)
-

Q

-QuitGame
-

R

-Random
-readonly (Script language keywords)
-Recap (Getting Started with AGS - Part 5)
-Recap (Scripting Tutorial - Part 1)
-Recap (Scripting Tutorial - Part 2)
-Region
-Region events (Event Types)
-region, endregion (Preprocessor)
-Region.Enabled
-Region.GetAtRoomXY
-Region.GetAtScreenXY
-Region.GetDrawingSurface
-Region.ID
-Region.LightLevel
-Region.RunInteraction
-Region.Tint
-Region.TintBlue
-Region.TintEnabled
-Region.TintGreen
-Region.TintLuminance
-Region.TintRed
-Region.TintSaturation
-ReleaseViewport
-RemoveWalkableArea
-repeatedly_execute
-repeatedly_execute (_always)
-repeatedly_execute_always
-RepeatStyle
-Replace Sprite From File (Getting Started with AGS - Part 6)
-ResetRoom
-Resizing a dynamic array (Dynamic Arrays)
-RestartGame
-RestoreGameDialog
-RestoreGameSlot
-RestoreWalkableArea
-return (Script language keywords)
-Right Click Context Menu (View Editor)
-Room
-Room Editor
-Room editor and multilayer mode (Upgrading to AGS 3.5)
-Room events (Event Types)
-Room masks (Hotspot, Walkable areas, Walk-behinds and Regions) (Room Editor)
-Room Properties (Room Editor)
-Room sizes and mask resolution (Upgrading to AGS 3.5)
-Room.BottomEdge
-Room.ColorDepth
-Room.Exists
-Room.GetDrawingSurfaceForBackground
-Room.GetProperty
-Room.GetTextProperty
-Room.Height
-Room.LeftEdge
-Room.Messages
-Room.MusicOnLoad
-Room.ObjectCount
-Room.ProcessClick
-Room.RightEdge
-Room.SetProperty
-Room.SetTextProperty
-Room.TopEdge
-Room.Width
-Rooms (General settings)
-RoundDirection
-Run-time engine setup
-Run-time events (Engine Plugin Run-time API)
-RunAGSGame
-

S

-Saved Games (General settings)
-SaveGameDialog
-SaveGameSlot
-SaveScreenShot
-Say Dialog (Getting Started with AGS - Part 8)
-Screen
-Screen.AutoSizeViewportOnRoomLoad
-Screen.Height
-Screen.RoomToScreenPoint
-Screen.ScreenToRoomPoint
-Screen.Viewport
-Screen.ViewportCount
-Screen.Viewports
-Screen.Width
-Script API levels (Constants)
-Script API Overview
-Script Editor (Editor Preferences)
-Script language keywords
-Script Modules (Managing modules)
-Scripting API
-Scripting Language
-Scripting Tutorial
-Scripting tutorial (Getting Started with AGS - Part 3)
-Scripting Tutorial - Part 1
-Scripting Tutorial - Part 2
-Scrolling (Advanced room features)
-Set
-Set.Add
-Set.Clear
-Set.CompareStyle
-Set.Contains
-Set.Create
-Set.GetItemsAsArray
-Set.ItemCount
-Set.Remove
-Set.SortStyle
-SetAmbientLightLevel
-SetAmbientTint
-SetAreaScaling
-SetBackgroundFrame
-SetFadeColor
-SetGameOption
-SetGameSpeed
-SetGlobalInt
-SetGraphicalVariable
-SetMultitaskingMode
-SetNextScreenTransition
-SetPalRGB
-SetRestartPoint
-SetScreenTransition
-SetSpeechVolume
-SetTextWindowGUI
-SetTimer
-Setting up the game
-Setup appearance (Default Setup)
-SetViewport
-SetWalkBehindBase
-ShakeScreen
-ShakeScreenBackground
-Show Dialog (Getting Started with AGS - Part 8)
-Show Preview (View Editor)
-Sierra-style system dialogs (Getting Started with AGS - Part 8)
-Sierra-style template
-Simple Cutscene (Getting Started with AGS - Part 7)
-SkipCutscene
-SkipSpeechStyle
-SkipUntilCharacterStops
-SkipWait
-Slider
-Slider.BackgroundGraphic
-Slider.HandleGraphic
-Slider.HandleOffset
-Slider.Max
-Slider.Min
-Slider.Value
-Sliders (GUI Editor)
-Solution 0: Code your own save system (Game saves compatibility)
-Solution 1: Reusing game objects (Game saves compatibility)
-Solution 2: Dummy object reserve (Game saves compatibility)
-Solution 3: New rooms (Game saves compatibility)
-Solution 4: String, Dictionary and Set (Game saves compatibility)
-Solution 5: Extending dynamic arrays and managed structs (Game saves compatibility)
-Some script functions replaced and/or deprecated (Upgrading to AGS 3.5)
-SortStyle
-Sound (General settings)
-Sound options (Run-time engine setup)
-Source Control integration
-Speech
-Speech.AnimationStopTimeMargin
-Speech.CustomPortraitPlacement
-Speech.DisplayPostTimeMs
-Speech.GlobalSpeechAnimationDelay
-Speech.PortraitOverlay
-Speech.PortraitXOffset
-Speech.PortraitY
-Speech.SkipKey
-Speech.SkipStyle
-Speech.Style
-Speech.TextAlignment
-Speech.TextOverlay
-Speech.UseGlobalSpeechAnimationDelay
-Speech.VoiceMode
-Splash screen (Distributing your game)
-Splitting resource files (Distributing your game)
-Sprite Editor (Editor Preferences)
-Sprite Manager
-Sprite Storage (Sprite Manager)
-Standard Enumerated Types
-Standard Types
-StartCutscene
-Starting off
-Starting off (Getting Started with AGS)
-Static attributes (Object Oriented Programming)
-Static extenders (Extender functions)
-StopDialog
-StopMovementStyle
-String
-String formatting
-String.Append
-String.AppendChar
-String.AsFloat
-String.AsInt
-String.Chars
-String.CompareTo
-String.Copy
-String.EndsWith
-String.Format
-String.IndexOf
-String.IsNullOrEmpty
-String.Length
-String.LowerCase
-String.Replace
-String.ReplaceCharAt
-String.StartsWith
-String.Substring
-String.Truncate
-String.UpperCase
-StringCompareStyle
-struct (Script language keywords)
-Substituting dialog speech with custom functions (Dialog Script)
-Summary (Scripting Tutorial - Part 1)
-switch, case statements (Script language keywords)
-System
-System limits
-System limits update (Upgrading to AGS 3.5)
-System limits update (Upgrading to AGS 3.6)
-System Requirements
-System Requirements (Graphics driver selection)
-System restrictions (System limits)
-System.AudioChannelCount
-System.AudioChannels
-System.CapsLock
-System.ColorDepth
-System.Gamma
-System.HardwareAcceleration
-System.HasInputFocus
-System.Log
-System.NumLock
-System.OperatingSystem
-System.RenderAtScreenResolution
-System.RuntimeInfo
-System.SaveConfigToFile
-System.ScreenHeight
-System.ScreenWidth
-System.ScrollLock
-System.SupportsGammaControl
-System.Version
-System.ViewportHeight
-System.ViewportWidth
-System.Volume
-System.VSync
-System.Windowed
-

T

-Test Game (Editor Preferences)
-Testing Your Work (Getting Started with AGS - Part 3)
-Testing Your Work (Getting Started with AGS - Part 4)
-Testing Your Work (Getting Started with AGS - Part 7)
-Testing Your Work (Getting Started with AGS - Part 8)
-Text Boxes (GUI Editor)
-Text output (General settings)
-Text Parser
-Text-based lip syncing (Lip sync)
-TextBox
-TextBox.Font
-TextBox.ShowBorder
-TextBox.Text
-TextBox.TextColor
-TextWindowGUI
-TextWindowGUI.TextColor
-TextWindowGUI.TextPadding
-The AudioCache folder (Music and sound)
-The Basics (Scripting Tutorial - Part 1)
-The Cursors list (Getting Started with AGS - Part 9)
-The DEBUG constant (Debugging features)
-The Debug() command (Debugging features)
-The Font Editor (Getting Started with AGS - Part 9)
-The General Settings panel (Setting up the game)
-The IAGSEditor interface (Engine Plugin Design-time API)
-The IAGSEngine interface (Engine Plugin Run-time API)
-The run-time engine
-The script debugger (Debugging features)
-The script header
-this (Script language keywords)
-Tiled sprite import (Getting Started with AGS - Part 6)
-Tiled sprite import (Sprite Manager)
-TintScreen
-Touch (Default Setup)
-TransitionStyle
-Translations
-Translations (Unicode Support)
-Troubleshooting (Translations)
-Troubleshooting Windows Zone Identifier
-TTF fonts behavior (Upgrading to AGS 3.6)
-Tumbleweed
-Tumbleweed Action Functions
-Tumbleweed Door functions
-Tumbleweed Extensions
-Tumbleweed Math and Helper Functions
-Tumbleweed Player functions
-Tumbleweed Semi-blocking movement functions
-Tumbleweed Translation
-Tumbleweed Unhandled Events
-Tutorial
-TwoClickHandler.ActionLabel
-TwoClickHandler.Close
-TwoClickHandler.InventoryGui
-TwoClickHandler.PopupDistance
-TwoClickHandler.PopupProportional
-TwoClickHandler.ReversedClicks
-

U

-Understanding blocking scripts
-unhandled_event
-Unicode Support
-Unicode support (Upgrading to AGS 3.6)
-UnPauseGame
-UpdateInventory
-UpdatePalette
-Updating sprites (Sprite Manager)
-Upgrading from a previous version
-Upgrading older projects (Unicode Support)
-Upgrading to AGS 2.7
-Upgrading to AGS 2.71
-Upgrading to AGS 3.0
-Upgrading to AGS 3.1
-Upgrading to AGS 3.2
-Upgrading to AGS 3.3
-Upgrading to AGS 3.3.5
-Upgrading to AGS 3.4
-Upgrading to AGS 3.4.1
-Upgrading to AGS 3.5
-Upgrading to AGS 3.6
-Upgrading to AGS 3.6.1
-Using ASCII mode (Unicode Support)
-Using downloaded templates (New Game templates)
-Using Inventory Items (Tumbleweed)
-Using regular scripting commands in dialogs (Dialog Script)
-Using your own graphics (Getting Started with AGS - Part 6)
-

V

-Variables (Scripting Tutorial - Part 1)
-VerbCoin template
-VerbCoin.ActionLabel
-VerbCoin.BackgroundColor
-VerbCoin.BackgroundTransparency
-VerbCoin.BorderColor
-VerbCoin.BorderWidth
-VerbCoin.ButtonAutoDisable
-VerbCoin.CleanUp
-VerbCoin.Close
-VerbCoin.Disable
-VerbCoin.Enable
-VerbCoin.InterfaceGui
-VerbCoin.InventoryGui
-VerbCoin.IsEnabled
-VerbCoin.IsOpen
-VerbCoin.OnClick
-VerbCoin.Open
-VerbCoin.Radius
-VerbCoin.RegisterButton
-Verbs.AddExtension
-Verbs.AdjustGUIText
-Verbs.AdjustLanguage
-Verbs.AnyClick
-Verbs.AnyClickMove
-Verbs.AnyClickSpecial
-Verbs.AnyClickUseInv
-Verbs.AnyClickWalk
-Verbs.AnyClickWalkLook
-Verbs.AnyClickWalkLookPick
-Verbs.CheckDefaultAction
-Verbs.DisableGui
-Verbs.Distance
-Verbs.EnableGui
-Verbs.EnterRoom
-Verbs.Extension
-Verbs.ExtensionEx
-Verbs.FreezePlayer
-Verbs.GetButtonAction
-Verbs.GetDoorState
-Verbs.GlobalCondition
-Verbs.GoTo
-Verbs.GoToCharacter
-Verbs.GoToCharacterEx
-Verbs.HandleInvArrows
-Verbs.InitGuiLanguage
-Verbs.InitObject
-Verbs.IsAction
-Verbs.IsGuiDisabled
-Verbs.MovePlayer
-Verbs.MovePlayerEx
-Verbs.NPCGoToCharacter
-Verbs.Offset
-Verbs.OpenCloseExtension
-Verbs.RemoveExtension
-Verbs.SetAction
-Verbs.SetActionButtons
-Verbs.SetAlternativeAction
-Verbs.SetApproachingChar
-Verbs.SetDefaultAction
-Verbs.SetDoorState
-Verbs.SetDoubleClickSpeed
-Verbs.SetPlayer
-Verbs.ToogleGuiStyle
-Verbs.TranslateAction
-Verbs.UnfreezePlayer
-Verbs.Unhandled
-Verbs.UpdateActionBar
-Verbs.UsedAction
-Verbs.VariableExtensions
-Verbs.WalkOffScreen
-Version checking (Script language keywords)
-VideoSkipStyle
-View Editor
-ViewFrame
-ViewFrame.Flipped
-ViewFrame.Frame
-ViewFrame.Graphic
-ViewFrame.LinkedAudio
-ViewFrame.Loop
-ViewFrame.Speed
-ViewFrame.View
-Viewport
-Viewport.Camera
-Viewport.Create
-Viewport.Delete
-Viewport.GetAtScreenXY
-Viewport.Height
-Viewport.RoomToScreenPoint
-Viewport.ScreenToRoomPoint
-Viewport.SetPosition
-Viewport.Visible
-Viewport.Width
-Viewport.X
-Viewport.Y
-Viewport.ZOrder
-Views (View Editor)
-Visual (General settings)
-Voice packs (Voice speech)
-Voice speech
-Voice-based lip sync (Lip sync)
-

W

-Wait
-WaitInput
-WaitKey
-WaitMouse
-WaitMouseKey
-Walk-to points (Getting Started with AGS - Part 3)
-WalkWhere
-Warning on de-compiling the built game (Distributing your game)
-What are "alternate data streams"? (Troubleshooting Windows Zone Identifier)
-Where to get patch files (MIDI playback)
-while (Script language keywords)
-writeprotected (Script language keywords)
-Writing Script Modules (Managing modules)
-

Y

-Your Own Functions (Scripting Tutorial - Part 2)
-
- - - - - -
- - diff --git a/images/EditorCharacter_1.png b/images/EditorCharacter_1.png deleted file mode 100644 index fb4e1ec4d..000000000 Binary files a/images/EditorCharacter_1.png and /dev/null differ diff --git a/images/EditorInventoryItems_img1.png b/images/EditorInventoryItems_img1.png deleted file mode 100644 index bc68e0554..000000000 Binary files a/images/EditorInventoryItems_img1.png and /dev/null differ diff --git a/images/EditorRoom_1.png b/images/EditorRoom_1.png deleted file mode 100644 index 7574ec857..000000000 Binary files a/images/EditorRoom_1.png and /dev/null differ diff --git a/images/EditorRoom_2.png b/images/EditorRoom_2.png deleted file mode 100644 index 06cce7843..000000000 Binary files a/images/EditorRoom_2.png and /dev/null differ diff --git a/images/EditorRoom_3.png b/images/EditorRoom_3.png deleted file mode 100644 index 08933268e..000000000 Binary files a/images/EditorRoom_3.png and /dev/null differ diff --git a/images/EditorSprite_1.png b/images/EditorSprite_1.png deleted file mode 100644 index 2d83b863f..000000000 Binary files a/images/EditorSprite_1.png and /dev/null differ diff --git a/images/EditorSprite_2.png b/images/EditorSprite_2.png deleted file mode 100644 index d5bf02651..000000000 Binary files a/images/EditorSprite_2.png and /dev/null differ diff --git a/images/EditorSprite_3.png b/images/EditorSprite_3.png deleted file mode 100644 index df059af86..000000000 Binary files a/images/EditorSprite_3.png and /dev/null differ diff --git a/images/EditorTranslations_01.png b/images/EditorTranslations_01.png deleted file mode 100644 index 8940d16fa..000000000 Binary files a/images/EditorTranslations_01.png and /dev/null differ diff --git a/images/EditorView_1.png b/images/EditorView_1.png deleted file mode 100644 index 48c826af2..000000000 Binary files a/images/EditorView_1.png and /dev/null differ diff --git a/images/EditorView_2.png b/images/EditorView_2.png deleted file mode 100644 index 67b316a86..000000000 Binary files a/images/EditorView_2.png and /dev/null differ diff --git a/images/EditorView_3.png b/images/EditorView_3.png deleted file mode 100644 index ca70ba653..000000000 Binary files a/images/EditorView_3.png and /dev/null differ diff --git a/images/EditorView_4.png b/images/EditorView_4.png deleted file mode 100644 index 5569d6060..000000000 Binary files a/images/EditorView_4.png and /dev/null differ diff --git a/images/GameExplorer1.jpg b/images/GameExplorer1.jpg deleted file mode 100644 index 12592c8e7..000000000 Binary files a/images/GameExplorer1.jpg and /dev/null differ diff --git a/images/GameExplorer2.jpg b/images/GameExplorer2.jpg deleted file mode 100644 index 67fd8f813..000000000 Binary files a/images/GameExplorer2.jpg and /dev/null differ diff --git a/images/GameExplorer3.jpg b/images/GameExplorer3.jpg deleted file mode 100644 index d8b6b8c7b..000000000 Binary files a/images/GameExplorer3.jpg and /dev/null differ diff --git a/images/Plugins_img1.png b/images/Plugins_img1.png deleted file mode 100644 index 8b5705ff6..000000000 Binary files a/images/Plugins_img1.png and /dev/null differ diff --git a/images/acintro1_01.png b/images/acintro1_01.png deleted file mode 100644 index 27640a511..000000000 Binary files a/images/acintro1_01.png and /dev/null differ diff --git a/images/acintro1_02.png b/images/acintro1_02.png deleted file mode 100644 index ae8d969a7..000000000 Binary files a/images/acintro1_02.png and /dev/null differ diff --git a/images/acintro1_03.png b/images/acintro1_03.png deleted file mode 100644 index 7b1f3314d..000000000 Binary files a/images/acintro1_03.png and /dev/null differ diff --git a/images/acintro1_04.png b/images/acintro1_04.png deleted file mode 100644 index 3fe8716b9..000000000 Binary files a/images/acintro1_04.png and /dev/null differ diff --git a/images/acintro1_05.png b/images/acintro1_05.png deleted file mode 100644 index 99a4e8be7..000000000 Binary files a/images/acintro1_05.png and /dev/null differ diff --git a/images/acintro1_06.png b/images/acintro1_06.png deleted file mode 100644 index cade74e49..000000000 Binary files a/images/acintro1_06.png and /dev/null differ diff --git a/images/acintro1_07.png b/images/acintro1_07.png deleted file mode 100644 index 8d76ce847..000000000 Binary files a/images/acintro1_07.png and /dev/null differ diff --git a/images/acintro1_08.png b/images/acintro1_08.png deleted file mode 100644 index 0111e10b1..000000000 Binary files a/images/acintro1_08.png and /dev/null differ diff --git a/images/acintro2_01.png b/images/acintro2_01.png deleted file mode 100644 index 9d7e5ebdc..000000000 Binary files a/images/acintro2_01.png and /dev/null differ diff --git a/images/acintro2_02.png b/images/acintro2_02.png deleted file mode 100644 index 9795e096a..000000000 Binary files a/images/acintro2_02.png and /dev/null differ diff --git a/images/acintro2_03.png b/images/acintro2_03.png deleted file mode 100644 index 17cc68ab2..000000000 Binary files a/images/acintro2_03.png and /dev/null differ diff --git a/images/acintro2_04.png b/images/acintro2_04.png deleted file mode 100644 index f668c7500..000000000 Binary files a/images/acintro2_04.png and /dev/null differ diff --git a/images/acintro2_05.png b/images/acintro2_05.png deleted file mode 100644 index 32db12883..000000000 Binary files a/images/acintro2_05.png and /dev/null differ diff --git a/images/acintro2_06.png b/images/acintro2_06.png deleted file mode 100644 index 3bbc7e842..000000000 Binary files a/images/acintro2_06.png and /dev/null differ diff --git a/images/acintro2_07.png b/images/acintro2_07.png deleted file mode 100644 index 4374aa70d..000000000 Binary files a/images/acintro2_07.png and /dev/null differ diff --git a/images/acintro3_01.png b/images/acintro3_01.png deleted file mode 100644 index 8d7cf6223..000000000 Binary files a/images/acintro3_01.png and /dev/null differ diff --git a/images/acintro3_02.png b/images/acintro3_02.png deleted file mode 100644 index c261b6afc..000000000 Binary files a/images/acintro3_02.png and /dev/null differ diff --git a/images/acintro3_03.png b/images/acintro3_03.png deleted file mode 100644 index 730a91d6e..000000000 Binary files a/images/acintro3_03.png and /dev/null differ diff --git a/images/acintro3_04.png b/images/acintro3_04.png deleted file mode 100644 index 1035486a5..000000000 Binary files a/images/acintro3_04.png and /dev/null differ diff --git a/images/acintro3_05.png b/images/acintro3_05.png deleted file mode 100644 index 729b48f9c..000000000 Binary files a/images/acintro3_05.png and /dev/null differ diff --git a/images/acintro4_01.png b/images/acintro4_01.png deleted file mode 100644 index 97d98a1f4..000000000 Binary files a/images/acintro4_01.png and /dev/null differ diff --git a/images/acintro4_02.png b/images/acintro4_02.png deleted file mode 100644 index 8306802bc..000000000 Binary files a/images/acintro4_02.png and /dev/null differ diff --git a/images/acintro4_03.png b/images/acintro4_03.png deleted file mode 100644 index a2254cda6..000000000 Binary files a/images/acintro4_03.png and /dev/null differ diff --git a/images/acintro4_04.png b/images/acintro4_04.png deleted file mode 100644 index d9d636e64..000000000 Binary files a/images/acintro4_04.png and /dev/null differ diff --git a/images/acintro4_05.png b/images/acintro4_05.png deleted file mode 100644 index 009498066..000000000 Binary files a/images/acintro4_05.png and /dev/null differ diff --git a/images/acintro4_06.png b/images/acintro4_06.png deleted file mode 100644 index 33a0ab357..000000000 Binary files a/images/acintro4_06.png and /dev/null differ diff --git a/images/acintro4_07.png b/images/acintro4_07.png deleted file mode 100644 index 5501ed725..000000000 Binary files a/images/acintro4_07.png and /dev/null differ diff --git a/images/acintro4_08.png b/images/acintro4_08.png deleted file mode 100644 index cd394b8b3..000000000 Binary files a/images/acintro4_08.png and /dev/null differ diff --git a/images/acintro4_09.png b/images/acintro4_09.png deleted file mode 100644 index 939188ac1..000000000 Binary files a/images/acintro4_09.png and /dev/null differ diff --git a/images/acintro4_10.png b/images/acintro4_10.png deleted file mode 100644 index 6afffa36b..000000000 Binary files a/images/acintro4_10.png and /dev/null differ diff --git a/images/acintro5_01.png b/images/acintro5_01.png deleted file mode 100644 index 06261059f..000000000 Binary files a/images/acintro5_01.png and /dev/null differ diff --git a/images/acintro5_02.png b/images/acintro5_02.png deleted file mode 100644 index 135faa7bf..000000000 Binary files a/images/acintro5_02.png and /dev/null differ diff --git a/images/acintro5_03.png b/images/acintro5_03.png deleted file mode 100644 index d626d667c..000000000 Binary files a/images/acintro5_03.png and /dev/null differ diff --git a/images/acintro6_01.png b/images/acintro6_01.png deleted file mode 100644 index a15030980..000000000 Binary files a/images/acintro6_01.png and /dev/null differ diff --git a/images/acintro6_02.png b/images/acintro6_02.png deleted file mode 100644 index 78363cead..000000000 Binary files a/images/acintro6_02.png and /dev/null differ diff --git a/images/acintro6_03.png b/images/acintro6_03.png deleted file mode 100644 index 8ff73ddeb..000000000 Binary files a/images/acintro6_03.png and /dev/null differ diff --git a/images/acintro6_04.png b/images/acintro6_04.png deleted file mode 100644 index a82d49ae8..000000000 Binary files a/images/acintro6_04.png and /dev/null differ diff --git a/images/acintro7_01.png b/images/acintro7_01.png deleted file mode 100644 index f0f135600..000000000 Binary files a/images/acintro7_01.png and /dev/null differ diff --git a/images/acintro7_02.png b/images/acintro7_02.png deleted file mode 100644 index 12a1d0b87..000000000 Binary files a/images/acintro7_02.png and /dev/null differ diff --git a/images/acintro7_03.png b/images/acintro7_03.png deleted file mode 100644 index 98bfeeb1a..000000000 Binary files a/images/acintro7_03.png and /dev/null differ diff --git a/images/acintro7_04.png b/images/acintro7_04.png deleted file mode 100644 index 0d0003562..000000000 Binary files a/images/acintro7_04.png and /dev/null differ diff --git a/images/acintro7_05.png b/images/acintro7_05.png deleted file mode 100644 index 9c2e3423a..000000000 Binary files a/images/acintro7_05.png and /dev/null differ diff --git a/images/acintro7_06.png b/images/acintro7_06.png deleted file mode 100644 index 88f9dcd9e..000000000 Binary files a/images/acintro7_06.png and /dev/null differ diff --git a/images/acintro7_07.png b/images/acintro7_07.png deleted file mode 100644 index 90f943862..000000000 Binary files a/images/acintro7_07.png and /dev/null differ diff --git a/images/acintro8_01.png b/images/acintro8_01.png deleted file mode 100644 index 8a8b9babd..000000000 Binary files a/images/acintro8_01.png and /dev/null differ diff --git a/images/acintro8_02.png b/images/acintro8_02.png deleted file mode 100644 index 71ac0e144..000000000 Binary files a/images/acintro8_02.png and /dev/null differ diff --git a/images/acintro8_03.png b/images/acintro8_03.png deleted file mode 100644 index de22a1ee1..000000000 Binary files a/images/acintro8_03.png and /dev/null differ diff --git a/images/acintro8_04.png b/images/acintro8_04.png deleted file mode 100644 index acefdadeb..000000000 Binary files a/images/acintro8_04.png and /dev/null differ diff --git a/images/android_install_step01.png b/images/android_install_step01.png deleted file mode 100644 index 7301aca2a..000000000 Binary files a/images/android_install_step01.png and /dev/null differ diff --git a/images/android_install_step02.png b/images/android_install_step02.png deleted file mode 100644 index 6bae00c48..000000000 Binary files a/images/android_install_step02.png and /dev/null differ diff --git a/images/android_install_step03.png b/images/android_install_step03.png deleted file mode 100644 index 4c74f0af4..000000000 Binary files a/images/android_install_step03.png and /dev/null differ diff --git a/images/android_install_step04.png b/images/android_install_step04.png deleted file mode 100644 index 884123449..000000000 Binary files a/images/android_install_step04.png and /dev/null differ diff --git a/images/android_install_step05.png b/images/android_install_step05.png deleted file mode 100644 index e02784906..000000000 Binary files a/images/android_install_step05.png and /dev/null differ diff --git a/images/android_keystore_gen.png b/images/android_keystore_gen.png deleted file mode 100644 index feb722a66..000000000 Binary files a/images/android_keystore_gen.png and /dev/null differ diff --git a/images/icon_info.png b/images/icon_info.png deleted file mode 100644 index 8a1371297..000000000 Binary files a/images/icon_info.png and /dev/null differ diff --git a/images/icon_warn.png b/images/icon_warn.png deleted file mode 100644 index b766d35f9..000000000 Binary files a/images/icon_warn.png and /dev/null differ diff --git a/images/intro2_7.jpg b/images/intro2_7.jpg deleted file mode 100644 index 904e825aa..000000000 Binary files a/images/intro2_7.jpg and /dev/null differ diff --git a/images/intro2_8.jpg b/images/intro2_8.jpg deleted file mode 100644 index b713e89b5..000000000 Binary files a/images/intro2_8.jpg and /dev/null differ diff --git a/images/intro9_1.jpg b/images/intro9_1.jpg deleted file mode 100644 index a9cf20076..000000000 Binary files a/images/intro9_1.jpg and /dev/null differ diff --git a/images/netplug1.png b/images/netplug1.png deleted file mode 100644 index bd4c21896..000000000 Binary files a/images/netplug1.png and /dev/null differ diff --git a/images/netplug2.png b/images/netplug2.png deleted file mode 100644 index 9e0748458..000000000 Binary files a/images/netplug2.png and /dev/null differ diff --git a/images/netplug3.png b/images/netplug3.png deleted file mode 100644 index ad0bdd475..000000000 Binary files a/images/netplug3.png and /dev/null differ diff --git a/images/threads1.gif b/images/threads1.gif deleted file mode 100644 index d6560570c..000000000 Binary files a/images/threads1.gif and /dev/null differ diff --git a/images/threads2.gif b/images/threads2.gif deleted file mode 100644 index 3d666f018..000000000 Binary files a/images/threads2.gif and /dev/null differ diff --git a/images/threads3.gif b/images/threads3.gif deleted file mode 100644 index 7a1c4271e..000000000 Binary files a/images/threads3.gif and /dev/null differ diff --git a/images/threads4.gif b/images/threads4.gif deleted file mode 100644 index 5a2c40dbc..000000000 Binary files a/images/threads4.gif and /dev/null differ diff --git a/images/threads5.gif b/images/threads5.gif deleted file mode 100644 index ea0a752ac..000000000 Binary files a/images/threads5.gif and /dev/null differ diff --git a/images/threads6.gif b/images/threads6.gif deleted file mode 100644 index d116fd550..000000000 Binary files a/images/threads6.gif and /dev/null differ diff --git a/images/tut3.gif b/images/tut3.gif deleted file mode 100644 index 67307b043..000000000 Binary files a/images/tut3.gif and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 96b31d174..000000000 --- a/index.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - Getting Started in AGS - - - - - - - -
-
- - - - - - - - - - -
- - - -
-
-

Adventure Game Studio

-

by Chris Jones et al.

-
-

Getting Started in AGS

- -
-
-

Editor

- -
-
-

Engine

- -
-
-

Scripting

- -
- -
-

Getting in touch

- -
-
-
- - - - - -
- - diff --git a/js/darkmode.js b/js/darkmode.js deleted file mode 100644 index f0e1acd36..000000000 --- a/js/darkmode.js +++ /dev/null @@ -1,87 +0,0 @@ -const checkbox_mode = document.getElementById("dark_mode_toggle") -const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)"); -const local_theme = window.localStorage.getItem('local_theme'); - -function set_dark_theme() { - if(!document.body.classList.contains("dark-theme")){ - document.body.classList.add("dark-theme"); - } -} - -function set_light_theme() { - if(document.body.classList.contains("dark-theme")){ - document.body.classList.remove("dark-theme"); - } -} - -function init_dark_mode_toggle() { - document.body.classList.add('notransition'); // Disable transitions - if((local_theme == 'dark' || prefersDarkScheme.matches) && local_theme != 'light' ) { - set_dark_theme(); - checkbox_mode.checked = true; - } else if(local_theme == 'light' || !prefersDarkScheme.matches) { - set_light_theme(); - checkbox_mode.checked = false; - } - document.body.offsetHeight; // Trigger a reflow, flushing the CSS changes - document.body.classList.remove('notransition'); // Re-enable transitions - - var elms = []; - elms = document.getElementsByClassName("toggle-control"); - for(i=0; i 1 && arguments[1] !== undefined ? arguments[1] : true; - var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - var iframesTimeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5000; - classCallCheck(this, DOMIterator); - - this.ctx = ctx; - this.iframes = iframes; - this.exclude = exclude; - this.iframesTimeout = iframesTimeout; - } - - createClass(DOMIterator, [{ - key: 'getContexts', - value: function getContexts() { - var ctx = void 0, - filteredCtx = []; - if (typeof this.ctx === 'undefined' || !this.ctx) { - ctx = []; - } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { - ctx = Array.prototype.slice.call(this.ctx); - } else if (Array.isArray(this.ctx)) { - ctx = this.ctx; - } else if (typeof this.ctx === 'string') { - ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); - } else { - ctx = [this.ctx]; - } - ctx.forEach(function (ctx) { - var isDescendant = filteredCtx.filter(function (contexts) { - return contexts.contains(ctx); - }).length > 0; - if (filteredCtx.indexOf(ctx) === -1 && !isDescendant) { - filteredCtx.push(ctx); - } - }); - return filteredCtx; - } - }, { - key: 'getIframeContents', - value: function getIframeContents(ifr, successFn) { - var errorFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {}; - - var doc = void 0; - try { - var ifrWin = ifr.contentWindow; - doc = ifrWin.document; - if (!ifrWin || !doc) { - throw new Error('iframe inaccessible'); - } - } catch (e) { - errorFn(); - } - if (doc) { - successFn(doc); - } - } - }, { - key: 'isIframeBlank', - value: function isIframeBlank(ifr) { - var bl = 'about:blank', - src = ifr.getAttribute('src').trim(), - href = ifr.contentWindow.location.href; - return href === bl && src !== bl && src; - } - }, { - key: 'observeIframeLoad', - value: function observeIframeLoad(ifr, successFn, errorFn) { - var _this = this; - - var called = false, - tout = null; - var listener = function listener() { - if (called) { - return; - } - called = true; - clearTimeout(tout); - try { - if (!_this.isIframeBlank(ifr)) { - ifr.removeEventListener('load', listener); - _this.getIframeContents(ifr, successFn, errorFn); - } - } catch (e) { - errorFn(); - } - }; - ifr.addEventListener('load', listener); - tout = setTimeout(listener, this.iframesTimeout); - } - }, { - key: 'onIframeReady', - value: function onIframeReady(ifr, successFn, errorFn) { - try { - if (ifr.contentWindow.document.readyState === 'complete') { - if (this.isIframeBlank(ifr)) { - this.observeIframeLoad(ifr, successFn, errorFn); - } else { - this.getIframeContents(ifr, successFn, errorFn); - } - } else { - this.observeIframeLoad(ifr, successFn, errorFn); - } - } catch (e) { - errorFn(); - } - } - }, { - key: 'waitForIframes', - value: function waitForIframes(ctx, done) { - var _this2 = this; - - var eachCalled = 0; - this.forEachIframe(ctx, function () { - return true; - }, function (ifr) { - eachCalled++; - _this2.waitForIframes(ifr.querySelector('html'), function () { - if (! --eachCalled) { - done(); - } - }); - }, function (handled) { - if (!handled) { - done(); - } - }); - } - }, { - key: 'forEachIframe', - value: function forEachIframe(ctx, filter, each) { - var _this3 = this; - - var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {}; - - var ifr = ctx.querySelectorAll('iframe'), - open = ifr.length, - handled = 0; - ifr = Array.prototype.slice.call(ifr); - var checkEnd = function checkEnd() { - if (--open <= 0) { - end(handled); - } - }; - if (!open) { - checkEnd(); - } - ifr.forEach(function (ifr) { - if (DOMIterator.matches(ifr, _this3.exclude)) { - checkEnd(); - } else { - _this3.onIframeReady(ifr, function (con) { - if (filter(ifr)) { - handled++; - each(con); - } - checkEnd(); - }, checkEnd); - } - }); - } - }, { - key: 'createIterator', - value: function createIterator(ctx, whatToShow, filter) { - return document.createNodeIterator(ctx, whatToShow, filter, false); - } - }, { - key: 'createInstanceOnIframe', - value: function createInstanceOnIframe(contents) { - return new DOMIterator(contents.querySelector('html'), this.iframes); - } - }, { - key: 'compareNodeIframe', - value: function compareNodeIframe(node, prevNode, ifr) { - var compCurr = node.compareDocumentPosition(ifr), - prev = Node.DOCUMENT_POSITION_PRECEDING; - if (compCurr & prev) { - if (prevNode !== null) { - var compPrev = prevNode.compareDocumentPosition(ifr), - after = Node.DOCUMENT_POSITION_FOLLOWING; - if (compPrev & after) { - return true; - } - } else { - return true; - } - } - return false; - } - }, { - key: 'getIteratorNode', - value: function getIteratorNode(itr) { - var prevNode = itr.previousNode(); - var node = void 0; - if (prevNode === null) { - node = itr.nextNode(); - } else { - node = itr.nextNode() && itr.nextNode(); - } - return { - prevNode: prevNode, - node: node - }; - } - }, { - key: 'checkIframeFilter', - value: function checkIframeFilter(node, prevNode, currIfr, ifr) { - var key = false, - handled = false; - ifr.forEach(function (ifrDict, i) { - if (ifrDict.val === currIfr) { - key = i; - handled = ifrDict.handled; - } - }); - if (this.compareNodeIframe(node, prevNode, currIfr)) { - if (key === false && !handled) { - ifr.push({ - val: currIfr, - handled: true - }); - } else if (key !== false && !handled) { - ifr[key].handled = true; - } - return true; - } - if (key === false) { - ifr.push({ - val: currIfr, - handled: false - }); - } - return false; - } - }, { - key: 'handleOpenIframes', - value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { - var _this4 = this; - - ifr.forEach(function (ifrDict) { - if (!ifrDict.handled) { - _this4.getIframeContents(ifrDict.val, function (con) { - _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); - }); - } - }); - } - }, { - key: 'iterateThroughNodes', - value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { - var _this5 = this; - - var itr = this.createIterator(ctx, whatToShow, filterCb); - var ifr = [], - elements = [], - node = void 0, - prevNode = void 0, - retrieveNodes = function retrieveNodes() { - var _getIteratorNode = _this5.getIteratorNode(itr); - - prevNode = _getIteratorNode.prevNode; - node = _getIteratorNode.node; - - return node; - }; - while (retrieveNodes()) { - if (this.iframes) { - this.forEachIframe(ctx, function (currIfr) { - return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); - }, function (con) { - _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function (ifrNode) { - return elements.push(ifrNode); - }, filterCb); - }); - } - elements.push(node); - } - elements.forEach(function (node) { - eachCb(node); - }); - if (this.iframes) { - this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); - } - doneCb(); - } - }, { - key: 'forEachNode', - value: function forEachNode(whatToShow, each, filter) { - var _this6 = this; - - var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {}; - - var contexts = this.getContexts(); - var open = contexts.length; - if (!open) { - done(); - } - contexts.forEach(function (ctx) { - var ready = function ready() { - _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function () { - if (--open <= 0) { - done(); - } - }); - }; - if (_this6.iframes) { - _this6.waitForIframes(ctx, ready); - } else { - ready(); - } - }); - } - }], [{ - key: 'matches', - value: function matches(element, selector) { - var selectors = typeof selector === 'string' ? [selector] : selector, - fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; - if (fn) { - var match = false; - selectors.every(function (sel) { - if (fn.call(element, sel)) { - match = true; - return false; - } - return true; - }); - return match; - } else { - return false; - } - } - }]); - return DOMIterator; -}(); - -var Mark$1 = function () { - function Mark(ctx) { - classCallCheck(this, Mark); - - this.ctx = ctx; - this.ie = false; - var ua = window.navigator.userAgent; - if (ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1) { - this.ie = true; - } - } - - createClass(Mark, [{ - key: 'log', - value: function log(msg) { - var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'debug'; - - var log = this.opt.log; - if (!this.opt.debug) { - return; - } - if ((typeof log === 'undefined' ? 'undefined' : _typeof(log)) === 'object' && typeof log[level] === 'function') { - log[level]('mark.js: ' + msg); - } - } - }, { - key: 'escapeStr', - value: function escapeStr(str) { - return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); - } - }, { - key: 'createRegExp', - value: function createRegExp(str) { - if (this.opt.wildcards !== 'disabled') { - str = this.setupWildcardsRegExp(str); - } - str = this.escapeStr(str); - if (Object.keys(this.opt.synonyms).length) { - str = this.createSynonymsRegExp(str); - } - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.setupIgnoreJoinersRegExp(str); - } - if (this.opt.diacritics) { - str = this.createDiacriticsRegExp(str); - } - str = this.createMergedBlanksRegExp(str); - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.createJoinersRegExp(str); - } - if (this.opt.wildcards !== 'disabled') { - str = this.createWildcardsRegExp(str); - } - str = this.createAccuracyRegExp(str); - return str; - } - }, { - key: 'createSynonymsRegExp', - value: function createSynonymsRegExp(str) { - var syn = this.opt.synonyms, - sens = this.opt.caseSensitive ? '' : 'i', - joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? '\0' : ''; - for (var index in syn) { - if (syn.hasOwnProperty(index)) { - var value = syn[index], - k1 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(index) : this.escapeStr(index), - k2 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(value) : this.escapeStr(value); - if (k1 !== '' && k2 !== '') { - str = str.replace(new RegExp('(' + this.escapeStr(k1) + '|' + this.escapeStr(k2) + ')', 'gm' + sens), joinerPlaceholder + ('(' + this.processSynomyms(k1) + '|') + (this.processSynomyms(k2) + ')') + joinerPlaceholder); - } - } - } - return str; - } - }, { - key: 'processSynomyms', - value: function processSynomyms(str) { - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.setupIgnoreJoinersRegExp(str); - } - return str; - } - }, { - key: 'setupWildcardsRegExp', - value: function setupWildcardsRegExp(str) { - str = str.replace(/(?:\\)*\?/g, function (val) { - return val.charAt(0) === '\\' ? '?' : '\x01'; - }); - return str.replace(/(?:\\)*\*/g, function (val) { - return val.charAt(0) === '\\' ? '*' : '\x02'; - }); - } - }, { - key: 'createWildcardsRegExp', - value: function createWildcardsRegExp(str) { - var spaces = this.opt.wildcards === 'withSpaces'; - return str.replace(/\u0001/g, spaces ? '[\\S\\s]?' : '\\S?').replace(/\u0002/g, spaces ? '[\\S\\s]*?' : '\\S*'); - } - }, { - key: 'setupIgnoreJoinersRegExp', - value: function setupIgnoreJoinersRegExp(str) { - return str.replace(/[^(|)\\]/g, function (val, indx, original) { - var nextChar = original.charAt(indx + 1); - if (/[(|)\\]/.test(nextChar) || nextChar === '') { - return val; - } else { - return val + '\0'; - } - }); - } - }, { - key: 'createJoinersRegExp', - value: function createJoinersRegExp(str) { - var joiner = []; - var ignorePunctuation = this.opt.ignorePunctuation; - if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { - joiner.push(this.escapeStr(ignorePunctuation.join(''))); - } - if (this.opt.ignoreJoiners) { - joiner.push('\\u00ad\\u200b\\u200c\\u200d'); - } - return joiner.length ? str.split(/\u0000+/).join('[' + joiner.join('') + ']*') : str; - } - }, { - key: 'createDiacriticsRegExp', - value: function createDiacriticsRegExp(str) { - var sens = this.opt.caseSensitive ? '' : 'i', - dct = this.opt.caseSensitive ? ['aàáảãạăằắẳẵặâầấẩẫậäåāą', 'AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćč', 'CÇĆČ', 'dđď', 'DĐĎ', 'eèéẻẽẹêềếểễệëěēę', 'EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïī', 'IÌÍỈĨỊÎÏĪ', 'lł', 'LŁ', 'nñňń', 'NÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøō', 'OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rř', 'RŘ', 'sšśșş', 'SŠŚȘŞ', 'tťțţ', 'TŤȚŢ', 'uùúủũụưừứửữựûüůū', 'UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿ', 'YÝỲỶỸỴŸ', 'zžżź', 'ZŽŻŹ'] : ['aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćčCÇĆČ', 'dđďDĐĎ', 'eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïīIÌÍỈĨỊÎÏĪ', 'lłLŁ', 'nñňńNÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rřRŘ', 'sšśșşSŠŚȘŞ', 'tťțţTŤȚŢ', 'uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿYÝỲỶỸỴŸ', 'zžżźZŽŻŹ']; - var handled = []; - str.split('').forEach(function (ch) { - dct.every(function (dct) { - if (dct.indexOf(ch) !== -1) { - if (handled.indexOf(dct) > -1) { - return false; - } - str = str.replace(new RegExp('[' + dct + ']', 'gm' + sens), '[' + dct + ']'); - handled.push(dct); - } - return true; - }); - }); - return str; - } - }, { - key: 'createMergedBlanksRegExp', - value: function createMergedBlanksRegExp(str) { - return str.replace(/[\s]+/gmi, '[\\s]+'); - } - }, { - key: 'createAccuracyRegExp', - value: function createAccuracyRegExp(str) { - var _this = this; - - var chars = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~¡¿'; - var acc = this.opt.accuracy, - val = typeof acc === 'string' ? acc : acc.value, - ls = typeof acc === 'string' ? [] : acc.limiters, - lsJoin = ''; - ls.forEach(function (limiter) { - lsJoin += '|' + _this.escapeStr(limiter); - }); - switch (val) { - case 'partially': - default: - return '()(' + str + ')'; - case 'complementary': - lsJoin = '\\s' + (lsJoin ? lsJoin : this.escapeStr(chars)); - return '()([^' + lsJoin + ']*' + str + '[^' + lsJoin + ']*)'; - case 'exactly': - return '(^|\\s' + lsJoin + ')(' + str + ')(?=$|\\s' + lsJoin + ')'; - } - } - }, { - key: 'getSeparatedKeywords', - value: function getSeparatedKeywords(sv) { - var _this2 = this; - - var stack = []; - sv.forEach(function (kw) { - if (!_this2.opt.separateWordSearch) { - if (kw.trim() && stack.indexOf(kw) === -1) { - stack.push(kw); - } - } else { - kw.split(' ').forEach(function (kwSplitted) { - if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { - stack.push(kwSplitted); - } - }); - } - }); - return { - 'keywords': stack.sort(function (a, b) { - return b.length - a.length; - }), - 'length': stack.length - }; - } - }, { - key: 'isNumeric', - value: function isNumeric(value) { - return Number(parseFloat(value)) == value; - } - }, { - key: 'checkRanges', - value: function checkRanges(array) { - var _this3 = this; - - if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== '[object Object]') { - this.log('markRanges() will only accept an array of objects'); - this.opt.noMatch(array); - return []; - } - var stack = []; - var last = 0; - array.sort(function (a, b) { - return a.start - b.start; - }).forEach(function (item) { - var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), - start = _callNoMatchOnInvalid.start, - end = _callNoMatchOnInvalid.end, - valid = _callNoMatchOnInvalid.valid; - - if (valid) { - item.start = start; - item.length = end - start; - stack.push(item); - last = end; - } - }); - return stack; - } - }, { - key: 'callNoMatchOnInvalidRanges', - value: function callNoMatchOnInvalidRanges(range, last) { - var start = void 0, - end = void 0, - valid = false; - if (range && typeof range.start !== 'undefined') { - start = parseInt(range.start, 10); - end = start + parseInt(range.length, 10); - if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { - valid = true; - } else { - this.log('Ignoring invalid or overlapping range: ' + ('' + JSON.stringify(range))); - this.opt.noMatch(range); - } - } else { - this.log('Ignoring invalid range: ' + JSON.stringify(range)); - this.opt.noMatch(range); - } - return { - start: start, - end: end, - valid: valid - }; - } - }, { - key: 'checkWhitespaceRanges', - value: function checkWhitespaceRanges(range, originalLength, string) { - var end = void 0, - valid = true, - max = string.length, - offset = originalLength - max, - start = parseInt(range.start, 10) - offset; - start = start > max ? max : start; - end = start + parseInt(range.length, 10); - if (end > max) { - end = max; - this.log('End range automatically set to the max value of ' + max); - } - if (start < 0 || end - start < 0 || start > max || end > max) { - valid = false; - this.log('Invalid range: ' + JSON.stringify(range)); - this.opt.noMatch(range); - } else if (string.substring(start, end).replace(/\s+/g, '') === '') { - valid = false; - this.log('Skipping whitespace only range: ' + JSON.stringify(range)); - this.opt.noMatch(range); - } - return { - start: start, - end: end, - valid: valid - }; - } - }, { - key: 'getTextNodes', - value: function getTextNodes(cb) { - var _this4 = this; - - var val = '', - nodes = []; - this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function (node) { - nodes.push({ - start: val.length, - end: (val += node.textContent).length, - node: node - }); - }, function (node) { - if (_this4.matchesExclude(node.parentNode)) { - return NodeFilter.FILTER_REJECT; - } else { - return NodeFilter.FILTER_ACCEPT; - } - }, function () { - cb({ - value: val, - nodes: nodes - }); - }); - } - }, { - key: 'matchesExclude', - value: function matchesExclude(el) { - return DOMIterator.matches(el, this.opt.exclude.concat(['script', 'style', 'title', 'head', 'html'])); - } - }, { - key: 'wrapRangeInTextNode', - value: function wrapRangeInTextNode(node, start, end) { - var hEl = !this.opt.element ? 'mark' : this.opt.element, - startNode = node.splitText(start), - ret = startNode.splitText(end - start); - var repl = document.createElement(hEl); - repl.setAttribute('data-markjs', 'true'); - if (this.opt.className) { - repl.setAttribute('class', this.opt.className); - } - repl.textContent = startNode.textContent; - startNode.parentNode.replaceChild(repl, startNode); - return ret; - } - }, { - key: 'wrapRangeInMappedTextNode', - value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { - var _this5 = this; - - dict.nodes.every(function (n, i) { - var sibl = dict.nodes[i + 1]; - if (typeof sibl === 'undefined' || sibl.start > start) { - if (!filterCb(n.node)) { - return false; - } - var s = start - n.start, - e = (end > n.end ? n.end : end) - n.start, - startStr = dict.value.substr(0, n.start), - endStr = dict.value.substr(e + n.start); - n.node = _this5.wrapRangeInTextNode(n.node, s, e); - dict.value = startStr + endStr; - dict.nodes.forEach(function (k, j) { - if (j >= i) { - if (dict.nodes[j].start > 0 && j !== i) { - dict.nodes[j].start -= e; - } - dict.nodes[j].end -= e; - } - }); - end -= e; - eachCb(n.node.previousSibling, n.start); - if (end > n.end) { - start = n.end; - } else { - return false; - } - } - return true; - }); - } - }, { - key: 'wrapMatches', - value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { - var _this6 = this; - - var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; - this.getTextNodes(function (dict) { - dict.nodes.forEach(function (node) { - node = node.node; - var match = void 0; - while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== '') { - if (!filterCb(match[matchIdx], node)) { - continue; - } - var pos = match.index; - if (matchIdx !== 0) { - for (var i = 1; i < matchIdx; i++) { - pos += match[i].length; - } - } - node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); - eachCb(node.previousSibling); - regex.lastIndex = 0; - } - }); - endCb(); - }); - } - }, { - key: 'wrapMatchesAcrossElements', - value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { - var _this7 = this; - - var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; - this.getTextNodes(function (dict) { - var match = void 0; - while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== '') { - var start = match.index; - if (matchIdx !== 0) { - for (var i = 1; i < matchIdx; i++) { - start += match[i].length; - } - } - var end = start + match[matchIdx].length; - _this7.wrapRangeInMappedTextNode(dict, start, end, function (node) { - return filterCb(match[matchIdx], node); - }, function (node, lastIndex) { - regex.lastIndex = lastIndex; - eachCb(node); - }); - } - endCb(); - }); - } - }, { - key: 'wrapRangeFromIndex', - value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { - var _this8 = this; - - this.getTextNodes(function (dict) { - var originalLength = dict.value.length; - ranges.forEach(function (range, counter) { - var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), - start = _checkWhitespaceRange.start, - end = _checkWhitespaceRange.end, - valid = _checkWhitespaceRange.valid; - - if (valid) { - _this8.wrapRangeInMappedTextNode(dict, start, end, function (node) { - return filterCb(node, range, dict.value.substring(start, end), counter); - }, function (node) { - eachCb(node, range); - }); - } - }); - endCb(); - }); - } - }, { - key: 'unwrapMatches', - value: function unwrapMatches(node) { - var parent = node.parentNode; - var docFrag = document.createDocumentFragment(); - while (node.firstChild) { - docFrag.appendChild(node.removeChild(node.firstChild)); - } - parent.replaceChild(docFrag, node); - if (!this.ie) { - parent.normalize(); - } else { - this.normalizeTextNode(parent); - } - } - }, { - key: 'normalizeTextNode', - value: function normalizeTextNode(node) { - if (!node) { - return; - } - if (node.nodeType === 3) { - while (node.nextSibling && node.nextSibling.nodeType === 3) { - node.nodeValue += node.nextSibling.nodeValue; - node.parentNode.removeChild(node.nextSibling); - } - } else { - this.normalizeTextNode(node.firstChild); - } - this.normalizeTextNode(node.nextSibling); - } - }, { - key: 'markRegExp', - value: function markRegExp(regexp, opt) { - var _this9 = this; - - this.opt = opt; - this.log('Searching with expression "' + regexp + '"'); - var totalMatches = 0, - fn = 'wrapMatches'; - var eachCb = function eachCb(element) { - totalMatches++; - _this9.opt.each(element); - }; - if (this.opt.acrossElements) { - fn = 'wrapMatchesAcrossElements'; - } - this[fn](regexp, this.opt.ignoreGroups, function (match, node) { - return _this9.opt.filter(node, match, totalMatches); - }, eachCb, function () { - if (totalMatches === 0) { - _this9.opt.noMatch(regexp); - } - _this9.opt.done(totalMatches); - }); - } - }, { - key: 'mark', - value: function mark(sv, opt) { - var _this10 = this; - - this.opt = opt; - var totalMatches = 0, - fn = 'wrapMatches'; - - var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === 'string' ? [sv] : sv), - kwArr = _getSeparatedKeywords.keywords, - kwArrLen = _getSeparatedKeywords.length, - sens = this.opt.caseSensitive ? '' : 'i', - handler = function handler(kw) { - var regex = new RegExp(_this10.createRegExp(kw), 'gm' + sens), - matches = 0; - _this10.log('Searching with expression "' + regex + '"'); - _this10[fn](regex, 1, function (term, node) { - return _this10.opt.filter(node, kw, totalMatches, matches); - }, function (element) { - matches++; - totalMatches++; - _this10.opt.each(element); - }, function () { - if (matches === 0) { - _this10.opt.noMatch(kw); - } - if (kwArr[kwArrLen - 1] === kw) { - _this10.opt.done(totalMatches); - } else { - handler(kwArr[kwArr.indexOf(kw) + 1]); - } - }); - }; - - if (this.opt.acrossElements) { - fn = 'wrapMatchesAcrossElements'; - } - if (kwArrLen === 0) { - this.opt.done(totalMatches); - } else { - handler(kwArr[0]); - } - } - }, { - key: 'markRanges', - value: function markRanges(rawRanges, opt) { - var _this11 = this; - - this.opt = opt; - var totalMatches = 0, - ranges = this.checkRanges(rawRanges); - if (ranges && ranges.length) { - this.log('Starting to mark with the following ranges: ' + JSON.stringify(ranges)); - this.wrapRangeFromIndex(ranges, function (node, range, match, counter) { - return _this11.opt.filter(node, range, match, counter); - }, function (element, range) { - totalMatches++; - _this11.opt.each(element, range); - }, function () { - _this11.opt.done(totalMatches); - }); - } else { - this.opt.done(totalMatches); - } - } - }, { - key: 'unmark', - value: function unmark(opt) { - var _this12 = this; - - this.opt = opt; - var sel = this.opt.element ? this.opt.element : '*'; - sel += '[data-markjs]'; - if (this.opt.className) { - sel += '.' + this.opt.className; - } - this.log('Removal selector "' + sel + '"'); - this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function (node) { - _this12.unwrapMatches(node); - }, function (node) { - var matchesSel = DOMIterator.matches(node, sel), - matchesExclude = _this12.matchesExclude(node); - if (!matchesSel || matchesExclude) { - return NodeFilter.FILTER_REJECT; - } else { - return NodeFilter.FILTER_ACCEPT; - } - }, this.opt.done); - } - }, { - key: 'opt', - set: function set$$1(val) { - this._opt = _extends({}, { - 'element': '', - 'className': '', - 'exclude': [], - 'iframes': false, - 'iframesTimeout': 5000, - 'separateWordSearch': true, - 'diacritics': true, - 'synonyms': {}, - 'accuracy': 'partially', - 'acrossElements': false, - 'caseSensitive': false, - 'ignoreJoiners': false, - 'ignoreGroups': 0, - 'ignorePunctuation': [], - 'wildcards': 'disabled', - 'each': function each() {}, - 'noMatch': function noMatch() {}, - 'filter': function filter() { - return true; - }, - 'done': function done() {}, - 'debug': false, - 'log': window.console - }, val); - }, - get: function get$$1() { - return this._opt; - } - }, { - key: 'iterator', - get: function get$$1() { - return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); - } - }]); - return Mark; -}(); - -function Mark(ctx) { - var _this = this; - - var instance = new Mark$1(ctx); - this.mark = function (sv, opt) { - instance.mark(sv, opt); - return _this; - }; - this.markRegExp = function (sv, opt) { - instance.markRegExp(sv, opt); - return _this; - }; - this.markRanges = function (sv, opt) { - instance.markRanges(sv, opt); - return _this; - }; - this.unmark = function (opt) { - instance.unmark(opt); - return _this; - }; - return this; -} - -return Mark; - -}))); diff --git a/js/mark.min.js b/js/mark.min.js deleted file mode 100644 index 1eea05338..000000000 --- a/js/mark.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!*************************************************** -* mark.js v8.11.1 -* https://markjs.io/ -* Copyright (c) 2014–2018, Julian Kühnel -* Released under the MIT license https://git.io/vwTVl -*****************************************************/ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t=e.getAttribute("src").trim();return"about:blank"===e.contentWindow.location.href&&"about:blank"!==t&&t}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(a)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c { - - const observer = new IntersectionObserver(entries => { - entries.forEach(entry => { - const id = entry.target.getAttribute('id'); - if (entry.intersectionRatio > 0) { - document.querySelector('nav li a[href="#' + id +'"]').parentElement.classList.add('active'); - } else { - document.querySelector('nav li a[href="#' + id + '"]').parentElement.classList.remove('active'); - } - }); - }); - - // Track all sections that have an `id` applied - document.querySelectorAll('section[id].level3').forEach((section) => { - observer.observe(section); - }); - -}); - -function update_case_sensitive_checkbox_text() -{ - case_sensitive_checkbox.parentElement.title = case_sensitive_checkbox.checked ? "Match case" : "Ignore case"; -} - -function storage(param, value) { - if(typeof value == 'undefined') { - var retval = window.localStorage.getItem(param); - if (retval == 'true' || retval == 'false') return retval == 'true'; - return retval; - } - else - window.localStorage.setItem(param, value); - - return value; -} - -function upgrade_info_boxes() { - document.querySelectorAll('main p strong:first-child').forEach(function(item){ - // abort if not the first thing in the block - if ( !/^(NOTE|IMPORTANT|TIP)\:/.test(item.parentElement.innerText) ) return; - - var found = true; - switch(item.innerText) { - case 'NOTE:': item.parentElement.className = "block-info"; break; - case 'IMPORTANT:': item.parentElement.className = "block-warning"; break; - case 'TIP:': item.parentElement.className = "block-tip"; break; - - default: found = false; break; - } - if (found) item.innerText = item.innerText.replace(':',''); - }); -} - -function init() { - upgrade_info_boxes(); - ci_keywords = build_ci_keywords(); - search_input = document.getElementById('search_input'); - search_results = document.getElementById('search_results'); - case_sensitive_checkbox = document.getElementById('citoggle'); - case_sensitive_checkbox.checked = storage('case_sensitive') ?? false; - whole_word_checkbox = document.getElementById('wwtoggle'); - whole_word_checkbox.checked = storage('whole_word') ?? true; - highlight_checkbox = document.getElementById('hltoggle'); - highlight_checkbox.checked = storage('highlight') ?? true; - - previous_search = search_input.value; - search_check = setInterval(search, SEARCH_CHECK_MS); - - update_case_sensitive_checkbox_text(); - do_highlight(); - during_init = false; -} - -function citoggle_clicked() -{ - storage('case_sensitive', case_sensitive_checkbox.checked); - update_case_sensitive_checkbox_text(); - - search(); -} - -function wwtoggle_clicked() -{ - storage('whole_word', whole_word_checkbox.checked); - search(); -} - -function hltoggle_clicked() -{ - storage('highlight', highlight_checkbox.checked); - do_highlight(); -} - -function search() { - var query = search_input.value.replace(/[\])}[{(]/g, ''); - var is_case_sensitive = case_sensitive_checkbox.checked; - var is_whole_word = whole_word_checkbox.checked; - - if (query !== previous_query || was_case_sensitive != is_case_sensitive || was_whole_word != is_whole_word) { - previous_query = query; - update_results(query.split(/\s+/), is_case_sensitive, is_whole_word) - } - - was_case_sensitive = is_case_sensitive; - was_whole_word = is_whole_word; -} - -function search_partial_key(haystack, searchValue) { - if (typeof searchValue != 'undefined' && searchValue.length < 3) return []; - var matches = []; - - for (var key in haystack) { - if (key.startsWith(searchValue)) { - matches.push(key); - } - } - return matches; -}; - -function update_results(words, is_case_sensitive, is_whole_world) { - //remove exiting entries - while (search_results.firstChild) { - search_results.removeChild(search_results.firstChild); - } - - var track = { "total": Object.create(null), "which": Object.create(null) } - - var keywords = is_case_sensitive ? meta.keywords : ci_keywords; - - words.forEach(word => { - if (!is_case_sensitive) word = word.toLowerCase(); - - // naive partial matching - if (!is_whole_world) { - let matches = search_partial_key(keywords, word); - matches.forEach(word2 => { - if (word2 in keywords) { - var max = Object.keys(keywords[word2]).length; - - for (var i = 0; i < max; i ++) { - Object.keys(keywords[word2][i]).forEach(docname => { - // add counts for multiple hits - if (docname in track.total) { - track.total[docname] += keywords[word2][i][docname]; - } else { - track.total[docname] = keywords[word2][i][docname]; - } - - // track which search words were found - if (!(docname in track.which)) { - track.which[docname] = {} - } - - track.which[docname][word2] = keywords[word2][i][docname] - - }) - } - } - }); - return; - } - - - if (word in keywords) { - var max = Object.keys(keywords[word]).length; - - for (var i = 0; i < max; i ++) { - Object.keys(keywords[word][i]).forEach(docname => { - // add counts for multiple hits - if (docname in track.total) { - track.total[docname] += keywords[word][i][docname]; - } else { - track.total[docname] = keywords[word][i][docname]; - } - - // track which search words were found - if (!(docname in track.which)) { - track.which[docname] = {} - } - - track.which[docname][word] = keywords[word][i][docname] - }) - } - - } - }); - - if (Object.keys(track.total).length === 0 && words[0] !== '') { - var li = document.createElement('li'); - li.innerHTML = 'No match'; - li.className = 'search-nomatch'; - search_results.appendChild(li); - return; - } - - Object.keys(track.total).sort(function(a, b) {return track.total[b] - track.total[a]}).forEach(docname => { - var found_by = Object.keys(track.which[docname]) - var title = meta.titles[docname]; - var labels = create_labels(track.which[docname]); - - var a = document.createElement('a'); - a.title = title; - a.href = docname + '.html?highlight=' + encodeURIComponent(found_by.join(' ')) + - '&case_sensitive=' + (case_sensitive_checkbox.checked ? '1' : '0') - a.appendChild(document.createTextNode(title)); - - var li = document.createElement('li'); - li.appendChild(a); - li.appendChild(labels); - li.className = 'search-match'; - search_results.appendChild(li); - }); -} - -function create_labels(labels, max) { - var span = document.createElement('span'); - span.className = "labels"; - for (var label in labels) { - var spanlabel = document.createElement('span'); - spanlabel.className = "label"; - spanlabel.innerText = label; - var spancount = document.createElement('span'); - spancount.className = "label-count"; - spancount.innerText = labels[label]; - spanlabel.appendChild(spancount); - span.appendChild(spanlabel); - } - return span; - -} - -function build_ci_keywords() { - var output = {}; - - // build up the lookup table - Object.keys(meta.keywords).forEach(word => { - var max = Object.keys(meta.keywords[word]).length; - var ci_word = word.toLowerCase(); - if (!output[ci_word]) output[ci_word] = {}; - var ci_children_count = Object.keys(output[ci_word]).length; - - for (var i = 0; i < max; i ++) { - output[ci_word][ci_children_count + i] = meta.keywords[word][i]; - } - }); - - return output; -} - -function do_highlight() { - var urlParams = new URLSearchParams(window.location.search); - var highlight = urlParams.get('highlight'); - var case_sensitive = urlParams.get('case_sensitive') == '1'; - - if (!highlight) return; - - var instance = new Mark(document.querySelector("main")); - - var options = { - "caseSensitive": case_sensitive, - "accuracy": { - "value": whole_word_checkbox.checked ? 'exactly' : 'partially', - "limiters": [",", ".","/"] - } - } - - if (highlight_checkbox.checked) - instance.mark(highlight, options); - else - instance.unmark(); - - // move to first occurrence of highlighted word, if any, and only after page load - // there are no better alternatives at the moment, since inner page titles are not available as a match entry - if (during_init) { - // delayed call to wait for markjs - setTimeout(function(){ - var mark = document.querySelector("main mark") - if (mark) window.scrollTo(0, mark.getBoundingClientRect().top); - },0); - } -} - -var meta = { - "titles": { - "acintro": "Editor Tutorial", - "acintro1": "Getting Started with AGS", - "acintro2": "Getting Started with AGS - Part 2", - "acintro3": "Getting Started with AGS - Part 3", - "acintro4": "Getting Started with AGS - Part 4", - "acintro5": "Getting Started with AGS - Part 5", - "acintro6": "Getting Started with AGS - Part 6", - "acintro7": "Getting Started with AGS - Part 7", - "acintro8": "Getting Started with AGS - Part 8", - "acintro9": "Getting Started with AGS - Part 9", - "AdvancedRoomFeatures": "Advanced room features", - "AnonymousUsageInfo": "Anonymous usage information", - "AudioChannel": "AudioChannel functions and properties", - "AudioClip": "AudioClip functions and properties", - "AudioInScript": "Audio in script", - "AutonumberSpeechFiles": "Auto-number speech files", - "BackingUpYourGame": "Backing up your game", - "BlockingScripts": "Understanding blocking scripts", - "BuildAndroid": "Building for Android", - "Button": "Button functions and properties", - "Camera": "Camera functions and properties", - "Character": "Character functions and properties", - "ColoursEditor": "Colours Editor", - "Constants": "Constants", - "ContactingTheDevelopers": "Contacting the developers", - "Copyright": "Copyright and terms of use", - "Credits": "Credits", - "CustomDialogOptions": "Custom dialog options rendering", - "CustomProperties": "Custom Properties", - "DateTime": "DateTime functions and properties", - "Debuggingfeatures": "Debugging features", - "DefaultSetup": "Default Setup", - "Dialog": "Dialog functions and properties", - "DialogOptionsRenderingInfo": "DialogOptionsRenderingInfo functions and properties", - "DialogScript": "Dialog Script", - "Dictionary": "Dictionary Functions and Properties", - "DistGame": "Distributing your game", - "DrawingSurface": "DrawingSurface functions and properties", - "DynamicArrays": "Dynamic Arrays", - "DynamicSprite": "DynamicSprite functions and properties", - "EditorCharacter": "Character Editor", - "EditorCommandLineOptions": "Editor Command Line Options", - "EditorCursor": "Cursor Editor", - "EditorDialog": "Dialog Editor", - "EditorFont": "Font Preview", - "EditorGUI": "GUI Editor", - "EditorInventoryItems": "Inventory Items Editor", - "EditorLogPanel": "Log Panel", - "EditorPlugins": "Editor Plugins", - "EditorPreferences": "Editor Preferences", - "EditorRoom": "Room Editor", - "EditorSprite": "Sprite Manager", - "EditorView": "View Editor", - "EngineConfigFile": "Engine Config File", - "EnginePluginDesign-timeAPI": "Engine Plugin Design-time API", - "EnginePluginRun-timeAPI": "Engine Plugin Run-time API", - "EnginePlugins": "Engine Plugins", - "EventTypes": "Event Types", - "ExtenderFunctions": "Extender functions", - "FAQ": "Frequently Asked Questions", - "File": "File functions and properties", - "Game": "Game functions and properties", - "GameEventsOrder": "Game events order", - "GameSavesCompatibility": "Game saves compatibility", - "Gamevariables": "Game variables", - "GeneralSettings": "General settings", - "GlobalArrays": "Global Arrays", - "Globalfunctions_Event": "Global event handlers", - "Globalfunctions_General": "Global functions (general section)", - "Globalfunctions_Message": "Global functions (Message Display)", - "Globalfunctions_Palette": "Global functions (Palette Operations)", - "Globalfunctions_Room": "Global functions (room actions)", - "Globalfunctions_Screen": "Global functions (Screen Effects)", - "Globalfunctions_Wait": "Global functions (Wait)", - "GlobalVariables": "Global variables", - "GraphicsDriver": "Graphics driver selection", - "GUI": "GUI functions and properties", - "GUIControl": "GUIControl functions and properties", - "Hotspot": "Hotspot functions and properties", - "ImportingFunctionsAndVariables": "Importing functions and variables in other scripts", - "Introduction": "Introduction", - "InventoryItem": "InventoryItem functions and properties", - "InvWindow": "InvWindow functions and properties", - "KeyboardShortcuts": "Keyboard Shortcuts", - "Keycodes": "Key code table", - "Label": "Label functions and properties", - "Lipsync": "Lip sync", - "ListBox": "ListBox functions and properties", - "Maths": "Maths functions and properties", - "MIDI-playback": "MIDI playback", - "Mouse": "Mouse functions and properties", - "Multimedia": "Multimedia functions", - "MultipleScripts": "Multiple Scripts", - "MusicAndSound": "Music and sound", - "Object": "Object functions and properties", - "ObsoleteScriptAPI": "Obsolete Script API", - "OOProgramming": "Object Oriented Programming", - "OtherFeatures": "Other Features", - "Overlay": "Overlay functions and properties", - "Parser": "Parser functions", - "Plugins": "Plugins", - "Pointers": "Pointers in AGS", - "Preprocessor": "Preprocessor", - "Region": "Region functions and properties", - "RepExec": "repeatedly_execute (_always)", - "Room": "Room functions and properties", - "RuntimeEngine": "The run-time engine", - "Screen": "Screen Functions and Properties", - "ScriptAPIOverview": "Script API Overview", - "Scripting": "Scripting API", - "ScriptingLanguage": "Scripting Language", - "ScriptingTutorial": "Scripting Tutorial", - "ScriptingTutorialPart1": "Scripting Tutorial - Part 1", - "ScriptingTutorialPart2": "Scripting Tutorial - Part 2", - "ScriptKeywords": "Script language keywords", - "ScriptModules": "Managing modules", - "Set": "Set Functions and Properties", - "Settingupthegame": "Setting up the game", - "Setup": "Run-time engine setup", - "Slider": "Slider properties", - "SourceControl": "Source Control integration", - "Speech": "Speech functions and properties", - "StandardEnums": "Standard Enumerated Types", - "StandardTypes": "Standard Types", - "StartingOff": "Starting off", - "String": "String functions", - "StringFormats": "String formatting", - "System": "System functions and properties", - "SystemLimits": "System limits", - "SystemRequirements": "System Requirements", - "TemplateBASS": "BASS template", - "Templates": "New Game templates", - "TemplateSierraStyle": "Sierra-style template", - "TemplateVerbcoin": "VerbCoin template", - "TextBox": "TextBox functions and properties", - "TextParser": "Text Parser", - "TextWindowGUI": "TextWindowGUI functions and properties", - "TheScriptHeader": "The script header", - "Translations": "Translations", - "TroubleshootingWindowsZoneID": "Troubleshooting Windows Zone Identifier", - "Tumbleweed": "Tumbleweed", - "Tumbleweed_actions": "Tumbleweed Action Functions", - "Tumbleweed_door": "Tumbleweed Door functions", - "Tumbleweed_extensions": "Tumbleweed Extensions", - "Tumbleweed_helper": "Tumbleweed Math and Helper Functions", - "Tumbleweed_movement": "Tumbleweed Semi-blocking movement functions", - "Tumbleweed_player": "Tumbleweed Player functions", - "Tumbleweed_translation": "Tumbleweed Translation", - "Tumbleweed_unhandled": "Tumbleweed Unhandled Events", - "Tutorial": "Tutorial", - "UnicodeSupport": "Unicode Support", - "UpgradeTo30": "Upgrading to AGS 3.0", - "UpgradeTo31": "Upgrading to AGS 3.1", - "UpgradeTo32": "Upgrading to AGS 3.2", - "UpgradeTo33": "Upgrading to AGS 3.3", - "UpgradeTo335": "Upgrading to AGS 3.3.5", - "UpgradeTo34": "Upgrading to AGS 3.4", - "UpgradeTo341": "Upgrading to AGS 3.4.1", - "UpgradeTo35": "Upgrading to AGS 3.5", - "UpgradeTo36": "Upgrading to AGS 3.6", - "UpgradeTo361": "Upgrading to AGS 3.6.1", - "UpgradingFromPreviousVersion": "Upgrading from a previous version", - "UpgradingTo27": "Upgrading to AGS 2.7", - "UpgradingTo271": "Upgrading to AGS 2.71", - "ViewFrame": "ViewFrame functions and properties", - "Viewport": "Viewport functions and properties", - "VoiceSpeech": "Voice speech" - }, - "keywords": { - "'A'": { - "0": { "File": 1 } - }, - "'B'": { - "0": { "File": 1 } - }, - "'o'": { - "0": { "String": 3 } - }, - "-counter": { - "0": { "DynamicSprite": 1 } - }, - "-verb": { - "0": { "Tumbleweed": 1 } - }, - "A-Z": { - "0": { "acintro7": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "Settingupthegame": 1 } - }, - "AAAAARRRRGGGGHHHHHH": { - "0": { "ExtenderFunctions": 2 } - }, - "AAB": { - "0": { "GeneralSettings": 1 } - }, - "AB": { - "0": { "File": 1 } - }, - "ABC": { - "0": { "ScriptKeywords": 1 } - }, - "ABCD": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "ACSPRSET": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Templates": 1 } - }, - "ACWIN": { - "0": { "Game": 1 } - }, - "ADVENTURE": { - "0": { "Copyright": 1 } - }, - "ADVISED": { - "0": { "Copyright": 1 } - }, - "AFTER": { - "0": { "EventTypes": 3 }, - "1": { "ScriptKeywords": 1 } - }, - "AGF": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DistGame": 1 }, - "2": { "Templates": 1 } - }, - "AGHAST": { - "0": { "Character": 2 } - }, - "AGI": { - "0": { "FAQ": 1 } - }, - "AGS": { - "0": { "acintro": 1 }, - "1": { "acintro1": 13 }, - "2": { "acintro2": 8 }, - "3": { "acintro3": 5 }, - "4": { "acintro4": 7 }, - "5": { "acintro5": 3 }, - "6": { "acintro6": 5 }, - "7": { "acintro7": 4 }, - "8": { "acintro8": 7 }, - "9": { "acintro9": 11 }, - "10": { "AdvancedRoomFeatures": 4 }, - "11": { "AnonymousUsageInfo": 12 }, - "12": { "AudioChannel": 17 }, - "13": { "AudioClip": 14 }, - "14": { "AudioInScript": 2 }, - "15": { "BlockingScripts": 6 }, - "16": { "BuildAndroid": 7 }, - "17": { "Button": 8 }, - "18": { "Camera": 2 }, - "19": { "Character": 51 }, - "20": { "Constants": 16 }, - "21": { "ContactingTheDevelopers": 8 }, - "22": { "Copyright": 6 }, - "23": { "Credits": 1 }, - "24": { "CustomDialogOptions": 8 }, - "25": { "Debuggingfeatures": 2 }, - "26": { "DefaultSetup": 1 }, - "27": { "Dialog": 12 }, - "28": { "DialogOptionsRenderingInfo": 16 }, - "29": { "DialogScript": 4 }, - "30": { "Dictionary": 1 }, - "31": { "DistGame": 9 }, - "32": { "DrawingSurface": 15 }, - "33": { "DynamicArrays": 2 }, - "34": { "DynamicSprite": 6 }, - "35": { "EditorCommandLineOptions": 7 }, - "36": { "EditorCursor": 2 }, - "37": { "EditorDialog": 1 }, - "38": { "EditorFont": 4 }, - "39": { "EditorGUI": 1 }, - "40": { "EditorLogPanel": 4 }, - "41": { "EditorPlugins": 30 }, - "42": { "EditorRoom": 1 }, - "43": { "EditorSprite": 7 }, - "44": { "EditorView": 3 }, - "45": { "EngineConfigFile": 4 }, - "46": { "EnginePluginDesign-timeAPI": 22 }, - "47": { "EnginePluginRun-timeAPI": 67 }, - "48": { "EnginePlugins": 6 }, - "49": { "EventTypes": 1 }, - "50": { "ExtenderFunctions": 2 }, - "51": { "FAQ": 19 }, - "52": { "File": 12 }, - "53": { "Game": 37 }, - "54": { "GameEventsOrder": 5 }, - "55": { "GameSavesCompatibility": 5 }, - "56": { "Gamevariables": 2 }, - "57": { "GeneralSettings": 16 }, - "58": { "GlobalArrays": 3 }, - "59": { "Globalfunctions_Event": 7 }, - "60": { "Globalfunctions_General": 21 }, - "61": { "Globalfunctions_Message": 2 }, - "62": { "Globalfunctions_Palette": 1 }, - "63": { "Globalfunctions_Room": 9 }, - "64": { "Globalfunctions_Wait": 7 }, - "65": { "GlobalVariables": 2 }, - "66": { "GraphicsDriver": 2 }, - "67": { "GUI": 11 }, - "68": { "GUIControl": 7 }, - "69": { "Hotspot": 9 }, - "70": { "ImportingFunctionsAndVariables": 3 }, - "71": { "Introduction": 9 }, - "72": { "InventoryItem": 8 }, - "73": { "KeyboardShortcuts": 1 }, - "74": { "Keycodes": 8 }, - "75": { "Label": 1 }, - "76": { "Lipsync": 9 }, - "77": { "ListBox": 9 }, - "78": { "Maths": 6 }, - "79": { "MIDI-playback": 4 }, - "80": { "Mouse": 7 }, - "81": { "Multimedia": 8 }, - "82": { "MultipleScripts": 1 }, - "83": { "MusicAndSound": 16 }, - "84": { "Object": 27 }, - "85": { "ObsoleteScriptAPI": 1 }, - "86": { "OtherFeatures": 1 }, - "87": { "Overlay": 9 }, - "88": { "Parser": 2 }, - "89": { "Plugins": 11 }, - "90": { "Pointers": 16 }, - "91": { "Preprocessor": 11 }, - "92": { "Region": 3 }, - "93": { "Room": 3 }, - "94": { "RuntimeEngine": 5 }, - "95": { "Screen": 3 }, - "96": { "ScriptAPIOverview": 14 }, - "97": { "ScriptingLanguage": 2 }, - "98": { "ScriptingTutorial": 1 }, - "99": { "ScriptingTutorialPart1": 11 }, - "100": { "ScriptingTutorialPart2": 6 }, - "101": { "ScriptKeywords": 13 }, - "102": { "ScriptModules": 5 }, - "103": { "Set": 1 }, - "104": { "Settingupthegame": 16 }, - "105": { "Setup": 1 }, - "106": { "Slider": 3 }, - "107": { "SourceControl": 7 }, - "108": { "Speech": 7 }, - "109": { "StandardEnums": 10 }, - "110": { "StandardTypes": 1 }, - "111": { "StartingOff": 2 }, - "112": { "String": 7 }, - "113": { "StringFormats": 2 }, - "114": { "System": 25 }, - "115": { "SystemLimits": 3 }, - "116": { "Templates": 9 }, - "117": { "TemplateSierraStyle": 1 }, - "118": { "TemplateVerbcoin": 1 }, - "119": { "TextBox": 2 }, - "120": { "TextParser": 3 }, - "121": { "TextWindowGUI": 1 }, - "122": { "TheScriptHeader": 1 }, - "123": { "Translations": 7 }, - "124": { "TroubleshootingWindowsZoneID": 12 }, - "125": { "Tumbleweed": 6 }, - "126": { "Tumbleweed_player": 2 }, - "127": { "Tumbleweed_translation": 1 }, - "128": { "Tutorial": 1 }, - "129": { "UnicodeSupport": 3 }, - "130": { "UpgradeTo30": 16 }, - "131": { "UpgradeTo31": 8 }, - "132": { "UpgradeTo32": 14 }, - "133": { "UpgradeTo33": 7 }, - "134": { "UpgradeTo335": 6 }, - "135": { "UpgradeTo34": 9 }, - "136": { "UpgradeTo341": 6 }, - "137": { "UpgradeTo35": 11 }, - "138": { "UpgradeTo36": 16 }, - "139": { "UpgradeTo361": 6 }, - "140": { "UpgradingFromPreviousVersion": 12 }, - "141": { "UpgradingTo27": 5 }, - "142": { "UpgradingTo271": 3 }, - "143": { "ViewFrame": 2 }, - "144": { "Viewport": 1 }, - "145": { "VoiceSpeech": 6 } - }, - "AGS's": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "AGSCharacter": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "AGSColor": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "AGSE": { - "0": { "EnginePluginRun-timeAPI": 30 } - }, - "AGSEditor": { - "0": { "acintro1": 1 }, - "1": { "EditorCommandLineOptions": 4 }, - "2": { "Introduction": 1 }, - "3": { "Plugins": 3 } - }, - "AGSFNT": { - "0": { "BackingUpYourGame": 2 } - }, - "AGSGameInfo": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "AGSGameInfo's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "AGSGameOptions": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "AGSMouseCursor": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "AGSObject": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "AGSRenderMatrixes": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "AGSRenderStageDesc": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "AGSRenderStageDesc's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "AGSSTREAM": { - "0": { "EnginePluginRun-timeAPI": 16 } - }, - "AGSViewFrame": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "AGT": { - "0": { "Templates": 1 } - }, - "ALFont": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "ALL": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "Game": 1 } - }, - "ALWAYS": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "ALWAYSSPEECH": { - "0": { "Globalfunctions_General": 1 } - }, - "AMOUNT": { - "0": { "Globalfunctions_Screen": 2 }, - "1": { "Region": 1 } - }, - "ANDROID": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorPreferences": 2 } - }, - "ANSI": { - "0": { "GeneralSettings": 1 }, - "1": { "Translations": 3 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "ANTIALIASFONTS": { - "0": { "Globalfunctions_General": 1 } - }, - "ANY": { - "0": { "Copyright": 7 } - }, - "APEG": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "API": { - "0": { "BuildAndroid": 2 }, - "1": { "Constants": 27 }, - "2": { "CustomDialogOptions": 2 }, - "3": { "EditorPlugins": 2 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "EnginePlugins": 4 }, - "8": { "GeneralSettings": 3 }, - "9": { "ObsoleteScriptAPI": 3 }, - "10": { "Plugins": 2 }, - "11": { "Preprocessor": 2 }, - "12": { "ScriptAPIOverview": 17 }, - "13": { "Scripting": 2 }, - "14": { "ScriptKeywords": 1 }, - "15": { "StandardTypes": 1 }, - "16": { "UpgradeTo34": 5 }, - "17": { "UpgradeTo341": 4 }, - "18": { "UpgradeTo35": 1 }, - "19": { "UpgradeTo36": 1 } - }, - "APIs": { - "0": { "GeneralSettings": 1 } - }, - "APPDATADIR": { - "0": { "DefaultSetup": 1 }, - "1": { "File": 5 }, - "2": { "ListBox": 1 }, - "3": { "UpgradeTo335": 4 } - }, - "APPLICATION": { - "0": { "Copyright": 1 } - }, - "AREA": { - "0": { "Globalfunctions_Room": 1 } - }, - "AREA's": { - "0": { "Globalfunctions_Room": 1 } - }, - "AREANUM": { - "0": { "Globalfunctions_Room": 2 } - }, - "ARISING": { - "0": { "Copyright": 1 } - }, - "AS-IS": { - "0": { "Copyright": 1 } - }, - "ASC": { - "0": { "BackingUpYourGame": 1 }, - "1": { "MultipleScripts": 1 } - }, - "ASCII": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Translations": 4 }, - "3": { "UnicodeSupport": 7 }, - "4": { "UpgradeTo36": 6 } - }, - "ASCII-mode": { - "0": { "UnicodeSupport": 1 } - }, - "ASH": { - "0": { "BackingUpYourGame": 1 }, - "1": { "MultipleScripts": 1 } - }, - "ASK": { - "0": { "Globalfunctions_General": 2 } - }, - "AUDIO": { - "0": { "AudioClip": 1 }, - "1": { "Constants": 1 } - }, - "AUTHORS": { - "0": { "Copyright": 1 } - }, - "AUTOCOMPLETEIGNORE": { - "0": { "OOProgramming": 2 } - }, - "AVI": { - "0": { "Multimedia": 4 }, - "1": { "UpgradeTo36": 1 } - }, - "AWESOME": { - "0": { "Preprocessor": 2 } - }, - "AX-Icons": { - "0": { "DistGame": 1 } - }, - "Aab": { - "0": { "GeneralSettings": 1 } - }, - "AabEmbedded": { - "0": { "GeneralSettings": 1 } - }, - "Abort": { - "0": { "Gamevariables": 1 } - }, - "AbortGame": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "Globalfunctions_General": 4 } - }, - "Aborts": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Above": { - "0": { "acintro2": 1 }, - "1": { "Camera": 1 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "GUI": 1 }, - "4": { "Pointers": 2 }, - "5": { "Screen": 1 } - }, - "AbsInt": { - "0": { "ExtenderFunctions": 2 } - }, - "Abstauber": { - "0": { "Tumbleweed": 1 } - }, - "Abstract": { - "0": { "GlobalArrays": 1 } - }, - "Access": { - "0": { "OOProgramming": 2 } - }, - "Accessing": { - "0": { "DynamicArrays": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "Accuracy": { - "0": { "ScriptKeywords": 1 } - }, - "Acting": { - "0": { "DistGame": 1 } - }, - "Action": { - "0": { "EditorGUI": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "FAQ": 1 }, - "3": { "Tumbleweed": 1 }, - "4": { "Tumbleweed_actions": 7 }, - "5": { "Tumbleweed_translation": 1 } - }, - "ActionLabel": { - "0": { "TemplateBASS": 3 }, - "1": { "TemplateVerbcoin": 3 } - }, - "Actions": { - "0": { "BuildAndroid": 1 } - }, - "ActivateControl": { - "0": { "GUIControl": 2 } - }, - "Activated": { - "0": { "GUIControl": 1 } - }, - "Activating": { - "0": { "GUIControl": 1 } - }, - "Active": { - "0": { "InventoryItem": 2 } - }, - "ActiveInventory": { - "0": { "Button": 1 }, - "1": { "Character": 3 }, - "2": { "EventTypes": 4 }, - "3": { "InventoryItem": 3 }, - "4": { "ObsoleteScriptAPI": 2 } - }, - "ActiveOptionID": { - "0": { "CustomDialogOptions": 11 }, - "1": { "DialogOptionsRenderingInfo": 5 } - }, - "Actually": { - "0": { "DialogScript": 1 } - }, - "Add": { - "0": { "CustomProperties": 2 }, - "1": { "EditorGUI": 4 }, - "2": { "EditorPlugins": 4 }, - "3": { "EditorView": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Set": 9 }, - "9": { "SourceControl": 1 }, - "10": { "TextParser": 2 }, - "11": { "Translations": 1 } - }, - "AddExtension": { - "0": { "Tumbleweed_extensions": 2 } - }, - "AddInvAndPlaySound": { - "0": { "ScriptKeywords": 2 } - }, - "AddInventory": { - "0": { "acintro5": 1 }, - "1": { "Character": 8 }, - "2": { "Dialog": 1 }, - "3": { "DialogScript": 1 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "InventoryItem": 5 }, - "7": { "ObsoleteScriptAPI": 3 }, - "8": { "ScriptingTutorialPart1": 3 }, - "9": { "ScriptKeywords": 2 } - }, - "AddInventoryToCharacter": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AddItem": { - "0": { "EditorGUI": 1 }, - "1": { "ListBox": 13 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "AddManagedObjectReader": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "AddNumbers": { - "0": { "EnginePluginRun-timeAPI": 5 }, - "1": { "MultipleScripts": 3 } - }, - "AddRef": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "AddWaypoint": { - "0": { "Character": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Added": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginDesign-timeAPI": 4 }, - "2": { "EnginePluginRun-timeAPI": 131 } - }, - "Adding": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "GameSavesCompatibility": 2 } - }, - "Additional": { - "0": { "acintro8": 1 }, - "1": { "EditorLogPanel": 1 }, - "2": { "Globalfunctions_Event": 3 }, - "3": { "KeyboardShortcuts": 1 }, - "4": { "SystemLimits": 1 }, - "5": { "Translations": 2 } - }, - "Additionally": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "FAQ": 1 }, - "5": { "ListBox": 1 }, - "6": { "Speech": 1 }, - "7": { "StandardEnums": 1 }, - "8": { "SystemLimits": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 } - }, - "Adds": { - "0": { "Character": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ListBox": 1 }, - "4": { "Set": 1 } - }, - "Adjust": { - "0": { "Character": 2 }, - "1": { "Settingupthegame": 2 } - }, - "AdjustGUIText": { - "0": { "Tumbleweed_translation": 3 } - }, - "AdjustLanguage": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "Tumbleweed_helper": 1 }, - "2": { "Tumbleweed_translation": 4 } - }, - "AdjustYCoordinateForFont": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Adjusting": { - "0": { "acintro1": 1 } - }, - "Adjusts": { - "0": { "GUIControl": 1 } - }, - "Advanced": { - "0": { "acintro2": 1 }, - "1": { "acintro9": 2 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "GUI": 1 }, - "4": { "Setup": 2 }, - "5": { "Translations": 1 }, - "6": { "Tutorial": 1 } - }, - "Adventure": { - "0": { "acintro1": 2 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Introduction": 2 }, - "6": { "Plugins": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Setup": 1 } - }, - "After": { - "0": { "acintro8": 1 }, - "1": { "AudioChannel": 3 }, - "2": { "BuildAndroid": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "DateTime": 1 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "EventTypes": 1 }, - "11": { "File": 1 }, - "12": { "Globalfunctions_Event": 1 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "Globalfunctions_Wait": 1 }, - "16": { "Hotspot": 1 }, - "17": { "Region": 1 }, - "18": { "Room": 1 }, - "19": { "ScriptKeywords": 2 }, - "20": { "Settingupthegame": 1 } - }, - "AfterFadeIn": { - "0": { "AudioInScript": 1 }, - "1": { "EventTypes": 1 } - }, - "Afterwards": { - "0": { "Tumbleweed_movement": 1 } - }, - "Again": { - "0": { "DistGame": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "Agazzi": { - "0": { "Credits": 1 } - }, - "Alan": { - "0": { "Credits": 1 } - }, - "Alias": { - "0": { "EditorPreferences": 2 }, - "1": { "EditorSprite": 1 }, - "2": { "Gamevariables": 1 } - }, - "Alien": { - "0": { "acintro7": 1 } - }, - "Aligning": { - "0": { "UpgradeTo31": 1 } - }, - "Alignment": { - "0": { "Button": 1 }, - "1": { "Character": 2 }, - "2": { "DrawingSurface": 1 }, - "3": { "Speech": 1 }, - "4": { "StandardEnums": 7 } - }, - "All": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "Character": 2 }, - "7": { "CustomDialogOptions": 2 }, - "8": { "CustomProperties": 1 }, - "9": { "DynamicSprite": 1 }, - "10": { "EditorSprite": 4 }, - "11": { "EnginePluginRun-timeAPI": 4 }, - "12": { "FAQ": 1 }, - "13": { "GameEventsOrder": 1 }, - "14": { "Gamevariables": 1 }, - "15": { "GlobalArrays": 4 }, - "16": { "Globalfunctions_Event": 1 }, - "17": { "Globalfunctions_General": 2 }, - "18": { "Globalfunctions_Screen": 1 }, - "19": { "ImportingFunctionsAndVariables": 1 }, - "20": { "KeyboardShortcuts": 1 }, - "21": { "Multimedia": 1 }, - "22": { "MultipleScripts": 1 }, - "23": { "MusicAndSound": 1 }, - "24": { "Overlay": 2 }, - "25": { "ScriptingTutorialPart1": 1 }, - "26": { "Settingupthegame": 1 }, - "27": { "TextParser": 1 }, - "28": { "Translations": 1 }, - "29": { "Tumbleweed": 1 }, - "30": { "UnicodeSupport": 2 }, - "31": { "UpgradeTo36": 2 }, - "32": { "UpgradeTo361": 1 }, - "33": { "UpgradingTo271": 1 } - }, - "Allegro": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "UpgradeTo36": 1 } - }, - "Allow": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "GeneralSettings": 2 } - }, - "Allows": { - "0": { "acintro6": 1 }, - "1": { "Character": 2 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Globalfunctions_General": 1 } - }, - "Along": { - "0": { "UpgradeTo34": 1 } - }, - "Alpha": { - "0": { "Constants": 2 }, - "1": { "EditorSprite": 1 } - }, - "Also": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "BackingUpYourGame": 1 }, - "4": { "Camera": 1 }, - "5": { "EditorRoom": 3 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 1 }, - "8": { "Game": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "GUIControl": 1 }, - "12": { "ScriptingTutorialPart1": 2 }, - "13": { "ScriptingTutorialPart2": 1 }, - "14": { "ScriptKeywords": 1 }, - "15": { "Templates": 1 }, - "16": { "Tumbleweed": 2 }, - "17": { "Tumbleweed_door": 1 }, - "18": { "UnicodeSupport": 1 }, - "19": { "UpgradeTo36": 1 }, - "20": { "UpgradingTo27": 3 } - }, - "Alt": { - "0": { "acintro2": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "KeyboardShortcuts": 2 }, - "6": { "Keycodes": 7 }, - "7": { "Mouse": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "Alternatively": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "Character": 1 }, - "3": { "DialogScript": 1 }, - "4": { "FAQ": 1 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_Message": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Settingupthegame": 1 } - }, - "Although": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "Camera": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "Game": 1 }, - "5": { "StandardEnums": 1 }, - "6": { "TextParser": 1 }, - "7": { "UpgradeTo32": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "Always": { - "0": { "DefaultSetup": 2 }, - "1": { "DistGame": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 } - }, - "Ambient": { - "0": { "UpgradeTo32": 1 } - }, - "American": { - "0": { "TextParser": 1 } - }, - "Among": { - "0": { "acintro3": 1 }, - "1": { "Tumbleweed_actions": 1 } - }, - "Amount": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "An": { - "0": { "acintro3": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "File": 4 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "MIDI-playback": 1 }, - "7": { "Object": 1 }, - "8": { "OOProgramming": 2 }, - "9": { "Room": 1 }, - "10": { "ScriptingTutorialPart1": 2 }, - "11": { "ScriptKeywords": 1 }, - "12": { "Slider": 2 }, - "13": { "TroubleshootingWindowsZoneID": 1 }, - "14": { "UpgradeTo36": 1 }, - "15": { "UpgradingTo271": 1 } - }, - "Android": { - "0": { "BuildAndroid": 20 }, - "1": { "DistGame": 4 }, - "2": { "EditorPreferences": 6 }, - "3": { "GeneralSettings": 1 }, - "4": { "GraphicsDriver": 1 }, - "5": { "OtherFeatures": 1 }, - "6": { "Plugins": 3 }, - "7": { "RuntimeEngine": 1 }, - "8": { "System": 1 }, - "9": { "UpgradeTo36": 5 } - }, - "Animate": { - "0": { "acintro9": 1 }, - "1": { "Button": 15 }, - "2": { "Character": 26 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorView": 1 }, - "5": { "ExtenderFunctions": 1 }, - "6": { "Hotspot": 1 }, - "7": { "Object": 18 }, - "8": { "ObsoleteScriptAPI": 4 }, - "9": { "RepExec": 2 }, - "10": { "ScriptingTutorialPart2": 1 }, - "11": { "Settingupthegame": 2 }, - "12": { "StandardEnums": 7 }, - "13": { "UpgradingTo27": 2 } - }, - "Animate's": { - "0": { "Character": 2 }, - "1": { "Object": 1 } - }, - "AnimateButton": { - "0": { "Button": 1 } - }, - "AnimateCharacter": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AnimateCharacterEx": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AnimateObject": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AnimateObjectEx": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradingTo27": 2 } - }, - "AnimateOnlyOnHotspot": { - "0": { "acintro9": 1 } - }, - "AnimateOnlyOnHotspots": { - "0": { "EditorCursor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "AnimateOnlyWhenMoving": { - "0": { "acintro9": 1 }, - "1": { "EditorCursor": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Animates": { - "0": { "Button": 1 }, - "1": { "Character": 2 }, - "2": { "Hotspot": 1 } - }, - "Animating": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Button": 5 }, - "2": { "Character": 7 }, - "3": { "Object": 9 }, - "4": { "ObsoleteScriptAPI": 2 } - }, - "Animation": { - "0": { "Settingupthegame": 2 } - }, - "AnimationSpeed": { - "0": { "Character": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AnimationStopTimeMargin": { - "0": { "Gamevariables": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Speech": 4 }, - "3": { "UpgradeTo33": 1 } - }, - "AnimationVolume": { - "0": { "Character": 10 }, - "1": { "Object": 4 } - }, - "Animations": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 2 }, - "2": { "Settingupthegame": 2 }, - "3": { "StartingOff": 1 } - }, - "Anonymous": { - "0": { "AnonymousUsageInfo": 1 } - }, - "Another": { - "0": { "EditorGUI": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Pointers": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "TextParser": 1 }, - "7": { "UnicodeSupport": 1 }, - "8": { "UpgradeTo34": 1 }, - "9": { "UpgradeTo35": 2 }, - "10": { "UpgradeTo36": 1 } - }, - "Anti": { - "0": { "EditorSprite": 1 } - }, - "Anti-alias": { - "0": { "DefaultSetup": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "Anti-glide": { - "0": { "Character": 1 } - }, - "Any": { - "0": { "acintro9": 1 }, - "1": { "Button": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 2 }, - "4": { "Copyright": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "EventTypes": 3 }, - "8": { "Game": 1 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "Globalfunctions_Room": 2 }, - "11": { "GraphicsDriver": 1 }, - "12": { "GUI": 1 }, - "13": { "Hotspot": 1 }, - "14": { "Mouse": 1 }, - "15": { "Pointers": 1 }, - "16": { "Region": 1 }, - "17": { "Room": 3 }, - "18": { "Settingupthegame": 1 }, - "19": { "SystemRequirements": 1 }, - "20": { "UpgradeTo30": 1 }, - "21": { "UpgradeTo36": 1 }, - "22": { "Viewport": 1 }, - "23": { "VoiceSpeech": 1 } - }, - "AnyClick": { - "0": { "EventTypes": 3 }, - "1": { "Tumbleweed": 1 }, - "2": { "Tumbleweed_door": 5 }, - "3": { "Tumbleweed_unhandled": 1 } - }, - "AnyClickMove": { - "0": { "Tumbleweed_movement": 5 } - }, - "AnyClickSpecial": { - "0": { "Tumbleweed_door": 4 } - }, - "AnyClickUseInv": { - "0": { "Tumbleweed_movement": 3 } - }, - "AnyClickWalk": { - "0": { "Tumbleweed_movement": 5 } - }, - "AnyClickWalkLook": { - "0": { "Tumbleweed_movement": 4 } - }, - "AnyClickWalkLookPick": { - "0": { "Tumbleweed": 3 }, - "1": { "Tumbleweed_movement": 2 } - }, - "Anything": { - "0": { "acintro3": 1 }, - "1": { "ScriptingTutorialPart1": 2 } - }, - "Anyway": { - "0": { "acintro5": 1 } - }, - "Apart": { - "0": { "Globalfunctions_General": 1 } - }, - "ApkEmbedded": { - "0": { "GeneralSettings": 1 } - }, - "Apologies": { - "0": { "UpgradingTo271": 1 } - }, - "App": { - "0": { "BuildAndroid": 2 }, - "1": { "GeneralSettings": 3 } - }, - "AppData": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorPreferences": 1 } - }, - "Appearance": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 3 }, - "2": { "acintro9": 4 }, - "3": { "EditorPreferences": 1 } - }, - "Append": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "String": 8 }, - "3": { "Translations": 1 }, - "4": { "UpgradingTo271": 2 } - }, - "AppendChar": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "String": 6 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "Appends": { - "0": { "String": 2 } - }, - "Apple": { - "0": { "EditorInventoryItems": 1 }, - "1": { "ScriptKeywords": 17 } - }, - "Application": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptAPIOverview": 1 } - }, - "Applies": { - "0": { "GUIControl": 14 } - }, - "Arabic": { - "0": { "GeneralSettings": 1 } - }, - "ArcCos": { - "0": { "Maths": 4 } - }, - "ArcSin": { - "0": { "Maths": 5 } - }, - "ArcTan": { - "0": { "Maths": 6 } - }, - "AreCharObjColliding": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AreCharactersColliding": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AreObjectsColliding": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "AreThingsOverlapping": { - "0": { "Character": 2 }, - "1": { "Globalfunctions_Room": 3 }, - "2": { "Object": 1 } - }, - "Areas": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 2 } - }, - "Ariis": { - "0": { "Credits": 1 } - }, - "Array": { - "0": { "GlobalArrays": 1 } - }, - "Arrays": { - "0": { "DynamicArrays": 3 }, - "1": { "GlobalArrays": 2 }, - "2": { "GlobalVariables": 1 }, - "3": { "ScriptingLanguage": 1 }, - "4": { "ScriptKeywords": 2 } - }, - "Arrows": { - "0": { "ListBox": 2 } - }, - "Article": { - "0": { "Settingupthegame": 1 } - }, - "Artistic": { - "0": { "Copyright": 2 }, - "1": { "DistGame": 2 } - }, - "AsButton": { - "0": { "GUI": 1 }, - "1": { "GUIControl": 2 } - }, - "AsFloat": { - "0": { "String": 5 } - }, - "AsInt": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "String": 5 } - }, - "AsInvWindow": { - "0": { "GUIControl": 1 } - }, - "AsLabel": { - "0": { "GUI": 1 }, - "1": { "GUIControl": 1 } - }, - "AsListBox": { - "0": { "GUIControl": 1 } - }, - "AsSlider": { - "0": { "GUIControl": 1 } - }, - "AsTextBox": { - "0": { "GUIControl": 1 } - }, - "AsTextWindow": { - "0": { "GUI": 3 }, - "1": { "TextWindowGUI": 1 } - }, - "AsType": { - "0": { "GUIControl": 1 } - }, - "Ask": { - "0": { "EditorPreferences": 1 } - }, - "Asked": { - "0": { "FAQ": 1 } - }, - "Assign": { - "0": { "DynamicArrays": 1 } - }, - "Assigning": { - "0": { "DynamicSprite": 1 } - }, - "Assigns": { - "0": { "Dictionary": 1 }, - "1": { "TemplateBASS": 2 }, - "2": { "TemplateSierraStyle": 4 } - }, - "Assume": { - "0": { "GameSavesCompatibility": 1 } - }, - "Assuming": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "Attach": { - "0": { "GeneralSettings": 1 } - }, - "Attribute's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "AttributeName": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "Audacity": { - "0": { "DistGame": 1 } - }, - "Audio": { - "0": { "AudioInScript": 5 }, - "1": { "Copyright": 2 }, - "2": { "DefaultSetup": 2 }, - "3": { "DistGame": 3 }, - "4": { "Game": 1 }, - "5": { "GameSavesCompatibility": 2 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Multimedia": 2 }, - "8": { "MusicAndSound": 12 }, - "9": { "Setup": 1 }, - "10": { "System": 2 }, - "11": { "SystemLimits": 1 }, - "12": { "UpgradeTo32": 7 } - }, - "AudioCache": { - "0": { "MusicAndSound": 4 }, - "1": { "UpgradeTo32": 3 }, - "2": { "UpgradeTo341": 1 } - }, - "AudioChannel": { - "0": { "AudioChannel": 73 }, - "1": { "AudioClip": 9 }, - "2": { "AudioInScript": 4 }, - "3": { "Game": 4 }, - "4": { "Multimedia": 1 }, - "5": { "MusicAndSound": 5 }, - "6": { "ObsoleteScriptAPI": 13 }, - "7": { "Scripting": 1 }, - "8": { "System": 5 }, - "9": { "UpgradeTo32": 1 } - }, - "AudioChannelCount": { - "0": { "AudioClip": 2 }, - "1": { "AudioInScript": 1 }, - "2": { "System": 4 } - }, - "AudioChannels": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 1 }, - "2": { "AudioInScript": 2 }, - "3": { "Game": 1 }, - "4": { "System": 4 }, - "5": { "UpgradeTo36": 1 } - }, - "AudioClip": { - "0": { "AudioChannel": 4 }, - "1": { "AudioClip": 49 }, - "2": { "AudioInScript": 4 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 4 }, - "5": { "Multimedia": 3 }, - "6": { "MusicAndSound": 1 }, - "7": { "ObsoleteScriptAPI": 10 }, - "8": { "Scripting": 1 }, - "9": { "StandardEnums": 4 }, - "10": { "Tumbleweed_door": 2 }, - "11": { "Tumbleweed_movement": 1 }, - "12": { "ViewFrame": 1 } - }, - "AudioClipCount": { - "0": { "Game": 4 } - }, - "AudioClips": { - "0": { "AudioClip": 4 }, - "1": { "Game": 4 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "AudioFileType": { - "0": { "AudioClip": 1 }, - "1": { "StandardEnums": 2 } - }, - "AudioFunction": { - "0": { "Multimedia": 1 } - }, - "AudioPriority": { - "0": { "AudioClip": 4 }, - "1": { "StandardEnums": 2 } - }, - "AudioType": { - "0": { "AudioClip": 2 }, - "1": { "Game": 7 } - }, - "AudioTypes": { - "0": { "Game": 1 } - }, - "Auto": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Setup": 1 } - }, - "Auto-lock": { - "0": { "DefaultSetup": 1 } - }, - "Auto-number": { - "0": { "AutonumberSpeechFiles": 2 }, - "1": { "OtherFeatures": 1 } - }, - "AutoLock": { - "0": { "Mouse": 2 } - }, - "AutoOutlineStyle": { - "0": { "UpgradeTo36": 1 } - }, - "AutoOutlineThickness": { - "0": { "UpgradeTo36": 1 } - }, - "AutoSizeViewportOnRoomLoad": { - "0": { "Camera": 5 }, - "1": { "Screen": 2 }, - "2": { "Viewport": 7 } - }, - "AutoTracking": { - "0": { "Camera": 8 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "Autocomplete": { - "0": { "KeyboardShortcuts": 1 } - }, - "Automatic": { - "0": { "acintro9": 1 }, - "1": { "EditorFont": 1 }, - "2": { "GeneralSettings": 1 } - }, - "Automatically": { - "0": { "EditorGUI": 1 }, - "1": { "GeneralSettings": 2 } - }, - "Available": { - "0": { "DefaultSetup": 4 }, - "1": { "Setup": 1 } - }, - "Avtalion": { - "0": { "Credits": 1 } - }, - "Awesome": { - "0": { "Preprocessor": 1 } - }, - "BACK": { - "0": { "Globalfunctions_Message": 2 } - }, - "BASELINE": { - "0": { "Globalfunctions_Room": 4 } - }, - "BASS": { - "0": { "Credits": 2 }, - "1": { "TemplateBASS": 2 }, - "2": { "Templates": 1 }, - "3": { "TemplateVerbcoin": 1 } - }, - "BEFORE": { - "0": { "EventTypes": 2 }, - "1": { "FAQ": 1 }, - "2": { "Mouse": 1 } - }, - "BITMAP": { - "0": { "EnginePluginRun-timeAPI": 22 } - }, - "BLUE": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "Object": 1 }, - "6": { "Region": 1 } - }, - "BMP": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "ColoursEditor": 2 }, - "4": { "DistGame": 1 }, - "5": { "DynamicSprite": 2 }, - "6": { "EditorPreferences": 1 }, - "7": { "Globalfunctions_General": 1 } - }, - "BOM": { - "0": { "Translations": 2 }, - "1": { "UnicodeSupport": 1 } - }, - "BOTTOMLINE": { - "0": { "Globalfunctions_General": 1 } - }, - "BREACHING": { - "0": { "Copyright": 1 } - }, - "BUTTON": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "Mouse": 1 } - }, - "Back": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "BackSpace": { - "0": { "KeyboardShortcuts": 2 } - }, - "Backend": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "Background": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 7 }, - "2": { "acintro3": 1 }, - "3": { "EditorRoom": 3 }, - "4": { "ExtenderFunctions": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "SystemLimits": 1 } - }, - "BackgroundAnimationDelay": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorRoom": 1 } - }, - "BackgroundAnimationEnabled": { - "0": { "EditorRoom": 2 } - }, - "BackgroundAnimtionEnabled": { - "0": { "EditorRoom": 1 } - }, - "BackgroundColor": { - "0": { "GUI": 5 }, - "1": { "TemplateVerbcoin": 2 } - }, - "BackgroundGraphic": { - "0": { "GUI": 7 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Slider": 4 } - }, - "BackgroundTransparency": { - "0": { "TemplateVerbcoin": 2 } - }, - "Backing": { - "0": { "BackingUpYourGame": 1 }, - "1": { "OtherFeatures": 1 } - }, - "Backspace": { - "0": { "Keycodes": 1 } - }, - "Backup": { - "0": { "EditorPreferences": 1 } - }, - "Backwards": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "ScriptAPIOverview": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "UpgradeTo33": 1 }, - "5": { "UpgradeTo34": 1 }, - "6": { "UpgradeTo36": 1 }, - "7": { "UpgradingTo271": 1 } - }, - "BakeCake": { - "0": { "ScriptKeywords": 3 } - }, - "Baker": { - "0": { "Credits": 1 } - }, - "Based": { - "0": { "Constants": 1 }, - "1": { "GeneralSettings": 1 } - }, - "Baseline": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 2 }, - "2": { "Character": 6 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Object": 7 }, - "5": { "ObsoleteScriptAPI": 7 }, - "6": { "Overlay": 6 } - }, - "Basic": { - "0": { "acintro1": 1 }, - "1": { "GeneralSettings": 1 } - }, - "Basic-style": { - "0": { "UpgradingTo27": 1 } - }, - "Basically": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Pointers": 1 }, - "3": { "TextParser": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "Basics": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Bear": { - "0": { "acintro2": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Because": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 1 }, - "2": { "DateTime": 1 }, - "3": { "Dictionary": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "GameSavesCompatibility": 2 }, - "6": { "Globalfunctions_General": 3 }, - "7": { "ListBox": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "Pointers": 2 }, - "10": { "Preprocessor": 1 }, - "11": { "RepExec": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "Set": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "System": 1 }, - "16": { "UnicodeSupport": 2 }, - "17": { "UpgradeTo30": 1 }, - "18": { "UpgradeTo335": 1 }, - "19": { "UpgradingTo27": 2 } - }, - "Before": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_Wait": 1 }, - "7": { "Preprocessor": 1 } - }, - "Begin": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "BeginScene": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Beginners": { - "0": { "acintro9": 1 } - }, - "Behavior": { - "0": { "EditorGUI": 1 } - }, - "Below": { - "0": { "Plugins": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "Benjamin": { - "0": { "Credits": 1 } - }, - "Benoit": { - "0": { "Credits": 1 } - }, - "Benutze": { - "0": { "Tumbleweed_translation": 1 } - }, - "Bernhard": { - "0": { "Credits": 1 } - }, - "Besides": { - "0": { "Button": 1 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "Label": 1 }, - "3": { "String": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "Between": { - "0": { "KeyboardShortcuts": 1 } - }, - "Beware": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Bigger": { - "0": { "GeneralSettings": 1 } - }, - "Bitwise": { - "0": { "ScriptKeywords": 5 } - }, - "Bjorn": { - "0": { "Credits": 1 } - }, - "Blimey": { - "0": { "UpgradingTo27": 1 } - }, - "BlinkInterval": { - "0": { "Character": 6 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Settingupthegame": 1 } - }, - "BlinkView": { - "0": { "Character": 8 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "BlinkWhileThinking": { - "0": { "Character": 4 } - }, - "Blinking": { - "0": { "Settingupthegame": 1 } - }, - "BlitBitmap": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "BlitSpriteRotated": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "BlitSpriteTranslucent": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Blocking": { - "0": { "Character": 1 }, - "1": { "Object": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "BlockingHeight": { - "0": { "Character": 5 }, - "1": { "Object": 5 } - }, - "BlockingStyle": { - "0": { "acintro7": 1 }, - "1": { "Button": 2 }, - "2": { "Character": 16 }, - "3": { "Object": 4 }, - "4": { "StandardEnums": 2 } - }, - "BlockingWaitSkipped": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_Wait": 6 } - }, - "BlockingWidth": { - "0": { "Character": 5 }, - "1": { "Object": 5 } - }, - "Blue": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 1 } - }, - "Bob": { - "0": { "DrawingSurface": 1 } - }, - "Boolean": { - "0": { "Character": 2 }, - "1": { "CustomProperties": 2 }, - "2": { "Hotspot": 2 }, - "3": { "InventoryItem": 2 }, - "4": { "Object": 2 }, - "5": { "Room": 2 } - }, - "Border": { - "0": { "ListBox": 3 }, - "1": { "TextBox": 1 } - }, - "BorderColor": { - "0": { "GUI": 5 }, - "1": { "TemplateVerbcoin": 2 } - }, - "BorderWidth": { - "0": { "TemplateVerbcoin": 2 } - }, - "Borders": { - "0": { "EditorGUI": 3 } - }, - "Both": { - "0": { "EditorRoom": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "VoiceSpeech": 1 } - }, - "Bottom": { - "0": { "Game": 1 } - }, - "BottomEdge": { - "0": { "Room": 6 } - }, - "BottomEdgeY": { - "0": { "EditorRoom": 1 } - }, - "Bouillon": { - "0": { "Credits": 1 } - }, - "Box": { - "0": { "Scripting": 2 } - }, - "Boxes": { - "0": { "EditorGUI": 2 } - }, - "Brace": { - "0": { "KeyboardShortcuts": 1 } - }, - "BreakIntoDebugger": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Breakpoint": { - "0": { "KeyboardShortcuts": 1 } - }, - "Briefly": { - "0": { "Settingupthegame": 1 } - }, - "BringToFront": { - "0": { "GUIControl": 6 } - }, - "Brings": { - "0": { "GUIControl": 1 } - }, - "British": { - "0": { "TextParser": 1 } - }, - "Browse": { - "0": { "EditorPlugins": 1 }, - "1": { "ScriptAPIOverview": 1 } - }, - "Build": { - "0": { "acintro2": 1 }, - "1": { "BuildAndroid": 4 }, - "2": { "DistGame": 1 }, - "3": { "FAQ": 2 }, - "4": { "GeneralSettings": 2 }, - "5": { "KeyboardShortcuts": 1 }, - "6": { "UpgradeTo30": 3 } - }, - "Building": { - "0": { "BuildAndroid": 2 }, - "1": { "DistGame": 1 }, - "2": { "OtherFeatures": 1 }, - "3": { "UpgradeTo34": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "Built": { - "0": { "UpgradeTo34": 1 } - }, - "Bukin": { - "0": { "Credits": 1 } - }, - "Button": { - "0": { "Button": 76 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUI": 2 }, - "5": { "GUIControl": 18 }, - "6": { "Label": 2 }, - "7": { "ListBox": 1 }, - "8": { "Object": 1 }, - "9": { "ObsoleteScriptAPI": 7 }, - "10": { "Scripting": 1 }, - "11": { "StandardEnums": 3 }, - "12": { "UpgradeTo35": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "Button's": { - "0": { "Button": 1 }, - "1": { "EventTypes": 1 } - }, - "ButtonAutoDisable": { - "0": { "TemplateVerbcoin": 3 } - }, - "ButtonName": { - "0": { "EventTypes": 1 } - }, - "Buttons": { - "0": { "EventTypes": 1 }, - "1": { "FAQ": 1 } - }, - "Bye": { - "0": { "acintro8": 1 } - }, - "C-style": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Pointers": 3 } - }, - "CANNOT": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Settingupthegame": 1 } - }, - "CAPS": { - "0": { "System": 1 } - }, - "CD": { - "0": { "Credits": 1 }, - "1": { "Multimedia": 12 }, - "2": { "MusicAndSound": 1 } - }, - "CD-ROM": { - "0": { "Multimedia": 4 } - }, - "CDAudio": { - "0": { "Multimedia": 4 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "CFG": { - "0": { "MIDI-playback": 1 } - }, - "CHA": { - "0": { "Settingupthegame": 1 } - }, - "CHANGES": { - "0": { "ContactingTheDevelopers": 1 } - }, - "CHARACTER": { - "0": { "Character": 1 } - }, - "CHARACTERS": { - "0": { "UpgradeTo30": 1 } - }, - "CHARGED": { - "0": { "Copyright": 1 } - }, - "CHARID": { - "0": { "Character": 4 }, - "1": { "Globalfunctions_General": 5 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "ScriptingTutorialPart1": 1 } - }, - "CHARTOFOLLOW": { - "0": { "Character": 8 } - }, - "CHRIS": { - "0": { "Copyright": 1 } - }, - "CJ": { - "0": { "UpgradingTo27": 1 } - }, - "COLOR": { - "0": { "DrawingSurface": 4 }, - "1": { "Globalfunctions_Message": 4 }, - "2": { "Overlay": 1 }, - "3": { "Preprocessor": 2 } - }, - "COM-based": { - "0": { "EditorPlugins": 1 } - }, - "COMMAND": { - "0": { "Globalfunctions_General": 3 }, - "1": { "Multimedia": 1 } - }, - "COMPAT": { - "0": { "Constants": 14 }, - "1": { "Preprocessor": 1 } - }, - "COMPATIBILITY": { - "0": { "CustomDialogOptions": 1 } - }, - "COMPRESS": { - "0": { "ContactingTheDevelopers": 1 } - }, - "CONFIGFILE": { - "0": { "File": 3 } - }, - "CONNECTION": { - "0": { "Copyright": 1 } - }, - "CONSEQUENTIAL": { - "0": { "Copyright": 1 } - }, - "CONTRIBUTORS": { - "0": { "Copyright": 1 } - }, - "CONTROLPANEL": { - "0": { "GUI": 1 } - }, - "COUNT": { - "0": { "OOProgramming": 5 } - }, - "CPU": { - "0": { "GraphicsDriver": 1 } - }, - "CREATE": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "CREATEALWAYS": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "CRM": { - "0": { "BackingUpYourGame": 2 }, - "1": { "DistGame": 1 } - }, - "CROSSFADEMUSIC": { - "0": { "Globalfunctions_General": 1 } - }, - "CUR": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Cache": { - "0": { "DynamicSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "CaesarCub": { - "0": { "Credits": 1 } - }, - "Calculates": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Maths": 12 } - }, - "Call": { - "0": { "EnginePluginRun-timeAPI": 7 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Palette": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "CallGameScriptFunction": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "CallRoomScript": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "TextParser": 3 } - }, - "Called": { - "0": { "EnginePluginDesign-timeAPI": 6 }, - "1": { "EnginePluginRun-timeAPI": 9 }, - "2": { "Globalfunctions_Event": 11 } - }, - "Caller": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Calling": { - "0": { "Character": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "ListBox": 1 }, - "4": { "MultipleScripts": 1 } - }, - "Calls": { - "0": { "DialogScript": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Camera": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Camera": 98 }, - "2": { "Game": 14 }, - "3": { "Globalfunctions_Room": 4 }, - "4": { "ObsoleteScriptAPI": 4 }, - "5": { "Screen": 2 }, - "6": { "ScriptAPIOverview": 1 }, - "7": { "Scripting": 1 }, - "8": { "UpgradeTo35": 12 }, - "9": { "Viewport": 17 } - }, - "Camera's": { - "0": { "Camera": 4 }, - "1": { "UpgradeTo35": 1 }, - "2": { "Viewport": 1 } - }, - "CameraCount": { - "0": { "Game": 4 } - }, - "Cameras": { - "0": { "Camera": 8 }, - "1": { "Game": 5 }, - "2": { "Screen": 1 }, - "3": { "UpgradeTo35": 1 }, - "4": { "Viewport": 1 } - }, - "Cameron": { - "0": { "Credits": 1 } - }, - "Can": { - "0": { "EditorGUI": 1 }, - "1": { "FAQ": 5 }, - "2": { "MultipleScripts": 1 }, - "3": { "RepExec": 1 } - }, - "CanBeAttackedHere": { - "0": { "Room": 2 } - }, - "CanRunScriptFunctionNow": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Cancel": { - "0": { "Game": 3 } - }, - "Cancels": { - "0": { "Globalfunctions_Wait": 1 } - }, - "Caps": { - "0": { "Keycodes": 1 }, - "1": { "System": 2 } - }, - "CapsLock": { - "0": { "System": 5 } - }, - "Cawley": { - "0": { "Credits": 1 } - }, - "Center": { - "0": { "Camera": 1 }, - "1": { "Translations": 1 } - }, - "Centers": { - "0": { "GUI": 1 } - }, - "Centre": { - "0": { "GUI": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "CentreGUI": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Change": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro8": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "FAQ": 1 }, - "5": { "UpgradeTo30": 1 } - }, - "ChangeCanvasSize": { - "0": { "DynamicSprite": 5 } - }, - "ChangeCharacterView": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ChangeCursorGraphic": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ChangeCursorHotspot": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ChangeModeGraphic": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Mouse": 8 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "StandardEnums": 1 } - }, - "ChangeModeHotspot": { - "0": { "Mouse": 5 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "ChangeModeView": { - "0": { "Mouse": 5 } - }, - "ChangeRoom": { - "0": { "acintro3": 1 }, - "1": { "Character": 10 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "ObsoleteScriptAPI": 3 }, - "6": { "Room": 1 }, - "7": { "ScriptingTutorialPart2": 1 }, - "8": { "StandardEnums": 1 }, - "9": { "Tumbleweed": 1 }, - "10": { "Tumbleweed_player": 1 } - }, - "ChangeRoomAutoPosition": { - "0": { "Character": 4 } - }, - "ChangeSpeechVox": { - "0": { "Game": 6 }, - "1": { "Multimedia": 1 }, - "2": { "UpgradeTo36": 2 }, - "3": { "VoiceSpeech": 2 } - }, - "ChangeTranslation": { - "0": { "Game": 6 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Translations": 1 }, - "3": { "UpgradeTo36": 2 } - }, - "ChangeView": { - "0": { "Character": 11 }, - "1": { "EditorRoom": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "ChangeVolumeType": { - "0": { "Game": 2 } - }, - "Changed": { - "0": { "Game": 2 } - }, - "Changes": { - "0": { "Camera": 2 }, - "1": { "Character": 6 }, - "2": { "Dialog": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 5 }, - "6": { "GameSavesCompatibility": 3 }, - "7": { "Globalfunctions_General": 3 }, - "8": { "Globalfunctions_Palette": 1 }, - "9": { "Globalfunctions_Room": 2 }, - "10": { "Globalfunctions_Screen": 2 }, - "11": { "GUI": 1 }, - "12": { "Mouse": 4 }, - "13": { "Object": 1 }, - "14": { "Region": 1 }, - "15": { "String": 1 }, - "16": { "UpgradeTo36": 1 }, - "17": { "Viewport": 1 } - }, - "Changing": { - "0": { "EditorCharacter": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "GameSavesCompatibility": 3 }, - "3": { "GeneralSettings": 1 }, - "4": { "Overlay": 2 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "Speech": 1 }, - "7": { "Translations": 1 }, - "8": { "Viewport": 1 } - }, - "Channel": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 2 }, - "2": { "AudioInScript": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "System": 2 } - }, - "Channels": { - "0": { "MusicAndSound": 3 }, - "1": { "System": 1 }, - "2": { "UpgradeTo32": 2 } - }, - "Chapter": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "acintro8": 1 }, - "8": { "Label": 2 }, - "9": { "MusicAndSound": 2 }, - "10": { "ScriptingTutorialPart1": 1 } - }, - "Char": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "Character": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 2 }, - "2": { "acintro8": 4 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "AudioChannel": 2 }, - "5": { "BlockingScripts": 1 }, - "6": { "Button": 2 }, - "7": { "Character": 470 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "CustomProperties": 4 }, - "10": { "DialogScript": 4 }, - "11": { "DynamicArrays": 3 }, - "12": { "EditorCharacter": 2 }, - "13": { "EditorDialog": 1 }, - "14": { "EditorRoom": 2 }, - "15": { "EditorView": 1 }, - "16": { "EnginePluginRun-timeAPI": 1 }, - "17": { "EventTypes": 9 }, - "18": { "ExtenderFunctions": 4 }, - "19": { "FAQ": 3 }, - "20": { "Game": 5 }, - "21": { "GeneralSettings": 14 }, - "22": { "GlobalArrays": 5 }, - "23": { "Globalfunctions_Event": 1 }, - "24": { "Globalfunctions_General": 14 }, - "25": { "Globalfunctions_Message": 1 }, - "26": { "Globalfunctions_Room": 1 }, - "27": { "GlobalVariables": 1 }, - "28": { "Hotspot": 3 }, - "29": { "ImportingFunctionsAndVariables": 4 }, - "30": { "InventoryItem": 4 }, - "31": { "InvWindow": 1 }, - "32": { "MultipleScripts": 1 }, - "33": { "Object": 11 }, - "34": { "ObsoleteScriptAPI": 76 }, - "35": { "Overlay": 2 }, - "36": { "Pointers": 8 }, - "37": { "Region": 4 }, - "38": { "ScriptAPIOverview": 1 }, - "39": { "Scripting": 1 }, - "40": { "Settingupthegame": 5 }, - "41": { "Speech": 2 }, - "42": { "StandardEnums": 18 }, - "43": { "StringFormats": 1 }, - "44": { "TextWindowGUI": 2 }, - "45": { "Tumbleweed_movement": 5 }, - "46": { "Tumbleweed_player": 4 }, - "47": { "UnicodeSupport": 1 }, - "48": { "UpgradeTo34": 2 }, - "49": { "UpgradeTo35": 5 }, - "50": { "UpgradeTo36": 2 }, - "51": { "UpgradeTo361": 1 }, - "52": { "ViewFrame": 1 }, - "53": { "VoiceSpeech": 3 } - }, - "Character's": { - "0": { "Character": 1 }, - "1": { "Overlay": 1 } - }, - "CharacterCount": { - "0": { "Constants": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "Game": 3 }, - "3": { "GlobalArrays": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "ScriptKeywords": 1 } - }, - "CharacterDirection": { - "0": { "Character": 2 }, - "1": { "StandardEnums": 2 } - }, - "CharacterToUse": { - "0": { "InvWindow": 3 } - }, - "Characters": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 4 }, - "4": { "acintro8": 2 }, - "5": { "Character": 4 }, - "6": { "DefaultSetup": 1 }, - "7": { "EditorCharacter": 2 }, - "8": { "EditorPlugins": 1 }, - "9": { "EditorRoom": 4 }, - "10": { "EditorView": 1 }, - "11": { "FAQ": 1 }, - "12": { "Game": 1 }, - "13": { "GameSavesCompatibility": 4 }, - "14": { "GeneralSettings": 2 }, - "15": { "GlobalArrays": 1 }, - "16": { "Globalfunctions_General": 2 }, - "17": { "Object": 1 }, - "18": { "Pointers": 2 }, - "19": { "Settingupthegame": 4 }, - "20": { "SystemLimits": 1 }, - "21": { "Tumbleweed_extensions": 1 }, - "22": { "UpgradeTo361": 1 } - }, - "Chars": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 6 } - }, - "Check": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "CheckDefaultAction": { - "0": { "Tumbleweed_actions": 3 }, - "1": { "Tumbleweed_extensions": 2 } - }, - "Checking": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Checkins": { - "0": { "SourceControl": 1 } - }, - "Checks": { - "0": { "Character": 6 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "File": 3 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "Globalfunctions_Room": 2 }, - "6": { "GUI": 1 }, - "7": { "GUIControl": 1 }, - "8": { "Hotspot": 1 }, - "9": { "InventoryItem": 1 }, - "10": { "Object": 4 }, - "11": { "Overlay": 1 }, - "12": { "Parser": 1 }, - "13": { "String": 1 } - }, - "Choose": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorPlugins": 2 }, - "5": { "Settingupthegame": 1 } - }, - "Choosing": { - "0": { "TroubleshootingWindowsZoneID": 1 }, - "1": { "UpgradeTo341": 1 } - }, - "Chris": { - "0": { "Copyright": 4 }, - "1": { "Credits": 2 }, - "2": { "Introduction": 1 } - }, - "ClaimEvent": { - "0": { "Globalfunctions_Event": 3 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "MultipleScripts": 1 } - }, - "Clang": { - "0": { "EnginePlugins": 1 } - }, - "Class": { - "0": { "EditorPlugins": 3 } - }, - "Classic": { - "0": { "CustomDialogOptions": 1 }, - "1": { "GeneralSettings": 1 } - }, - "CleanUp": { - "0": { "TemplateVerbcoin": 2 } - }, - "Clear": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "Dictionary": 2 }, - "3": { "DrawingSurface": 3 }, - "4": { "ListBox": 7 }, - "5": { "ObsoleteScriptAPI": 2 }, - "6": { "Set": 2 } - }, - "Clears": { - "0": { "DrawingSurface": 1 } - }, - "Click": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 1 }, - "9": { "Button": 3 }, - "10": { "EditorGUI": 2 }, - "11": { "EditorView": 2 }, - "12": { "EventTypes": 2 }, - "13": { "FAQ": 1 }, - "14": { "Game": 1 }, - "15": { "GUI": 7 }, - "16": { "Mouse": 3 }, - "17": { "MultipleScripts": 1 }, - "18": { "RepExec": 1 }, - "19": { "Room": 1 }, - "20": { "Settingupthegame": 1 } - }, - "Clickable": { - "0": { "acintro7": 1 }, - "1": { "Character": 7 }, - "2": { "EditorGUI": 1 }, - "3": { "FAQ": 2 }, - "4": { "GUI": 6 }, - "5": { "GUIControl": 7 }, - "6": { "Object": 7 }, - "7": { "ObsoleteScriptAPI": 3 }, - "8": { "Settingupthegame": 2 } - }, - "Clicked": { - "0": { "Object": 1 } - }, - "Clicking": { - "0": { "acintro2": 1 }, - "1": { "Tumbleweed": 3 }, - "2": { "Tumbleweed_extensions": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "Clicks": { - "0": { "EventTypes": 1 }, - "1": { "InventoryItem": 1 } - }, - "Clip": { - "0": { "AudioInScript": 1 }, - "1": { "MusicAndSound": 1 } - }, - "ClipImage": { - "0": { "Button": 5 }, - "1": { "GeneralSettings": 1 } - }, - "Clipboard": { - "0": { "acintro6": 1 } - }, - "Clips": { - "0": { "UpgradeTo32": 1 } - }, - "Close": { - "0": { "acintro1": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "File": 22 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "KeyboardShortcuts": 2 }, - "7": { "ObsoleteScriptAPI": 1 }, - "8": { "Pointers": 2 }, - "9": { "TemplateBASS": 2 }, - "10": { "TemplateVerbcoin": 2 }, - "11": { "Tumbleweed": 1 }, - "12": { "Tumbleweed_translation": 1 } - }, - "Closes": { - "0": { "File": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "Code": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "StringFormats": 1 } - }, - "Coin": { - "0": { "Credits": 2 }, - "1": { "InventoryItem": 1 } - }, - "Coins": { - "0": { "FAQ": 1 } - }, - "Collavini": { - "0": { "Credits": 1 } - }, - "Colliding": { - "0": { "Character": 1 } - }, - "Color": { - "0": { "acintro1": 5 }, - "1": { "ColoursEditor": 1 }, - "2": { "DrawingSurface": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorPreferences": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Game": 2 }, - "7": { "Gamevariables": 2 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_Room": 2 }, - "10": { "Hotspot": 1 }, - "11": { "Region": 1 }, - "12": { "Settingupthegame": 1 } - }, - "ColorDepth": { - "0": { "DrawingSurface": 1 }, - "1": { "DynamicSprite": 3 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Room": 3 }, - "4": { "System": 5 } - }, - "ColorType": { - "0": { "acintro1": 1 }, - "1": { "GlobalArrays": 1 } - }, - "Colors": { - "0": { "acintro1": 1 }, - "1": { "DrawingSurface": 2 }, - "2": { "Settingupthegame": 1 } - }, - "Colour": { - "0": { "ColoursEditor": 2 } - }, - "Colours": { - "0": { "ColoursEditor": 2 }, - "1": { "Settingupthegame": 3 } - }, - "Command": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "OtherFeatures": 1 }, - "3": { "RuntimeEngine": 2 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "TroubleshootingWindowsZoneID": 1 } - }, - "Command-line": { - "0": { "BuildAndroid": 1 } - }, - "Commands": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "Comment": { - "0": { "Translations": 1 } - }, - "Comments": { - "0": { "Translations": 1 } - }, - "Commits": { - "0": { "Globalfunctions_Palette": 1 } - }, - "Common": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "Commonly": { - "0": { "GameEventsOrder": 1 }, - "1": { "Speech": 1 } - }, - "Companion": { - "0": { "Character": 1 } - }, - "Compare": { - "0": { "Dictionary": 2 }, - "1": { "Set": 2 } - }, - "CompareStyle": { - "0": { "Dictionary": 3 }, - "1": { "Set": 3 } - }, - "CompareTo": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 2 }, - "2": { "StandardEnums": 1 }, - "3": { "String": 3 }, - "4": { "TextBox": 1 }, - "5": { "Translations": 1 } - }, - "Compares": { - "0": { "ScriptKeywords": 1 }, - "1": { "String": 1 } - }, - "Compatibility": { - "0": { "AudioChannel": 16 }, - "1": { "AudioClip": 11 }, - "2": { "Button": 7 }, - "3": { "Camera": 1 }, - "4": { "Character": 35 }, - "5": { "Constants": 1 }, - "6": { "CustomDialogOptions": 4 }, - "7": { "Dialog": 9 }, - "8": { "DialogOptionsRenderingInfo": 13 }, - "9": { "Dictionary": 1 }, - "10": { "DrawingSurface": 2 }, - "11": { "DynamicSprite": 1 }, - "12": { "File": 8 }, - "13": { "Game": 25 }, - "14": { "Globalfunctions_Event": 3 }, - "15": { "Globalfunctions_General": 6 }, - "16": { "Globalfunctions_Room": 4 }, - "17": { "Globalfunctions_Wait": 5 }, - "18": { "GUI": 10 }, - "19": { "GUIControl": 4 }, - "20": { "Hotspot": 7 }, - "21": { "InventoryItem": 6 }, - "22": { "Keycodes": 2 }, - "23": { "Label": 1 }, - "24": { "ListBox": 7 }, - "25": { "Maths": 6 }, - "26": { "Mouse": 5 }, - "27": { "Multimedia": 1 }, - "28": { "Object": 19 }, - "29": { "Overlay": 9 }, - "30": { "Parser": 1 }, - "31": { "Region": 3 }, - "32": { "Room": 3 }, - "33": { "Screen": 2 }, - "34": { "ScriptAPIOverview": 1 }, - "35": { "Set": 1 }, - "36": { "Slider": 3 }, - "37": { "Speech": 7 }, - "38": { "StandardEnums": 3 }, - "39": { "String": 7 }, - "40": { "System": 12 }, - "41": { "TextBox": 2 }, - "42": { "TextWindowGUI": 1 }, - "43": { "UpgradeTo34": 3 }, - "44": { "UpgradeTo341": 1 }, - "45": { "UpgradeTo35": 1 }, - "46": { "ViewFrame": 1 }, - "47": { "Viewport": 1 } - }, - "Competition": { - "0": { "acintro2": 1 } - }, - "Compile": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "Translations": 1 } - }, - "Compiled": { - "0": { "BuildAndroid": 1 }, - "1": { "DefaultSetup": 2 }, - "2": { "DistGame": 12 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "FAQ": 1 }, - "5": { "Translations": 1 }, - "6": { "UpgradeTo341": 8 } - }, - "Compiler": { - "0": { "acintro1": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "File": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "Completely": { - "0": { "DefaultSetup": 1 } - }, - "Components": { - "0": { "EditorPlugins": 3 } - }, - "Compress": { - "0": { "UpgradeTo36": 1 } - }, - "Conceptually": { - "0": { "UpgradeTo335": 1 } - }, - "Conclusion": { - "0": { "acintro9": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "Concurrency": { - "0": { "UpgradeTo30": 1 } - }, - "Config": { - "0": { "BuildAndroid": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 1 } - }, - "Configuration": { - "0": { "EngineConfigFile": 2 } - }, - "Configure": { - "0": { "EditorInventoryItems": 1 } - }, - "Configuring": { - "0": { "BuildAndroid": 1 } - }, - "Confirm": { - "0": { "acintro1": 2 } - }, - "Consider": { - "0": { "ExtenderFunctions": 1 }, - "1": { "Game": 1 }, - "2": { "GameSavesCompatibility": 3 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "ScriptingTutorialPart2": 1 } - }, - "Constant": { - "0": { "Keycodes": 1 } - }, - "Constants": { - "0": { "Constants": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "ScriptAPIOverview": 1 }, - "3": { "Scripting": 1 }, - "4": { "SystemLimits": 1 } - }, - "Contacting": { - "0": { "ContactingTheDevelopers": 1 } - }, - "Contains": { - "0": { "Dictionary": 3 }, - "1": { "ListBox": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Set": 5 }, - "4": { "String": 1 } - }, - "Context": { - "0": { "EditorRoom": 1 }, - "1": { "EditorView": 2 } - }, - "Continue": { - "0": { "acintro1": 1 } - }, - "Continuous": { - "0": { "EditorCommandLineOptions": 1 } - }, - "Control": { - "0": { "Game": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "GUIControl": 2 }, - "3": { "OtherFeatures": 1 }, - "4": { "SourceControl": 3 }, - "5": { "System": 1 } - }, - "ControlCount": { - "0": { "GUI": 6 }, - "1": { "GUIControl": 1 } - }, - "ControlEnabled": { - "0": { "Mouse": 5 } - }, - "Controls": { - "0": { "EditorRoom": 1 }, - "1": { "GUI": 6 }, - "2": { "GUIControl": 2 }, - "3": { "SystemLimits": 1 }, - "4": { "UpgradeTo33": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "Conversations": { - "0": { "acintro": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 2 }, - "3": { "Settingupthegame": 2 }, - "4": { "StartingOff": 1 } - }, - "Converts": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "GUIControl": 1 }, - "2": { "Maths": 4 }, - "3": { "String": 2 } - }, - "Cool": { - "0": { "Game": 3 } - }, - "Copies": { - "0": { "DynamicSprite": 1 }, - "1": { "EditorView": 1 } - }, - "Copy": { - "0": { "DynamicArrays": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EditorView": 1 }, - "3": { "KeyboardShortcuts": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "String": 3 }, - "6": { "Templates": 1 } - }, - "CopyTransparencyMask": { - "0": { "DynamicSprite": 3 } - }, - "Copyright": { - "0": { "Copyright": 5 }, - "1": { "Credits": 1 }, - "2": { "Introduction": 1 } - }, - "Core": { - "0": { "Templates": 1 } - }, - "Corresponds": { - "0": { "RuntimeEngine": 2 } - }, - "Cos": { - "0": { "Maths": 15 } - }, - "Cosh": { - "0": { "Maths": 5 } - }, - "Count": { - "0": { "OOProgramming": 3 } - }, - "Create": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 2 }, - "3": { "acintro9": 1 }, - "4": { "Camera": 7 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "Dictionary": 7 }, - "7": { "DynamicArrays": 5 }, - "8": { "DynamicSprite": 3 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorPlugins": 2 }, - "11": { "Game": 3 }, - "12": { "ObsoleteScriptAPI": 2 }, - "13": { "Screen": 3 }, - "14": { "Set": 5 }, - "15": { "Settingupthegame": 1 }, - "16": { "StandardEnums": 4 }, - "17": { "Viewport": 10 } - }, - "CreateBlankBitmap": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "CreateCopy": { - "0": { "DrawingSurface": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "CreateDevice": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "CreateDynamicSprite": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "CreateFromBackground": { - "0": { "DynamicSprite": 3 } - }, - "CreateFromDrawingSurface": { - "0": { "DynamicSprite": 3 } - }, - "CreateFromExistingSprite": { - "0": { "DynamicSprite": 16 } - }, - "CreateFromFile": { - "0": { "DynamicSprite": 13 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "CreateFromSaveGame": { - "0": { "DynamicSprite": 4 }, - "1": { "Game": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "CreateFromScreenShot": { - "0": { "DynamicSprite": 8 } - }, - "CreateFromScreenshot": { - "0": { "DynamicSprite": 1 } - }, - "CreateGraphicOverlay": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 1 } - }, - "CreateGraphical": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 10 }, - "2": { "Pointers": 1 } - }, - "CreateRoomGraphical": { - "0": { "Overlay": 7 }, - "1": { "UpgradeTo36": 1 } - }, - "CreateRoomTextual": { - "0": { "Overlay": 6 }, - "1": { "UpgradeTo36": 1 } - }, - "CreateScriptString": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "CreateTextOverlay": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 1 } - }, - "CreateTextual": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 18 }, - "2": { "StandardEnums": 1 } - }, - "CreateYellowApple": { - "0": { "ScriptKeywords": 2 } - }, - "Creates": { - "0": { "Camera": 1 }, - "1": { "Dictionary": 3 }, - "2": { "DynamicSprite": 5 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "Overlay": 4 }, - "5": { "ScriptKeywords": 1 }, - "6": { "Set": 2 }, - "7": { "String": 1 }, - "8": { "Viewport": 1 } - }, - "Creating": { - "0": { "acintro": 2 }, - "1": { "acintro1": 4 }, - "2": { "acintro2": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorPlugins": 2 }, - "5": { "Plugins": 1 }, - "6": { "StartingOff": 2 }, - "7": { "Templates": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "Creative": { - "0": { "MusicAndSound": 1 } - }, - "Credits": { - "0": { "Credits": 1 } - }, - "Cristian": { - "0": { "Credits": 1 } - }, - "Crop": { - "0": { "DynamicSprite": 7 } - }, - "Crops": { - "0": { "DynamicSprite": 1 } - }, - "Cross-Platform": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Multimedia": 2 }, - "2": { "System": 2 } - }, - "Crossfade": { - "0": { "Globalfunctions_General": 1 } - }, - "Crozat": { - "0": { "Credits": 1 } - }, - "Ctrl": { - "0": { "acintro2": 2 }, - "1": { "Debuggingfeatures": 4 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Event": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Wait": 1 }, - "6": { "KeyboardShortcuts": 43 }, - "7": { "Keycodes": 36 }, - "8": { "Mouse": 1 }, - "9": { "Translations": 1 }, - "10": { "UpgradeTo30": 2 }, - "11": { "UpgradeTo36": 2 } - }, - "Ctrl-A": { - "0": { "GeneralSettings": 1 } - }, - "Ctrl-D": { - "0": { "GeneralSettings": 1 } - }, - "Ctrl-S": { - "0": { "GeneralSettings": 1 } - }, - "Ctrl-X": { - "0": { "GeneralSettings": 1 } - }, - "Cup": { - "0": { "acintro4": 1 }, - "1": { "Tumbleweed": 3 }, - "2": { "Tumbleweed_extensions": 2 } - }, - "Current": { - "0": { "Debuggingfeatures": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "GlobalArrays": 3 }, - "3": { "Globalfunctions_General": 1 } - }, - "Currently": { - "0": { "Button": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "EventTypes": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "ListBox": 1 }, - "7": { "RuntimeEngine": 1 }, - "8": { "Setup": 2 }, - "9": { "Tumbleweed": 1 }, - "10": { "Tumbleweed_extensions": 1 }, - "11": { "UpgradeTo34": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "Cursor": { - "0": { "acintro5": 1 }, - "1": { "acintro9": 1 }, - "2": { "EditorCursor": 2 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "Gamevariables": 1 }, - "5": { "Globalfunctions_Event": 6 }, - "6": { "Mouse": 1 } - }, - "CursorGraphic": { - "0": { "InventoryItem": 6 }, - "1": { "Mouse": 1 } - }, - "CursorMode": { - "0": { "Character": 2 }, - "1": { "EventTypes": 29 }, - "2": { "Hotspot": 2 }, - "3": { "InventoryItem": 2 }, - "4": { "Mouse": 5 }, - "5": { "Object": 2 }, - "6": { "Room": 1 }, - "7": { "StandardEnums": 3 }, - "8": { "TemplateVerbcoin": 1 }, - "9": { "UpgradeTo361": 3 } - }, - "Cursors": { - "0": { "acintro": 1 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 4 }, - "3": { "Character": 1 }, - "4": { "EditorCursor": 2 }, - "5": { "Mouse": 2 }, - "6": { "Room": 1 }, - "7": { "Settingupthegame": 2 }, - "8": { "StartingOff": 1 }, - "9": { "SystemLimits": 1 }, - "10": { "UpgradeTo36": 1 } - }, - "Custom": { - "0": { "Character": 3 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "CustomProperties": 2 }, - "3": { "DefaultSetup": 5 }, - "4": { "DialogScript": 4 }, - "5": { "DistGame": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "FAQ": 1 }, - "10": { "File": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 4 }, - "13": { "OtherFeatures": 1 }, - "14": { "Scripting": 1 }, - "15": { "Setup": 2 }, - "16": { "SystemLimits": 1 }, - "17": { "UnicodeSupport": 2 }, - "18": { "UpgradeTo34": 4 }, - "19": { "UpgradeTo35": 5 }, - "20": { "UpgradeTo36": 2 } - }, - "CustomAnimation": { - "0": { "Globalfunctions_General": 2 } - }, - "CustomAvatar": { - "0": { "DynamicSprite": 14 } - }, - "CustomDialogStart": { - "0": { "Dialog": 3 } - }, - "CustomPlay": { - "0": { "AudioClip": 3 } - }, - "CustomPortraitPlacement": { - "0": { "Speech": 6 } - }, - "Customizations": { - "0": { "Gamevariables": 1 } - }, - "Customized": { - "0": { "EditorGUI": 1 } - }, - "Customizing": { - "0": { "DistGame": 1 } - }, - "Cut": { - "0": { "EditorView": 1 }, - "1": { "KeyboardShortcuts": 1 } - }, - "Cutscene": { - "0": { "acintro7": 1 } - }, - "CutsceneSkipType": { - "0": { "Globalfunctions_General": 2 }, - "1": { "StandardEnums": 2 } - }, - "Cutscenes": { - "0": { "acintro7": 2 }, - "1": { "Settingupthegame": 1 } - }, - "CyclePalette": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Globalfunctions_Palette": 4 }, - "2": { "Globalfunctions_Screen": 2 } - }, - "DAMAGE": { - "0": { "Copyright": 1 } - }, - "DAMAGES": { - "0": { "Copyright": 2 } - }, - "DAT": { - "0": { "Lipsync": 1 } - }, - "DATA": { - "0": { "Copyright": 1 }, - "1": { "EngineConfigFile": 3 }, - "2": { "File": 3 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Event": 12 }, - "6": { "Globalfunctions_General": 5 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "UpgradeTo36": 2 } - }, - "DDraw": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "DE": { - "0": { "Tumbleweed": 2 } - }, - "DEBUG": { - "0": { "Constants": 2 }, - "1": { "Debuggingfeatures": 3 } - }, - "DEFAULT": { - "0": { "Translations": 7 } - }, - "DELAY": { - "0": { "Button": 1 }, - "1": { "Character": 5 }, - "2": { "Globalfunctions_Screen": 1 }, - "3": { "Object": 2 } - }, - "DESCRIPTION": { - "0": { "Globalfunctions_General": 1 } - }, - "DIALOG": { - "0": { "Dialog": 2 }, - "1": { "DialogScript": 6 } - }, - "DIALOGNUMBERED": { - "0": { "Globalfunctions_General": 1 } - }, - "DIALOGOPTIONSGAP": { - "0": { "Globalfunctions_General": 1 } - }, - "DIALOGOPTIONSGUI": { - "0": { "Globalfunctions_General": 1 } - }, - "DIALOGOPTS": { - "0": { "Constants": 1 } - }, - "DIALOGUPWARDS": { - "0": { "Globalfunctions_General": 1 } - }, - "DIR": { - "0": { "RuntimeEngine": 2 } - }, - "DIRECTORY": { - "0": { "RuntimeEngine": 1 } - }, - "DIRNAME": { - "0": { "VoiceSpeech": 2 } - }, - "DISABLETINTS": { - "0": { "Globalfunctions_Room": 1 } - }, - "DIST": { - "0": { "Character": 6 } - }, - "DISTRIBUTION": { - "0": { "Copyright": 1 } - }, - "DLL": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginDesign-timeAPI": 3 }, - "2": { "EnginePlugins": 2 }, - "3": { "Plugins": 2 } - }, - "DLLEXPORT": { - "0": { "EnginePluginDesign-timeAPI": 7 }, - "1": { "EnginePluginRun-timeAPI": 5 } - }, - "DLLs": { - "0": { "EditorPlugins": 1 } - }, - "DO": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "Translations": 3 } - }, - "DON'T": { - "0": { "GameSavesCompatibility": 2 } - }, - "DONTLOSEINV": { - "0": { "Globalfunctions_General": 1 } - }, - "DOS": { - "0": { "EngineConfigFile": 1 }, - "1": { "Region": 1 } - }, - "Damage": { - "0": { "OOProgramming": 11 }, - "1": { "ScriptKeywords": 3 } - }, - "Darkness": { - "0": { "Room": 2 } - }, - "Das": { - "0": { "Credits": 1 } - }, - "Data": { - "0": { "DistGame": 3 }, - "1": { "ScriptKeywords": 1 }, - "2": { "Setup": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "Date": { - "0": { "GeneralSettings": 1 } - }, - "DateTime": { - "0": { "DateTime": 52 }, - "1": { "ObsoleteScriptAPI": 2 }, - "2": { "Scripting": 1 } - }, - "Day": { - "0": { "acintro5": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Settingupthegame": 1 } - }, - "DayOfMonth": { - "0": { "DateTime": 4 } - }, - "Debug": { - "0": { "acintro1": 1 }, - "1": { "Debuggingfeatures": 7 }, - "2": { "EditorPreferences": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 5 }, - "5": { "System": 2 } - }, - "Debugger": { - "0": { "KeyboardShortcuts": 2 }, - "1": { "UpgradeTo30": 1 } - }, - "Debugging": { - "0": { "Constants": 1 }, - "1": { "Debuggingfeatures": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "OtherFeatures": 1 } - }, - "Declare": { - "0": { "DynamicSprite": 3 } - }, - "Declares": { - "0": { "ScriptKeywords": 5 } - }, - "Declaring": { - "0": { "ScriptKeywords": 1 } - }, - "Decoder": { - "0": { "acintro9": 1 }, - "1": { "Settingupthegame": 1 } - }, - "Decrement": { - "0": { "ScriptKeywords": 1 } - }, - "DecrementManagedObjectRefCount": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Decrements": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Default": { - "0": { "CustomProperties": 2 }, - "1": { "DefaultSetup": 7 }, - "2": { "DistGame": 1 }, - "3": { "EditorPreferences": 2 }, - "4": { "EditorRoom": 1 }, - "5": { "EngineConfigFile": 5 }, - "6": { "FAQ": 2 }, - "7": { "Gamevariables": 7 }, - "8": { "GeneralSettings": 3 }, - "9": { "Lipsync": 1 }, - "10": { "Overlay": 2 }, - "11": { "RuntimeEngine": 1 }, - "12": { "ScriptAPIOverview": 2 }, - "13": { "Setup": 1 }, - "14": { "Templates": 1 }, - "15": { "Tumbleweed": 1 }, - "16": { "UpgradeTo33": 1 }, - "17": { "UpgradeTo341": 5 }, - "18": { "UpgradeTo35": 2 } - }, - "DefaultVolume": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 2 } - }, - "Defaults": { - "0": { "Settingupthegame": 1 } - }, - "Defined": { - "0": { "Constants": 11 }, - "1": { "Tumbleweed_translation": 1 } - }, - "Defines": { - "0": { "Tumbleweed_helper": 1 } - }, - "Defining": { - "0": { "OOProgramming": 1 } - }, - "Deflate": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "DegreesToRadians": { - "0": { "Maths": 26 } - }, - "Delay": { - "0": { "acintro7": 1 }, - "1": { "EditorView": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Settingupthegame": 1 } - }, - "Delete": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Camera": 7 }, - "2": { "DynamicSprite": 31 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorView": 1 }, - "6": { "File": 4 }, - "7": { "Game": 2 }, - "8": { "KeyboardShortcuts": 6 }, - "9": { "Keycodes": 1 }, - "10": { "ObsoleteScriptAPI": 1 }, - "11": { "Screen": 2 }, - "12": { "ScriptModules": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Viewport": 7 } - }, - "DeleteDynamicSprite": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "DeleteSaveSlot": { - "0": { "Globalfunctions_General": 6 } - }, - "DeleteSprite": { - "0": { "DynamicSprite": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Deletes": { - "0": { "DynamicSprite": 1 }, - "1": { "File": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "TemplateVerbcoin": 1 } - }, - "Deleting": { - "0": { "DynamicArrays": 1 } - }, - "Densming": { - "0": { "acintro": 1 } - }, - "Depending": { - "0": { "EditorGUI": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "Deprecated": { - "0": { "Preprocessor": 1 }, - "1": { "UpgradeTo35": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "Depth": { - "0": { "acintro1": 2 }, - "1": { "ColoursEditor": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "Settingupthegame": 1 } - }, - "Derek": { - "0": { "acintro8": 1 } - }, - "Description": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 2 }, - "4": { "Constants": 1 }, - "5": { "CustomProperties": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "FAQ": 1 }, - "10": { "GlobalArrays": 1 }, - "11": { "Globalfunctions_Event": 1 }, - "12": { "Hotspot": 2 }, - "13": { "InventoryItem": 2 }, - "14": { "Label": 1 }, - "15": { "Object": 2 }, - "16": { "Room": 2 }, - "17": { "ScriptKeywords": 2 }, - "18": { "StringFormats": 1 } - }, - "Design": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 5 }, - "2": { "acintro8": 2 }, - "3": { "acintro9": 2 } - }, - "Design-time": { - "0": { "EnginePluginDesign-timeAPI": 2 }, - "1": { "EnginePlugins": 2 }, - "2": { "Plugins": 1 } - }, - "Desktop": { - "0": { "RuntimeEngine": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "DestinationX": { - "0": { "Character": 3 } - }, - "DestinationY": { - "0": { "Character": 3 } - }, - "Detects": { - "0": { "Speech": 1 } - }, - "Determines": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "ListBox": 1 } - }, - "Developer": { - "0": { "GeneralSettings": 2 }, - "1": { "Settingupthegame": 1 } - }, - "Diagonal": { - "0": { "Settingupthegame": 1 } - }, - "DiagonalLoops": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Dialog": { - "0": { "acintro8": 9 }, - "1": { "CustomDialogOptions": 3 }, - "2": { "Dialog": 58 }, - "3": { "DialogOptionsRenderingInfo": 3 }, - "4": { "DialogScript": 4 }, - "5": { "EditorDialog": 3 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GeneralSettings": 2 }, - "8": { "GlobalArrays": 2 }, - "9": { "Globalfunctions_General": 2 }, - "10": { "ImportingFunctionsAndVariables": 1 }, - "11": { "ObsoleteScriptAPI": 3 }, - "12": { "Scripting": 1 }, - "13": { "ScriptingLanguage": 1 }, - "14": { "Settingupthegame": 4 }, - "15": { "StandardEnums": 3 }, - "16": { "SystemLimits": 2 }, - "17": { "UpgradeTo30": 2 }, - "18": { "UpgradeTo33": 1 }, - "19": { "UpgradeTo34": 1 } - }, - "DialogCount": { - "0": { "Game": 4 }, - "1": { "GlobalArrays": 1 } - }, - "DialogOptionSayStyle": { - "0": { "Dialog": 2 }, - "1": { "StandardEnums": 2 } - }, - "DialogOptionState": { - "0": { "Dialog": 2 }, - "1": { "StandardEnums": 2 } - }, - "DialogOptionsRenderingInfo": { - "0": { "CustomDialogOptions": 17 }, - "1": { "DialogOptionsRenderingInfo": 55 }, - "2": { "Scripting": 1 }, - "3": { "UpgradeTo33": 1 }, - "4": { "UpgradeTo34": 1 }, - "5": { "UpgradeTo36": 2 } - }, - "DialogToRender": { - "0": { "CustomDialogOptions": 14 }, - "1": { "DialogOptionsRenderingInfo": 2 } - }, - "Dialogs": { - "0": { "acintro8": 3 }, - "1": { "EditorDialog": 3 }, - "2": { "GameSavesCompatibility": 2 }, - "3": { "Settingupthegame": 1 }, - "4": { "UpgradeTo341": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "Dictionary": { - "0": { "Dictionary": 60 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "Scripting": 1 }, - "3": { "Set": 2 }, - "4": { "StandardEnums": 2 } - }, - "Different": { - "0": { "Multimedia": 1 } - }, - "Direct": { - "0": { "DefaultSetup": 1 } - }, - "DirectDraw": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "SystemRequirements": 1 } - }, - "DirectMedia": { - "0": { "UpgradeTo36": 2 } - }, - "DirectShow": { - "0": { "Multimedia": 1 } - }, - "DirectSound": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "DirectX": { - "0": { "Character": 1 }, - "1": { "GraphicsDriver": 3 }, - "2": { "Object": 1 } - }, - "Direction": { - "0": { "Button": 3 }, - "1": { "Character": 2 }, - "2": { "Object": 2 }, - "3": { "StandardEnums": 2 } - }, - "Directly": { - "0": { "Tumbleweed": 1 } - }, - "Directory": { - "0": { "EditorPreferences": 4 } - }, - "Disable": { - "0": { "DefaultSetup": 1 }, - "1": { "TemplateVerbcoin": 2 } - }, - "DisableCursorMode": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisableGroundLevelAreas": { - "0": { "Globalfunctions_Room": 5 } - }, - "DisableGui": { - "0": { "Tumbleweed_helper": 4 } - }, - "DisableHotspot": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisableInterface": { - "0": { "EditorGUI": 1 }, - "1": { "Globalfunctions_General": 9 } - }, - "DisableMode": { - "0": { "EditorRoom": 1 }, - "1": { "Mouse": 6 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "StandardEnums": 1 } - }, - "DisableRegion": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Region": 1 } - }, - "DisableSound": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Disabled": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUIControl": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "Disables": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Mouse": 1 }, - "4": { "TemplateVerbcoin": 1 } - }, - "Disabling": { - "0": { "GeneralSettings": 1 } - }, - "Discards": { - "0": { "Globalfunctions_Room": 1 } - }, - "Discontinued": { - "0": { "UpgradeTo36": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "Discord": { - "0": { "FAQ": 1 } - }, - "Display": { - "0": { "acintro3": 2 }, - "1": { "acintro5": 1 }, - "2": { "AudioChannel": 8 }, - "3": { "AudioClip": 4 }, - "4": { "Button": 4 }, - "5": { "Character": 20 }, - "6": { "Constants": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "DateTime": 3 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "DefaultSetup": 1 }, - "11": { "Dialog": 8 }, - "12": { "DialogScript": 2 }, - "13": { "Dictionary": 3 }, - "14": { "DrawingSurface": 3 }, - "15": { "DynamicSprite": 3 }, - "16": { "EditorGUI": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "FAQ": 4 }, - "19": { "File": 6 }, - "20": { "Game": 32 }, - "21": { "Gamevariables": 2 }, - "22": { "GeneralSettings": 3 }, - "23": { "GlobalArrays": 1 }, - "24": { "Globalfunctions_General": 9 }, - "25": { "Globalfunctions_Message": 15 }, - "26": { "Globalfunctions_Room": 4 }, - "27": { "Globalfunctions_Wait": 2 }, - "28": { "GlobalVariables": 1 }, - "29": { "GUI": 4 }, - "30": { "GUIControl": 7 }, - "31": { "Hotspot": 10 }, - "32": { "InventoryItem": 8 }, - "33": { "InvWindow": 4 }, - "34": { "Keycodes": 4 }, - "35": { "ListBox": 3 }, - "36": { "Maths": 5 }, - "37": { "Mouse": 4 }, - "38": { "Multimedia": 1 }, - "39": { "Object": 12 }, - "40": { "Overlay": 2 }, - "41": { "Parser": 2 }, - "42": { "Pointers": 4 }, - "43": { "Preprocessor": 1 }, - "44": { "Region": 8 }, - "45": { "RepExec": 1 }, - "46": { "Room": 12 }, - "47": { "Screen": 2 }, - "48": { "ScriptingTutorialPart1": 17 }, - "49": { "ScriptingTutorialPart2": 7 }, - "50": { "ScriptKeywords": 13 }, - "51": { "Set": 2 }, - "52": { "Slider": 2 }, - "53": { "Speech": 1 }, - "54": { "String": 20 }, - "55": { "StringFormats": 8 }, - "56": { "System": 14 }, - "57": { "TextParser": 5 }, - "58": { "Tumbleweed_movement": 1 }, - "59": { "UpgradeTo30": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "ViewFrame": 8 }, - "62": { "Viewport": 4 }, - "63": { "VoiceSpeech": 2 } - }, - "Display-style": { - "0": { "Globalfunctions_General": 1 } - }, - "DisplayAppleDescription": { - "0": { "ScriptKeywords": 2 } - }, - "DisplayAt": { - "0": { "Globalfunctions_Message": 7 }, - "1": { "VoiceSpeech": 1 } - }, - "DisplayAtY": { - "0": { "Globalfunctions_Message": 5 }, - "1": { "VoiceSpeech": 1 } - }, - "DisplayMessage": { - "0": { "Globalfunctions_Message": 6 }, - "1": { "UpgradeTo30": 1 } - }, - "DisplayMessageAtY": { - "0": { "Globalfunctions_Message": 4 } - }, - "DisplayOptions": { - "0": { "Dialog": 4 }, - "1": { "StandardEnums": 1 } - }, - "DisplayPostTimeMs": { - "0": { "Speech": 3 } - }, - "DisplaySpeech": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisplaySpeechAt": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisplaySpeechBackground": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisplayThought": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "DisplayTopBar": { - "0": { "Game": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "Globalfunctions_Message": 5 } - }, - "Displays": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Globalfunctions_Message": 2 }, - "3": { "InventoryItem": 1 }, - "4": { "ScriptingTutorialPart1": 1 } - }, - "Dispose": { - "0": { "EnginePluginRun-timeAPI": 7 } - }, - "Distance": { - "0": { "Tumbleweed_helper": 2 } - }, - "Distributed": { - "0": { "Copyright": 1 } - }, - "Distributing": { - "0": { "DistGame": 1 }, - "1": { "OtherFeatures": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "Divide": { - "0": { "ScriptKeywords": 1 } - }, - "DllMain": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "Do": { - "0": { "acintro8": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 7 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DialogScript": 2 }, - "5": { "EditorCursor": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "EventTypes": 1 }, - "9": { "File": 2 }, - "10": { "Object": 2 }, - "11": { "Room": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "Templates": 1 }, - "14": { "Tumbleweed": 1 }, - "15": { "UpgradeTo35": 3 }, - "16": { "UpgradeTo36": 2 } - }, - "DoLaundry": { - "0": { "ScriptKeywords": 2 } - }, - "DoOnceOnly": { - "0": { "Game": 7 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "DoSomething": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "DoStuffOption": { - "0": { "ScriptKeywords": 2 } - }, - "DoThisAndOptionallyThat": { - "0": { "ScriptKeywords": 1 } - }, - "Docking": { - "0": { "Credits": 1 } - }, - "Documents": { - "0": { "acintro1": 1 }, - "1": { "Game": 2 } - }, - "Doe": { - "0": { "OOProgramming": 1 } - }, - "Does": { - "0": { "acintro5": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "EventTypes": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "Dog": { - "0": { "String": 1 } - }, - "Doing": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "Dominik": { - "0": { "Credits": 1 } - }, - "Don't": { - "0": { "acintro6": 1 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Globalfunctions_Room": 2 }, - "5": { "Hotspot": 1 }, - "6": { "Region": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "Donovan": { - "0": { "Credits": 1 } - }, - "Door": { - "0": { "Hotspot": 1 }, - "1": { "Object": 1 }, - "2": { "Pointers": 1 }, - "3": { "Tumbleweed": 1 }, - "4": { "Tumbleweed_door": 1 } - }, - "Door's": { - "0": { "Hotspot": 1 } - }, - "Doors": { - "0": { "Tumbleweed_door": 10 } - }, - "Double": { - "0": { "acintro4": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "ScriptModules": 1 } - }, - "Double-click": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "Introduction": 1 }, - "4": { "MusicAndSound": 2 }, - "5": { "Settingupthegame": 4 } - }, - "Double-clicking": { - "0": { "Lipsync": 1 } - }, - "Down": { - "0": { "EditorGUI": 1 }, - "1": { "InvWindow": 1 }, - "2": { "KeyboardShortcuts": 1 }, - "3": { "Keycodes": 1 }, - "4": { "MultipleScripts": 1 }, - "5": { "Tumbleweed_door": 1 } - }, - "Download": { - "0": { "Introduction": 2 }, - "1": { "Lipsync": 2 }, - "2": { "Templates": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "Dragging": { - "0": { "DefaultSetup": 1 } - }, - "Drake": { - "0": { "Credits": 1 } - }, - "Draw": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Button": 1 }, - "3": { "EnginePluginRun-timeAPI": 4 } - }, - "DrawCircle": { - "0": { "DrawingSurface": 6 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Plugins": 1 } - }, - "DrawImage": { - "0": { "DrawingSurface": 6 }, - "1": { "DynamicSprite": 9 }, - "2": { "ObsoleteScriptAPI": 3 }, - "3": { "Room": 2 } - }, - "DrawLine": { - "0": { "DrawingSurface": 13 }, - "1": { "DynamicSprite": 4 }, - "2": { "Game": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Room": 2 } - }, - "DrawMessageWrapped": { - "0": { "DrawingSurface": 4 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "StandardEnums": 1 } - }, - "DrawPixel": { - "0": { "DrawingSurface": 4 }, - "1": { "DynamicSprite": 1 } - }, - "DrawRectangle": { - "0": { "DrawingSurface": 6 }, - "1": { "Globalfunctions_Room": 2 }, - "2": { "Hotspot": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Region": 1 } - }, - "DrawString": { - "0": { "DrawingSurface": 6 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "StandardEnums": 1 } - }, - "DrawStringWrapped": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DrawingSurface": 5 }, - "2": { "StandardEnums": 2 } - }, - "DrawSurface": { - "0": { "DrawingSurface": 6 }, - "1": { "ObsoleteScriptAPI": 2 } - }, - "DrawText": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "DrawTextWrapped": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "DrawTriangle": { - "0": { "DrawingSurface": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Drawing": { - "0": { "Room": 1 }, - "1": { "ScriptAPIOverview": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "DrawingColor": { - "0": { "CustomDialogOptions": 4 }, - "1": { "DrawingSurface": 22 }, - "2": { "DynamicSprite": 4 }, - "3": { "Game": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Room": 4 }, - "6": { "Hotspot": 2 }, - "7": { "ObsoleteScriptAPI": 1 }, - "8": { "Region": 2 }, - "9": { "Room": 1 } - }, - "DrawingSurface": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 3 }, - "2": { "DrawingSurface": 99 }, - "3": { "DynamicSprite": 20 }, - "4": { "Game": 2 }, - "5": { "Globalfunctions_General": 3 }, - "6": { "Globalfunctions_Room": 6 }, - "7": { "Hotspot": 3 }, - "8": { "Object": 1 }, - "9": { "ObsoleteScriptAPI": 15 }, - "10": { "Region": 3 }, - "11": { "Room": 6 }, - "12": { "Scripting": 1 }, - "13": { "StandardEnums": 4 }, - "14": { "System": 1 }, - "15": { "UpgradeTo30": 2 }, - "16": { "UpgradeTo35": 1 } - }, - "DrawingSurface's": { - "0": { "DynamicSprite": 1 } - }, - "Drawn": { - "0": { "InventoryItem": 1 } - }, - "Draws": { - "0": { "DrawingSurface": 10 }, - "1": { "EnginePluginRun-timeAPI": 3 } - }, - "Driver": { - "0": { "EngineConfigFile": 1 }, - "1": { "Setup": 2 } - }, - "Drivers": { - "0": { "System": 1 } - }, - "Due": { - "0": { "Character": 1 }, - "1": { "DistGame": 1 }, - "2": { "Game": 1 } - }, - "Dummy": { - "0": { "GameSavesCompatibility": 1 } - }, - "Duong": { - "0": { "Credits": 1 } - }, - "Duplicate": { - "0": { "KeyboardShortcuts": 1 } - }, - "During": { - "0": { "acintro7": 1 } - }, - "Dutch": { - "0": { "Tumbleweed": 1 } - }, - "Dynamic": { - "0": { "DistGame": 1 }, - "1": { "DynamicArrays": 3 }, - "2": { "EventTypes": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "ScriptingLanguage": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "SystemLimits": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "UpgradeTo36": 1 } - }, - "DynamicSprite": { - "0": { "DrawingSurface": 2 }, - "1": { "DynamicArrays": 6 }, - "2": { "DynamicSprite": 172 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "ObsoleteScriptAPI": 3 }, - "7": { "Overlay": 3 }, - "8": { "Scripting": 1 }, - "9": { "StandardEnums": 1 }, - "10": { "UpgradeTo30": 1 } - }, - "DynamicSprite's": { - "0": { "DefaultSetup": 1 }, - "1": { "DynamicSprite": 1 } - }, - "DynamicSprites": { - "0": { "DynamicSprite": 1 } - }, - "EAGERNESS": { - "0": { "Character": 5 } - }, - "EDITOR": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "EGO": { - "0": { "acintro8": 4 }, - "1": { "Character": 37 }, - "2": { "Constants": 1 }, - "3": { "DialogScript": 1 }, - "4": { "Globalfunctions_General": 7 }, - "5": { "Globalfunctions_Room": 4 }, - "6": { "Globalfunctions_Wait": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "UpgradingTo27": 6 } - }, - "EGO's": { - "0": { "Character": 21 }, - "1": { "InventoryItem": 1 } - }, - "EITHER": { - "0": { "Globalfunctions_Wait": 4 } - }, - "EN": { - "0": { "Tumbleweed": 1 } - }, - "END": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Palette": 2 } - }, - "ENTERROOM": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "EOF": { - "0": { "File": 6 }, - "1": { "GUI": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "EOS": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "ERROR": { - "0": { "ContactingTheDevelopers": 1 } - }, - "ES": { - "0": { "Tumbleweed": 1 } - }, - "ESC": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 5 }, - "2": { "Multimedia": 4 } - }, - "EVENT": { - "0": { "Copyright": 1 }, - "1": { "Region": 1 } - }, - "EVERY": { - "0": { "acintro6": 1 } - }, - "EWOH": { - "0": { "acintro3": 1 }, - "1": { "ScriptingTutorialPart1": 5 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "EXACT": { - "0": { "ContactingTheDevelopers": 2 } - }, - "EXACTLY": { - "0": { "Character": 2 } - }, - "EXE": { - "0": { "acintro1": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DistGame": 6 }, - "3": { "FAQ": 2 }, - "4": { "Game": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "KeyboardShortcuts": 1 }, - "7": { "UpgradeTo30": 5 } - }, - "EXPRESS": { - "0": { "Copyright": 2 } - }, - "EXT": { - "0": { "VoiceSpeech": 2 } - }, - "EXTRACTION": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "Each": { - "0": { "acintro2": 1 }, - "1": { "acintro5": 2 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "Camera": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorRoom": 2 }, - "11": { "EditorSprite": 1 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "FAQ": 1 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "GUIControl": 1 }, - "16": { "Lipsync": 1 }, - "17": { "MultipleScripts": 1 }, - "18": { "ScriptAPIOverview": 1 }, - "19": { "ScriptingTutorialPart1": 2 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "ScriptKeywords": 2 }, - "22": { "Settingupthegame": 6 }, - "23": { "TextParser": 1 }, - "24": { "UpgradingTo27": 1 } - }, - "Earlier": { - "0": { "UpgradeTo35": 1 } - }, - "Edge": { - "0": { "EventTypes": 4 } - }, - "Edges": { - "0": { "acintro2": 5 }, - "1": { "acintro3": 3 }, - "2": { "Character": 2 }, - "3": { "EditorRoom": 2 } - }, - "Edit": { - "0": { "acintro2": 2 }, - "1": { "BuildAndroid": 1 }, - "2": { "CustomProperties": 2 }, - "3": { "EditorRoom": 1 }, - "4": { "Globalfunctions_General": 1 } - }, - "Editing": { - "0": { "EditorGUI": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Slider": 1 } - }, - "Editor": { - "0": { "acintro": 1 }, - "1": { "acintro1": 5 }, - "2": { "acintro2": 3 }, - "3": { "acintro3": 2 }, - "4": { "acintro4": 2 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 5 }, - "7": { "acintro8": 2 }, - "8": { "acintro9": 1 }, - "9": { "AnonymousUsageInfo": 2 }, - "10": { "AudioClip": 2 }, - "11": { "BuildAndroid": 11 }, - "12": { "Button": 1 }, - "13": { "Character": 6 }, - "14": { "ColoursEditor": 3 }, - "15": { "Credits": 1 }, - "16": { "CustomProperties": 1 }, - "17": { "DefaultSetup": 1 }, - "18": { "Dialog": 1 }, - "19": { "DistGame": 4 }, - "20": { "EditorCharacter": 1 }, - "21": { "EditorCommandLineOptions": 9 }, - "22": { "EditorCursor": 1 }, - "23": { "EditorDialog": 1 }, - "24": { "EditorGUI": 2 }, - "25": { "EditorInventoryItems": 2 }, - "26": { "EditorLogPanel": 2 }, - "27": { "EditorPlugins": 4 }, - "28": { "EditorPreferences": 7 }, - "29": { "EditorRoom": 5 }, - "30": { "EditorView": 3 }, - "31": { "EnginePluginDesign-timeAPI": 1 }, - "32": { "EnginePluginRun-timeAPI": 4 }, - "33": { "EnginePlugins": 2 }, - "34": { "EventTypes": 1 }, - "35": { "FAQ": 12 }, - "36": { "GeneralSettings": 1 }, - "37": { "Globalfunctions_General": 3 }, - "38": { "Globalfunctions_Message": 1 }, - "39": { "Globalfunctions_Palette": 3 }, - "40": { "GlobalVariables": 2 }, - "41": { "GUI": 2 }, - "42": { "GUIControl": 1 }, - "43": { "Hotspot": 1 }, - "44": { "ImportingFunctionsAndVariables": 1 }, - "45": { "Introduction": 2 }, - "46": { "InventoryItem": 2 }, - "47": { "KeyboardShortcuts": 2 }, - "48": { "Lipsync": 1 }, - "49": { "MusicAndSound": 1 }, - "50": { "Object": 2 }, - "51": { "OtherFeatures": 1 }, - "52": { "Plugins": 5 }, - "53": { "Preprocessor": 4 }, - "54": { "RuntimeEngine": 1 }, - "55": { "Screen": 2 }, - "56": { "ScriptingTutorialPart1": 2 }, - "57": { "ScriptingTutorialPart2": 2 }, - "58": { "Settingupthegame": 5 }, - "59": { "Setup": 1 }, - "60": { "SourceControl": 1 }, - "61": { "SystemRequirements": 1 }, - "62": { "Templates": 3 }, - "63": { "Translations": 1 }, - "64": { "TroubleshootingWindowsZoneID": 5 }, - "65": { "UnicodeSupport": 1 }, - "66": { "UpgradeTo30": 2 }, - "67": { "UpgradeTo34": 3 }, - "68": { "UpgradeTo35": 1 }, - "69": { "UpgradeTo36": 7 }, - "70": { "UpgradeTo361": 4 }, - "71": { "ViewFrame": 1 } - }, - "Editor's": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "EditorLoadGame": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "EditorProperties": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "EditorSaveGame": { - "0": { "EnginePluginDesign-timeAPI": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "EditorShutdown": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "EditorStartup": { - "0": { "EnginePluginDesign-timeAPI": 3 } - }, - "Edmundo": { - "0": { "Credits": 1 } - }, - "Edward": { - "0": { "Credits": 1 } - }, - "Eeek": { - "0": { "acintro7": 1 } - }, - "Effects": { - "0": { "DistGame": 1 }, - "1": { "Globalfunctions_Screen": 1 } - }, - "Ego": { - "0": { "Character": 1 }, - "1": { "ScriptKeywords": 2 }, - "2": { "UpgradeTo361": 1 } - }, - "Either": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Eject": { - "0": { "Multimedia": 1 } - }, - "Electroshokker": { - "0": { "Credits": 1 } - }, - "Else": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "Empty": { - "0": { "acintro1": 1 }, - "1": { "Templates": 1 } - }, - "Emscripten": { - "0": { "UpgradeTo36": 2 } - }, - "Emulation": { - "0": { "DefaultSetup": 1 } - }, - "Enable": { - "0": { "acintro1": 1 }, - "1": { "Button": 2 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "EditorSprite": 2 }, - "5": { "GeneralSettings": 2 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "TemplateVerbcoin": 2 }, - "9": { "UpgradeTo36": 1 } - }, - "EnableCursorMode": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "EnableGroundLevelAreas": { - "0": { "Globalfunctions_Room": 4 } - }, - "EnableGui": { - "0": { "Tumbleweed_helper": 3 } - }, - "EnableHotspot": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "EnableInterface": { - "0": { "Globalfunctions_General": 6 } - }, - "EnableMode": { - "0": { "Mouse": 5 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "EnableRegion": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Region": 1 } - }, - "Enabled": { - "0": { "GeneralSettings": 2 }, - "1": { "Globalfunctions_Room": 4 }, - "2": { "GUI": 2 }, - "3": { "GUIControl": 11 }, - "4": { "Hotspot": 5 }, - "5": { "InvWindow": 2 }, - "6": { "Object": 2 }, - "7": { "ObsoleteScriptAPI": 5 }, - "8": { "Region": 4 } - }, - "Enables": { - "0": { "GUIControl": 1 }, - "1": { "Hotspot": 1 }, - "2": { "Region": 1 }, - "3": { "Speech": 1 }, - "4": { "TemplateVerbcoin": 1 } - }, - "Encoding": { - "0": { "Translations": 3 }, - "1": { "UpgradeTo36": 2 } - }, - "End": { - "0": { "EditorSprite": 1 }, - "1": { "KeyboardShortcuts": 2 }, - "2": { "Keycodes": 1 } - }, - "EndCutscene": { - "0": { "Game": 4 }, - "1": { "Globalfunctions_General": 7 } - }, - "EndScene": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Ends": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "String": 2 } - }, - "EndsWith": { - "0": { "StandardEnums": 1 }, - "1": { "String": 5 } - }, - "Enforce": { - "0": { "Constants": 3 }, - "1": { "GeneralSettings": 3 }, - "2": { "ScriptAPIOverview": 3 } - }, - "Engine": { - "0": { "Credits": 2 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "EnginePlugins": 4 }, - "6": { "FAQ": 1 }, - "7": { "Multimedia": 1 }, - "8": { "Plugins": 6 }, - "9": { "UpgradeTo36": 1 } - }, - "EngineDebugHook": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "EngineInitGfx": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "EngineOnEvent": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "EngineShutdown": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "EngineStartup": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "English": { - "0": { "acintro9": 1 }, - "1": { "Game": 1 }, - "2": { "Label": 1 }, - "3": { "Tumbleweed": 2 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo36": 2 } - }, - "Enhanced": { - "0": { "GeneralSettings": 1 } - }, - "Enjoy": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "EnsureTextValidForFont": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Enter": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Lipsync": 1 } - }, - "EnterRoom": { - "0": { "Tumbleweed": 1 }, - "1": { "Tumbleweed_player": 3 } - }, - "Entering": { - "0": { "System": 1 } - }, - "Enters": { - "0": { "Character": 1 }, - "1": { "EventTypes": 3 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Room": 4 }, - "4": { "Hotspot": 1 }, - "5": { "Region": 3 }, - "6": { "Room": 1 } - }, - "Enum": { - "0": { "System": 1 } - }, - "Enumerated": { - "0": { "Button": 1 }, - "1": { "Label": 1 }, - "2": { "ListBox": 1 }, - "3": { "Scripting": 1 }, - "4": { "StandardEnums": 1 } - }, - "Environment": { - "0": { "DefaultSetup": 1 } - }, - "Equivalent": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Erico": { - "0": { "Credits": 1 } - }, - "Error": { - "0": { "DynamicArrays": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "File": 7 }, - "3": { "GUIControl": 1 }, - "4": { "OOProgramming": 1 } - }, - "Escape": { - "0": { "Keycodes": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "System": 1 } - }, - "Even": { - "0": { "Room": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "Event": { - "0": { "acintro7": 1 }, - "1": { "EventTypes": 1 } - }, - "EventType": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "MultipleScripts": 1 }, - "3": { "Object": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "StandardEnums": 2 } - }, - "Events": { - "0": { "acintro3": 3 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 2 }, - "3": { "acintro7": 2 }, - "4": { "acintro8": 2 }, - "5": { "EditorRoom": 1 }, - "6": { "EventTypes": 1 }, - "7": { "RepExec": 2 }, - "8": { "Settingupthegame": 2 }, - "9": { "Tumbleweed": 1 }, - "10": { "Tumbleweed_unhandled": 1 } - }, - "Eventually": { - "0": { "Tumbleweed": 1 } - }, - "Every": { - "0": { "acintro5": 1 }, - "1": { "EditorFont": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "Settingupthegame": 1 } - }, - "Everything": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "UpgradeTo31": 1 } - }, - "Evil": { - "0": { "Globalfunctions_Message": 2 } - }, - "Ex": { - "0": { "Plugins": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "Example": { - "0": { "AudioChannel": 15 }, - "1": { "AudioClip": 11 }, - "2": { "Button": 11 }, - "3": { "Camera": 7 }, - "4": { "Character": 88 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "DateTime": 8 }, - "7": { "Dialog": 13 }, - "8": { "DialogOptionsRenderingInfo": 12 }, - "9": { "Dictionary": 5 }, - "10": { "DrawingSurface": 17 }, - "11": { "DynamicSprite": 21 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorPlugins": 1 }, - "14": { "File": 20 }, - "15": { "Game": 44 }, - "16": { "Globalfunctions_General": 48 }, - "17": { "Globalfunctions_Message": 6 }, - "18": { "Globalfunctions_Palette": 3 }, - "19": { "Globalfunctions_Room": 16 }, - "20": { "Globalfunctions_Screen": 9 }, - "21": { "Globalfunctions_Wait": 5 }, - "22": { "GUI": 19 }, - "23": { "GUIControl": 17 }, - "24": { "Hotspot": 16 }, - "25": { "InventoryItem": 13 }, - "26": { "InvWindow": 10 }, - "27": { "Label": 3 }, - "28": { "ListBox": 19 }, - "29": { "Maths": 20 }, - "30": { "Mouse": 18 }, - "31": { "Multimedia": 5 }, - "32": { "Object": 39 }, - "33": { "OOProgramming": 2 }, - "34": { "Overlay": 7 }, - "35": { "Parser": 4 }, - "36": { "Region": 13 }, - "37": { "Room": 17 }, - "38": { "Screen": 3 }, - "39": { "ScriptKeywords": 4 }, - "40": { "Set": 4 }, - "41": { "Slider": 6 }, - "42": { "Speech": 9 }, - "43": { "String": 18 }, - "44": { "System": 17 }, - "45": { "TemplateBASS": 1 }, - "46": { "TemplateSierraStyle": 1 }, - "47": { "TemplateVerbcoin": 1 }, - "48": { "TextBox": 3 }, - "49": { "TextWindowGUI": 1 }, - "50": { "Translations": 1 }, - "51": { "Tumbleweed_movement": 1 }, - "52": { "ViewFrame": 7 }, - "53": { "Viewport": 10 } - }, - "Examples": { - "0": { "Character": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "File": 1 }, - "3": { "Label": 1 }, - "4": { "RuntimeEngine": 2 }, - "5": { "String": 1 }, - "6": { "System": 1 } - }, - "Execute": { - "0": { "FAQ": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Exists": { - "0": { "File": 5 }, - "1": { "Room": 3 } - }, - "Exit": { - "0": { "Tumbleweed": 3 } - }, - "Exits": { - "0": { "Globalfunctions_General": 1 } - }, - "Exp": { - "0": { "Maths": 6 } - }, - "Expand": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 2 } - }, - "Expanded": { - "0": { "UpgradeTo361": 1 } - }, - "Experiment": { - "0": { "FAQ": 1 } - }, - "Explained": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Explicitly": { - "0": { "Globalfunctions_General": 1 } - }, - "Explore": { - "0": { "EditorCharacter": 1 }, - "1": { "EditorDialog": 1 }, - "2": { "EditorFont": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "ScriptModules": 2 } - }, - "Explorer": { - "0": { "acintro9": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo36": 4 } - }, - "Explosion": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 2 } - }, - "Export": { - "0": { "Lipsync": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Exporting": { - "0": { "ImportingFunctionsAndVariables": 2 } - }, - "Expressions": { - "0": { "ScriptingTutorialPart2": 2 } - }, - "Extend": { - "0": { "KeyboardShortcuts": 2 } - }, - "Extended": { - "0": { "UpgradeTo34": 1 } - }, - "Extender": { - "0": { "ExtenderFunctions": 3 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "Extending": { - "0": { "GameSavesCompatibility": 1 } - }, - "Extension": { - "0": { "Tumbleweed_extensions": 2 } - }, - "ExtensionEx": { - "0": { "Tumbleweed_extensions": 2 } - }, - "Extensions": { - "0": { "Tumbleweed": 3 }, - "1": { "Tumbleweed_actions": 2 }, - "2": { "Tumbleweed_extensions": 2 }, - "3": { "Tumbleweed_movement": 1 } - }, - "Extract": { - "0": { "acintro9": 1 }, - "1": { "Settingupthegame": 1 } - }, - "FAILED": { - "0": { "BuildAndroid": 1 } - }, - "FALSE": { - "0": { "Character": 3 }, - "1": { "EditorRoom": 1 }, - "2": { "Hotspot": 3 }, - "3": { "InventoryItem": 3 }, - "4": { "Object": 2 }, - "5": { "Room": 3 } - }, - "FILE": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "FILEMASK": { - "0": { "ListBox": 2 } - }, - "FILENAME": { - "0": { "DynamicSprite": 1 }, - "1": { "File": 1 }, - "2": { "Globalfunctions_General": 3 } - }, - "FILEPATH": { - "0": { "RuntimeEngine": 1 } - }, - "FINALSCREENDRAW": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "FIRST": { - "0": { "Globalfunctions_General": 2 } - }, - "FITNESS": { - "0": { "Copyright": 1 } - }, - "FIXEDINVCURSOR": { - "0": { "Globalfunctions_General": 1 } - }, - "FLC": { - "0": { "Multimedia": 3 } - }, - "FLI": { - "0": { "Multimedia": 3 } - }, - "FLIC": { - "0": { "Multimedia": 1 } - }, - "FLICx": { - "0": { "Multimedia": 2 } - }, - "FMT": { - "0": { "String": 2 } - }, - "FNT": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "FOLDER": { - "0": { "TroubleshootingWindowsZoneID": 4 } - }, - "FOLLOW": { - "0": { "Character": 2 } - }, - "FONT": { - "0": { "DrawingSurface": 2 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Overlay": 1 } - }, - "FPS": { - "0": { "Debuggingfeatures": 2 }, - "1": { "DefaultSetup": 2 }, - "2": { "EditorView": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Settingupthegame": 1 } - }, - "FR": { - "0": { "Tumbleweed": 1 } - }, - "FRAME": { - "0": { "Character": 3 }, - "1": { "Globalfunctions_Room": 2 }, - "2": { "Object": 3 } - }, - "FRAMES": { - "0": { "UpgradeTo30": 1 } - }, - "FRAMExxx": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FRIEND": { - "0": { "Pointers": 3 } - }, - "FROM": { - "0": { "Copyright": 1 }, - "1": { "DrawingSurface": 2 } - }, - "FRead": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "FWrite": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "FaceCharacter": { - "0": { "Character": 11 }, - "1": { "GeneralSettings": 1 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "StandardEnums": 1 } - }, - "FaceDirection": { - "0": { "Character": 6 }, - "1": { "StandardEnums": 1 } - }, - "FaceLocation": { - "0": { "Character": 7 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "StandardEnums": 1 } - }, - "FaceObject": { - "0": { "Character": 6 }, - "1": { "StandardEnums": 1 } - }, - "Fade": { - "0": { "EventTypes": 1 }, - "1": { "Globalfunctions_Screen": 2 } - }, - "Fade-in": { - "0": { "Globalfunctions_Event": 2 } - }, - "FadeIn": { - "0": { "Globalfunctions_Palette": 2 }, - "1": { "Globalfunctions_Screen": 8 } - }, - "FadeOut": { - "0": { "Globalfunctions_Palette": 2 }, - "1": { "Globalfunctions_Screen": 8 } - }, - "Fades": { - "0": { "Globalfunctions_Screen": 2 } - }, - "Failure": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "False": { - "0": { "acintro4": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "FAQ": 1 }, - "4": { "UpgradeTo33": 2 } - }, - "FastTracker": { - "0": { "MusicAndSound": 1 } - }, - "Features": { - "0": { "acintro2": 1 }, - "1": { "acintro9": 2 }, - "2": { "OtherFeatures": 1 } - }, - "Feel": { - "0": { "acintro5": 1 } - }, - "Ferdinand": { - "0": { "Credits": 1 } - }, - "Figuring": { - "0": { "EditorInventoryItems": 1 } - }, - "File": { - "0": { "acintro6": 2 }, - "1": { "BuildAndroid": 1 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorPlugins": 1 }, - "4": { "EditorPreferences": 2 }, - "5": { "EditorSprite": 2 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginRun-timeAPI": 4 }, - "8": { "File": 148 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "GUI": 2 }, - "12": { "GUIControl": 2 }, - "13": { "MusicAndSound": 1 }, - "14": { "ObsoleteScriptAPI": 15 }, - "15": { "Pointers": 9 }, - "16": { "Scripting": 1 }, - "17": { "ScriptingTutorialPart2": 2 }, - "18": { "SourceControl": 2 }, - "19": { "StandardEnums": 2 }, - "20": { "System": 1 }, - "21": { "Templates": 2 }, - "22": { "TroubleshootingWindowsZoneID": 3 }, - "23": { "UpgradeTo36": 3 } - }, - "File's": { - "0": { "File": 1 } - }, - "FileAppend": { - "0": { "File": 1 } - }, - "FileClose": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileIsEOF": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileIsError": { - "0": { "File": 1 } - }, - "FileMode": { - "0": { "File": 1 }, - "1": { "StandardEnums": 2 } - }, - "FileName": { - "0": { "Game": 4 } - }, - "FileOpen": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileRead": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileReadInt": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileReadRawChar": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileReadRawInt": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileSeek": { - "0": { "File": 2 }, - "1": { "StandardEnums": 2 } - }, - "FileType": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 3 }, - "2": { "StandardEnums": 1 } - }, - "FileWrite": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileWriteInt": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileWriteRawChar": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FileWriteRawLine": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Files": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "File": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "Plugins": 1 }, - "5": { "UpgradeTo335": 1 } - }, - "Fill": { - "0": { "acintro2": 2 }, - "1": { "acintro8": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Setup": 1 } - }, - "FillDirList": { - "0": { "ListBox": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "FillSaveGameList": { - "0": { "Constants": 1 }, - "1": { "Game": 1 }, - "2": { "ListBox": 9 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "Filling": { - "0": { "DynamicArrays": 1 } - }, - "Fills": { - "0": { "EnginePluginRun-timeAPI": 6 }, - "1": { "ListBox": 2 } - }, - "Final": { - "0": { "Constants": 2 } - }, - "Finally": { - "0": { "acintro1": 2 }, - "1": { "BlockingScripts": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Overlay": 1 }, - "4": { "ScriptingTutorialPart1": 3 }, - "5": { "Settingupthegame": 2 }, - "6": { "UpgradeTo32": 1 } - }, - "Find": { - "0": { "acintro2": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "KeyboardShortcuts": 2 } - }, - "FindWordID": { - "0": { "Parser": 4 } - }, - "Finder": { - "0": { "ColoursEditor": 2 }, - "1": { "Game": 1 } - }, - "Finding": { - "0": { "Pointers": 1 } - }, - "Finds": { - "0": { "Dialog": 2 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Viewport": 1 } - }, - "Fine": { - "0": { "ScriptKeywords": 2 } - }, - "Finish": { - "0": { "acintro1": 1 } - }, - "Finished": { - "0": { "AudioChannel": 1 } - }, - "Fires": { - "0": { "Character": 1 }, - "1": { "Game": 1 }, - "2": { "Mouse": 1 } - }, - "First": { - "0": { "acintro1": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "EventTypes": 1 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "InvWindow": 1 }, - "5": { "Lipsync": 1 }, - "6": { "ListBox": 3 }, - "7": { "Preprocessor": 1 }, - "8": { "ScriptingTutorialPart2": 2 }, - "9": { "Tumbleweed": 1 }, - "10": { "UpgradeTo34": 2 }, - "11": { "UpgradeTo35": 1 }, - "12": { "UpgradeTo36": 4 } - }, - "FirstLoad": { - "0": { "EventTypes": 1 }, - "1": { "Tumbleweed_door": 1 } - }, - "Firstly": { - "0": { "EditorPlugins": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "Flag": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "Multimedia": 1 } - }, - "Flags": { - "0": { "Multimedia": 1 } - }, - "Flaten": { - "0": { "Credits": 1 } - }, - "Flip": { - "0": { "DynamicArrays": 2 }, - "1": { "DynamicSprite": 7 }, - "2": { "EditorView": 2 }, - "3": { "StandardEnums": 1 } - }, - "FlipScreen": { - "0": { "Globalfunctions_Screen": 3 } - }, - "Flipped": { - "0": { "acintro7": 1 }, - "1": { "Button": 1 }, - "2": { "EditorView": 1 }, - "3": { "ViewFrame": 4 } - }, - "Flips": { - "0": { "DynamicSprite": 1 }, - "1": { "EditorView": 1 }, - "2": { "Globalfunctions_Screen": 1 } - }, - "Float": { - "0": { "StringFormats": 2 } - }, - "FloatToInt": { - "0": { "Camera": 2 }, - "1": { "Maths": 7 }, - "2": { "StandardEnums": 1 }, - "3": { "Viewport": 2 } - }, - "Floats": { - "0": { "SystemLimits": 3 } - }, - "Flush": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Flushes": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Folder": { - "0": { "BuildAndroid": 1 } - }, - "Folders": { - "0": { "Settingupthegame": 1 } - }, - "Follow": { - "0": { "StartingOff": 1 } - }, - "FollowCharacter": { - "0": { "Character": 4 }, - "1": { "ObsoleteScriptAPI": 3 } - }, - "FollowCharacterEx": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Following": { - "0": { "Constants": 1 }, - "1": { "EventTypes": 1 }, - "2": { "File": 2 }, - "3": { "GameEventsOrder": 1 }, - "4": { "GameSavesCompatibility": 2 }, - "5": { "Keycodes": 2 }, - "6": { "ObsoleteScriptAPI": 1 }, - "7": { "RuntimeEngine": 1 }, - "8": { "Translations": 1 }, - "9": { "UpgradeTo35": 2 } - }, - "Font": { - "0": { "acintro9": 7 }, - "1": { "Button": 6 }, - "2": { "EditorFont": 1 }, - "3": { "EditorPreferences": 9 }, - "4": { "Game": 3 }, - "5": { "Label": 7 }, - "6": { "ListBox": 9 }, - "7": { "ObsoleteScriptAPI": 2 }, - "8": { "Settingupthegame": 2 }, - "9": { "StandardEnums": 4 }, - "10": { "TextBox": 6 }, - "11": { "Translations": 1 }, - "12": { "UpgradeTo35": 1 } - }, - "Font's": { - "0": { "GeneralSettings": 1 } - }, - "FontCount": { - "0": { "Game": 3 } - }, - "FontEdit": { - "0": { "acintro9": 1 } - }, - "FontType": { - "0": { "Button": 1 }, - "1": { "DrawingSurface": 3 }, - "2": { "Game": 2 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Label": 1 }, - "5": { "ListBox": 1 }, - "6": { "Overlay": 3 }, - "7": { "StandardEnums": 3 }, - "8": { "TextBox": 1 } - }, - "Fonts": { - "0": { "acintro8": 1 }, - "1": { "acintro9": 4 }, - "2": { "Button": 1 }, - "3": { "EditorFont": 4 }, - "4": { "EditorPlugins": 1 }, - "5": { "Game": 2 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "Settingupthegame": 3 }, - "8": { "SystemLimits": 1 }, - "9": { "UnicodeSupport": 1 }, - "10": { "UpgradeTo33": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "Footprint": { - "0": { "DistGame": 2 } - }, - "Forces": { - "0": { "Button": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "GUI": 1 } - }, - "Foreground": { - "0": { "EditorGUI": 1 } - }, - "Foreign": { - "0": { "Label": 1 } - }, - "Format": { - "0": { "FAQ": 2 }, - "1": { "File": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "Label": 2 }, - "5": { "MusicAndSound": 1 }, - "6": { "ObsoleteScriptAPI": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "String": 10 }, - "9": { "StringFormats": 1 }, - "10": { "UnicodeSupport": 1 }, - "11": { "UpgradeTo36": 1 } - }, - "Formatted": { - "0": { "Translations": 1 } - }, - "Formerly": { - "0": { "AudioChannel": 13 }, - "1": { "AudioClip": 8 }, - "2": { "Button": 11 }, - "3": { "Character": 71 }, - "4": { "DateTime": 2 }, - "5": { "Dialog": 3 }, - "6": { "DrawingSurface": 14 }, - "7": { "DynamicSprite": 3 }, - "8": { "File": 14 }, - "9": { "Game": 29 }, - "10": { "GUI": 13 }, - "11": { "GUIControl": 4 }, - "12": { "Hotspot": 11 }, - "13": { "InventoryItem": 12 }, - "14": { "InvWindow": 5 }, - "15": { "Label": 5 }, - "16": { "ListBox": 15 }, - "17": { "Mouse": 16 }, - "18": { "Object": 34 }, - "19": { "Overlay": 7 }, - "20": { "Region": 6 }, - "21": { "Room": 7 }, - "22": { "Slider": 2 }, - "23": { "Speech": 7 }, - "24": { "String": 13 }, - "25": { "System": 11 }, - "26": { "TextBox": 5 }, - "27": { "ViewFrame": 9 } - }, - "Forum": { - "0": { "acintro9": 1 }, - "1": { "Introduction": 1 }, - "2": { "Translations": 1 } - }, - "Forums": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "ContactingTheDevelopers": 3 }, - "3": { "FAQ": 1 }, - "4": { "Tumbleweed": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "Found": { - "0": { "BuildAndroid": 1 } - }, - "Foundation": { - "0": { "Copyright": 1 } - }, - "Frame": { - "0": { "Button": 7 }, - "1": { "Camera": 1 }, - "2": { "Character": 8 }, - "3": { "EditorView": 6 }, - "4": { "FAQ": 1 }, - "5": { "Game": 1 }, - "6": { "Object": 7 }, - "7": { "ObsoleteScriptAPI": 1 }, - "8": { "ViewFrame": 7 } - }, - "Frames": { - "0": { "Debuggingfeatures": 1 }, - "1": { "EditorView": 2 }, - "2": { "GameSavesCompatibility": 2 } - }, - "Framework": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "SystemRequirements": 2 } - }, - "Francais": { - "0": { "VoiceSpeech": 2 } - }, - "Francesco": { - "0": { "Credits": 1 } - }, - "FreeBitmap": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "FreeMemory": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "FreeType": { - "0": { "Copyright": 2 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 2 } - }, - "Freehand": { - "0": { "acintro2": 1 } - }, - "Frees": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "FreezePlayer": { - "0": { "Tumbleweed_player": 4 } - }, - "French": { - "0": { "Game": 2 }, - "1": { "Tumbleweed": 1 } - }, - "Frequently": { - "0": { "FAQ": 1 } - }, - "From": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 2 }, - "2": { "DistGame": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "UpgradeTo31": 1 } - }, - "Full": { - "0": { "UpgradeTo36": 1 } - }, - "Full-screen": { - "0": { "System": 1 } - }, - "Fullscreen": { - "0": { "DefaultSetup": 3 }, - "1": { "Setup": 4 } - }, - "Function": { - "0": { "Globalfunctions_General": 1 }, - "1": { "KeyboardShortcuts": 2 }, - "2": { "Screen": 2 }, - "3": { "Viewport": 2 } - }, - "FunctionName": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Functions": { - "0": { "Dictionary": 1 }, - "1": { "EditorGUI": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GlobalVariables": 1 }, - "4": { "Screen": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptingTutorialPart2": 2 }, - "7": { "Set": 1 }, - "8": { "Tumbleweed": 3 }, - "9": { "Tumbleweed_actions": 1 }, - "10": { "Tumbleweed_helper": 1 }, - "11": { "UnicodeSupport": 1 }, - "12": { "UpgradeTo36": 1 }, - "13": { "UpgradingTo271": 1 } - }, - "Furthermore": { - "0": { "Pointers": 1 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradeTo335": 1 }, - "3": { "UpgradingTo27": 1 }, - "4": { "UpgradingTo271": 1 } - }, - "GAME": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Copyright": 1 }, - "2": { "DistGame": 4 }, - "3": { "GameSavesCompatibility": 7 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Templates": 1 } - }, - "GAMEFILE": { - "0": { "RuntimeEngine": 1 } - }, - "GAMENAME": { - "0": { "EditorGUI": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "Label": 1 } - }, - "GAMES": { - "0": { "Constants": 1 } - }, - "GB": { - "0": { "UpgradeTo35": 2 } - }, - "GCC": { - "0": { "EnginePlugins": 1 } - }, - "GDI": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GraphicsDriver": 1 } - }, - "GIF": { - "0": { "Credits": 1 }, - "1": { "EditorSprite": 2 } - }, - "GIMP": { - "0": { "DistGame": 1 } - }, - "GIVEN": { - "0": { "Copyright": 1 } - }, - "GNU": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "GOT": { - "0": { "Globalfunctions_General": 1 } - }, - "GOTO": { - "0": { "DialogScript": 1 } - }, - "GP": { - "0": { "Globalfunctions_General": 7 }, - "1": { "ObsoleteScriptAPI": 6 } - }, - "GPU": { - "0": { "GraphicsDriver": 2 }, - "1": { "Setup": 2 } - }, - "GREEN": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "Object": 1 }, - "6": { "Region": 1 } - }, - "GROUP": { - "0": { "EngineConfigFile": 2 }, - "1": { "RuntimeEngine": 2 } - }, - "GROUPLIST": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "GROUPs": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "GUI": { - "0": { "acintro1": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 1 }, - "3": { "Button": 4 }, - "4": { "Character": 4 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DialogOptionsRenderingInfo": 2 }, - "7": { "DynamicSprite": 4 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorGUI": 37 }, - "11": { "EditorInventoryItems": 1 }, - "12": { "EditorSprite": 1 }, - "13": { "EnginePluginRun-timeAPI": 1 }, - "14": { "FAQ": 14 }, - "15": { "Game": 4 }, - "16": { "GameEventsOrder": 2 }, - "17": { "Gamevariables": 4 }, - "18": { "GeneralSettings": 15 }, - "19": { "GlobalArrays": 3 }, - "20": { "Globalfunctions_Event": 7 }, - "21": { "Globalfunctions_General": 25 }, - "22": { "GlobalVariables": 1 }, - "23": { "GUI": 203 }, - "24": { "GUIControl": 63 }, - "25": { "InventoryItem": 1 }, - "26": { "InvWindow": 5 }, - "27": { "ListBox": 1 }, - "28": { "Mouse": 1 }, - "29": { "MultipleScripts": 1 }, - "30": { "Object": 1 }, - "31": { "ObsoleteScriptAPI": 14 }, - "32": { "Overlay": 5 }, - "33": { "Pointers": 1 }, - "34": { "Room": 2 }, - "35": { "RuntimeEngine": 1 }, - "36": { "Scripting": 8 }, - "37": { "Settingupthegame": 3 }, - "38": { "Slider": 5 }, - "39": { "StandardEnums": 1 }, - "40": { "System": 3 }, - "41": { "SystemLimits": 3 }, - "42": { "TemplateBASS": 14 }, - "43": { "TemplateVerbcoin": 8 }, - "44": { "TextParser": 1 }, - "45": { "TextWindowGUI": 3 }, - "46": { "Translations": 1 }, - "47": { "Tumbleweed": 6 }, - "48": { "Tumbleweed_helper": 4 }, - "49": { "Tumbleweed_translation": 4 }, - "50": { "UpgradeTo33": 2 }, - "51": { "UpgradeTo34": 3 }, - "52": { "UpgradeTo35": 1 }, - "53": { "UpgradeTo361": 1 }, - "54": { "UpgradingTo27": 4 } - }, - "GUI's": { - "0": { "FAQ": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUI": 6 } - }, - "GUI-ID": { - "0": { "Tumbleweed_translation": 1 } - }, - "GUI-button": { - "0": { "Tumbleweed_translation": 1 } - }, - "GUI-script": { - "0": { "Tumbleweed_helper": 1 } - }, - "GUIControl": { - "0": { "Button": 1 }, - "1": { "EventTypes": 1 }, - "2": { "GUI": 10 }, - "3": { "GUIControl": 92 }, - "4": { "InvWindow": 1 }, - "5": { "Label": 1 }, - "6": { "ListBox": 1 }, - "7": { "ObsoleteScriptAPI": 4 }, - "8": { "Slider": 1 }, - "9": { "TemplateVerbcoin": 2 }, - "10": { "TextBox": 1 } - }, - "GUIControl's": { - "0": { "Button": 1 }, - "1": { "InvWindow": 1 }, - "2": { "Label": 1 }, - "3": { "ListBox": 1 }, - "4": { "Slider": 1 }, - "5": { "TextBox": 1 } - }, - "GUICount": { - "0": { "Game": 4 }, - "1": { "GlobalArrays": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "GUID": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "GUIOff": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GUIOn": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GUIPopupStyle": { - "0": { "GUI": 1 }, - "1": { "StandardEnums": 2 } - }, - "GUIS": { - "0": { "UpgradeTo30": 1 } - }, - "GUIs": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "EditorGUI": 13 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "FAQ": 3 }, - "5": { "Game": 4 }, - "6": { "GameSavesCompatibility": 5 }, - "7": { "Gamevariables": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "GUI": 18 }, - "11": { "GUIControl": 2 }, - "12": { "InventoryItem": 1 }, - "13": { "Overlay": 1 }, - "14": { "Translations": 1 }, - "15": { "Tumbleweed": 1 }, - "16": { "UpgradeTo35": 1 }, - "17": { "UpgradeTo36": 2 } - }, - "GUS": { - "0": { "MIDI-playback": 1 } - }, - "GZIP": { - "0": { "UpgradeTo361": 1 } - }, - "Gambrell": { - "0": { "Credits": 1 } - }, - "Game": { - "0": { "acintro1": 9 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 2 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "AudioChannel": 4 }, - "5": { "AudioClip": 4 }, - "6": { "Camera": 34 }, - "7": { "Character": 3 }, - "8": { "ColoursEditor": 1 }, - "9": { "Constants": 1 }, - "10": { "ContactingTheDevelopers": 1 }, - "11": { "Copyright": 2 }, - "12": { "Credits": 2 }, - "13": { "Debuggingfeatures": 3 }, - "14": { "DefaultSetup": 1 }, - "15": { "DistGame": 1 }, - "16": { "DrawingSurface": 5 }, - "17": { "DynamicArrays": 1 }, - "18": { "DynamicSprite": 5 }, - "19": { "EditorCommandLineOptions": 6 }, - "20": { "EditorGUI": 2 }, - "21": { "EditorLogPanel": 1 }, - "22": { "EditorPreferences": 4 }, - "23": { "EditorSprite": 1 }, - "24": { "EngineConfigFile": 3 }, - "25": { "EnginePluginRun-timeAPI": 3 }, - "26": { "Game": 218 }, - "27": { "GameEventsOrder": 4 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "Gamevariables": 3 }, - "30": { "GeneralSettings": 4 }, - "31": { "GlobalArrays": 5 }, - "32": { "Globalfunctions_General": 33 }, - "33": { "Globalfunctions_Room": 4 }, - "34": { "Globalfunctions_Wait": 6 }, - "35": { "GUI": 1 }, - "36": { "Hotspot": 3 }, - "37": { "Introduction": 2 }, - "38": { "InventoryItem": 3 }, - "39": { "KeyboardShortcuts": 3 }, - "40": { "Label": 3 }, - "41": { "ListBox": 4 }, - "42": { "Multimedia": 5 }, - "43": { "Object": 3 }, - "44": { "ObsoleteScriptAPI": 29 }, - "45": { "OtherFeatures": 1 }, - "46": { "Overlay": 3 }, - "47": { "Plugins": 1 }, - "48": { "Region": 1 }, - "49": { "RuntimeEngine": 1 }, - "50": { "Screen": 2 }, - "51": { "Scripting": 2 }, - "52": { "ScriptingLanguage": 1 }, - "53": { "ScriptKeywords": 3 }, - "54": { "Settingupthegame": 5 }, - "55": { "Setup": 4 }, - "56": { "Speech": 2 }, - "57": { "StandardEnums": 2 }, - "58": { "String": 2 }, - "59": { "System": 2 }, - "60": { "SystemRequirements": 1 }, - "61": { "Templates": 5 }, - "62": { "TextParser": 1 }, - "63": { "Translations": 4 }, - "64": { "UpgradeTo30": 1 }, - "65": { "UpgradeTo32": 1 }, - "66": { "UpgradeTo35": 5 }, - "67": { "UpgradeTo36": 7 }, - "68": { "UpgradingTo271": 2 }, - "69": { "ViewFrame": 14 }, - "70": { "Viewport": 2 }, - "71": { "VoiceSpeech": 3 } - }, - "Game's": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GlobalArrays": 1 }, - "2": { "System": 1 } - }, - "Game-wide": { - "0": { "GeneralSettings": 1 }, - "1": { "UpgradeTo33": 2 } - }, - "GameName": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GameVersion": { - "0": { "GameSavesCompatibility": 8 } - }, - "Gameplay": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "Games": { - "0": { "DistGame": 2 }, - "1": { "EngineConfigFile": 2 }, - "2": { "Game": 2 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Setup": 1 } - }, - "Gamewide": { - "0": { "acintro1": 1 } - }, - "Gamma": { - "0": { "System": 6 } - }, - "Gap": { - "0": { "GeneralSettings": 1 } - }, - "Geldreich": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "General": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro5": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "Character": 1 }, - "6": { "ColoursEditor": 1 }, - "7": { "Copyright": 1 }, - "8": { "CustomDialogOptions": 3 }, - "9": { "DefaultSetup": 1 }, - "10": { "DialogScript": 1 }, - "11": { "DistGame": 5 }, - "12": { "DrawingSurface": 1 }, - "13": { "EditorDialog": 1 }, - "14": { "EditorGUI": 2 }, - "15": { "EditorSprite": 1 }, - "16": { "FAQ": 1 }, - "17": { "File": 2 }, - "18": { "Game": 4 }, - "19": { "GeneralSettings": 2 }, - "20": { "Globalfunctions_Event": 2 }, - "21": { "GUI": 1 }, - "22": { "InventoryItem": 1 }, - "23": { "Label": 2 }, - "24": { "RuntimeEngine": 1 }, - "25": { "ScriptAPIOverview": 1 }, - "26": { "ScriptKeywords": 1 }, - "27": { "Settingupthegame": 5 }, - "28": { "SourceControl": 1 }, - "29": { "System": 1 }, - "30": { "UnicodeSupport": 2 }, - "31": { "UpgradeTo31": 1 }, - "32": { "UpgradeTo33": 1 }, - "33": { "UpgradeTo34": 3 }, - "34": { "UpgradeTo341": 3 }, - "35": { "UpgradeTo35": 3 }, - "36": { "UpgradeTo36": 4 } - }, - "Generally": { - "0": { "acintro8": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "Generate": { - "0": { "BuildAndroid": 1 } - }, - "Genre": { - "0": { "GeneralSettings": 1 } - }, - "German": { - "0": { "Game": 4 }, - "1": { "Tumbleweed": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "Get": { - "0": { "Dictionary": 5 }, - "1": { "Globalfunctions_Message": 2 }, - "2": { "OOProgramming": 1 }, - "3": { "Overlay": 1 } - }, - "GetAreaScaling": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetAtRoomXY": { - "0": { "Character": 8 }, - "1": { "Globalfunctions_Room": 2 }, - "2": { "Hotspot": 7 }, - "3": { "Object": 9 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Region": 9 } - }, - "GetAtScreenXY": { - "0": { "Character": 8 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Globalfunctions_Room": 2 }, - "3": { "GUI": 6 }, - "4": { "GUIControl": 4 }, - "5": { "Hotspot": 9 }, - "6": { "InventoryItem": 6 }, - "7": { "Object": 10 }, - "8": { "ObsoleteScriptAPI": 6 }, - "9": { "Pointers": 6 }, - "10": { "Region": 7 }, - "11": { "Viewport": 3 } - }, - "GetBackgroundFrame": { - "0": { "DynamicSprite": 1 }, - "1": { "Globalfunctions_Room": 4 } - }, - "GetBackgroundScene": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetBitmapDimensions": { - "0": { "EnginePluginRun-timeAPI": 6 } - }, - "GetBitmapSurface": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetBitmapTransparentColor": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetButtonAction": { - "0": { "Tumbleweed_helper": 2 } - }, - "GetButtonPic": { - "0": { "Button": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetByName": { - "0": { "AudioClip": 6 }, - "1": { "Character": 6 }, - "2": { "Dialog": 6 }, - "3": { "GUI": 6 }, - "4": { "GUIControl": 7 }, - "5": { "Hotspot": 6 }, - "6": { "InventoryItem": 6 }, - "7": { "Object": 6 } - }, - "GetCharacter": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetCharacterAt": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetCharacterProperty": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetCharacterPropertyText": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetColorFromRGB": { - "0": { "ColoursEditor": 1 }, - "1": { "DrawingSurface": 2 }, - "2": { "Game": 3 }, - "3": { "GUI": 1 }, - "4": { "ListBox": 3 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "ScriptKeywords": 2 } - }, - "GetCurrentBackground": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetCurrentMusic": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetCurrentRoom": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetCursorMode": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetDamage": { - "0": { "OOProgramming": 2 } - }, - "GetDialogOption": { - "0": { "Dialog": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetDirectInputKeyboard": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetDirectInputMouse": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetDirectSound": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetDoorState": { - "0": { "Tumbleweed_door": 3 } - }, - "GetDrawingSurface": { - "0": { "DrawingSurface": 2 }, - "1": { "DynamicSprite": 8 }, - "2": { "Globalfunctions_Room": 4 }, - "3": { "Hotspot": 4 }, - "4": { "Region": 4 }, - "5": { "UpgradeTo30": 1 } - }, - "GetDrawingSurfaceForBackground": { - "0": { "DrawingSurface": 21 }, - "1": { "DynamicSprite": 9 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Room": 3 }, - "5": { "UpgradeTo30": 1 } - }, - "GetDrawingSurfaceForWalkableArea": { - "0": { "Globalfunctions_Room": 4 }, - "1": { "Hotspot": 1 }, - "2": { "Region": 1 } - }, - "GetDrawingSurfaceForWalkbehind": { - "0": { "Globalfunctions_Room": 4 }, - "1": { "Hotspot": 1 }, - "2": { "Region": 1 } - }, - "GetEditorHandle": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "GetEngineVersion": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetError": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetFileStreamByHandle": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetFontHeight": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Globalfunctions_General": 5 } - }, - "GetFontLineSpacing": { - "0": { "Globalfunctions_General": 4 } - }, - "GetFontName": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetFontType": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetFrameCountForLoop": { - "0": { "Game": 6 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "GetGUIAt": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetGUIAtLocation": { - "0": { "GUIControl": 1 } - }, - "GetGUIObjectAt": { - "0": { "GUIControl": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetGameInfo": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetGameOption": { - "0": { "Globalfunctions_General": 4 } - }, - "GetGameOptions": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetGameParameter": { - "0": { "Game": 10 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "ObsoleteScriptAPI": 10 }, - "3": { "Room": 1 }, - "4": { "ViewFrame": 7 } - }, - "GetGameSpeed": { - "0": { "EditorView": 1 }, - "1": { "Globalfunctions_General": 4 } - }, - "GetGlobalInt": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 6 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "GetGlobalString": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetGraphicalVariable": { - "0": { "Globalfunctions_General": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetGraphicsDriverID": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetHotspotAt": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHotspotName": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHotspotPointX": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHotspotPointY": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHotspotProperty": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHotspotPropertyText": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetHowManyTradeGoodsShopkeeperHas": { - "0": { "ScriptKeywords": 1 } - }, - "GetInvAt": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetInvGraphic": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetInvName": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetInvProperty": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetInvPropertyText": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetItemAtLocation": { - "0": { "ListBox": 3 } - }, - "GetItemText": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetItemsAsArray": { - "0": { "Set": 4 } - }, - "GetKeysAsArray": { - "0": { "Dictionary": 4 } - }, - "GetLength": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetLineSpacing": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetLocationName": { - "0": { "Character": 3 }, - "1": { "Game": 5 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Hotspot": 3 }, - "4": { "InventoryItem": 2 }, - "5": { "Label": 1 }, - "6": { "Object": 3 }, - "7": { "ObsoleteScriptAPI": 2 }, - "8": { "Region": 1 } - }, - "GetLocationType": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 4 }, - "3": { "Hotspot": 2 }, - "4": { "Object": 2 }, - "5": { "Region": 1 }, - "6": { "StandardEnums": 1 } - }, - "GetLoopCountForView": { - "0": { "Game": 6 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "GetMIDIPosition": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetMODPattern": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetManagedObjectAddressByKey": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetManagedObjectKeyByAddress": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetMessageText": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Room": 1 } - }, - "GetMode": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetModeGraphic": { - "0": { "Mouse": 4 } - }, - "GetMouseCursor": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetMousePosition": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetMovementPath": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "GetMovementPathLastWaypoint": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetMovementPathWaypointCount": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetMovementPathWaypointLocation": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetMovementPathWaypointSpeed": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetName": { - "0": { "Hotspot": 1 }, - "1": { "InventoryItem": 1 }, - "2": { "Object": 1 }, - "3": { "ObsoleteScriptAPI": 3 } - }, - "GetNumBackgrounds": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetNumCharacters": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetNumObjects": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetObject": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetObjectAt": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectBaseline": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectGraphic": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectName": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectProperty": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectPropertyText": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectX": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetObjectY": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetOptionState": { - "0": { "CustomDialogOptions": 5 }, - "1": { "Dialog": 8 }, - "2": { "DialogOptionsRenderingInfo": 2 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "StandardEnums": 1 } - }, - "GetOptionText": { - "0": { "CustomDialogOptions": 5 }, - "1": { "Dialog": 4 }, - "2": { "DialogScript": 1 } - }, - "GetPalette": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetPath": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetPathToFileInCompiledFolder": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetPixel": { - "0": { "DrawingSurface": 5 } - }, - "GetPlayerCharacter": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "GetPluginName": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "GetPosition": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetProperty": { - "0": { "Character": 5 }, - "1": { "CustomProperties": 5 }, - "2": { "Hotspot": 5 }, - "3": { "InventoryItem": 5 }, - "4": { "Object": 5 }, - "5": { "ObsoleteScriptAPI": 5 }, - "6": { "Room": 5 }, - "7": { "UpgradeTo34": 1 } - }, - "GetPropertyText": { - "0": { "Character": 1 }, - "1": { "Hotspot": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "Object": 1 }, - "4": { "ObsoleteScriptAPI": 4 } - }, - "GetRawBitmapSurface": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetRawColorComponents": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetRawPixelColor": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetRawTime": { - "0": { "DateTime": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetRegionAt": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Region": 1 } - }, - "GetRenderStageDesc": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetRendererName": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetRoomMask": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetRoomProperty": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Room": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "GetRoomPropertyText": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Room": 1 } - }, - "GetRunNextSettingForLoop": { - "0": { "Game": 6 }, - "1": { "Globalfunctions_General": 1 } - }, - "GetSaveSlotDescription": { - "0": { "DynamicSprite": 2 }, - "1": { "Game": 4 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "UpgradingTo271": 2 } - }, - "GetSavedData": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetScalingAt": { - "0": { "Globalfunctions_Room": 6 } - }, - "GetScreen": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetScreenDimensions": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetScriptFunctionAddress": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "GetSliderValue": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Slider": 1 } - }, - "GetSpriteGraphic": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetSpriteHeight": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetSpriteWidth": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetText": { - "0": { "Button": 1 }, - "1": { "Label": 1 }, - "2": { "ObsoleteScriptAPI": 3 }, - "3": { "TextBox": 1 }, - "4": { "UpgradingTo271": 1 } - }, - "GetTextBoxText": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "TextBox": 1 } - }, - "GetTextExtent": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetTextHeight": { - "0": { "CustomDialogOptions": 3 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Globalfunctions_General": 4 }, - "3": { "StandardEnums": 1 } - }, - "GetTextProperty": { - "0": { "AudioClip": 1 }, - "1": { "Character": 6 }, - "2": { "CustomProperties": 5 }, - "3": { "Dialog": 1 }, - "4": { "Hotspot": 6 }, - "5": { "InventoryItem": 5 }, - "6": { "Object": 6 }, - "7": { "ObsoleteScriptAPI": 9 }, - "8": { "Room": 5 } - }, - "GetTextWidth": { - "0": { "DrawingSurface": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Globalfunctions_General": 4 }, - "3": { "StandardEnums": 1 } - }, - "GetTime": { - "0": { "DateTime": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetTranslation": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "Translations": 3 } - }, - "GetTranslationName": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "GetType": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetValuesAsArray": { - "0": { "Dictionary": 4 } - }, - "GetVersion": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetViewFrame": { - "0": { "Camera": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Game": 6 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "ObsoleteScriptAPI": 2 }, - "5": { "ViewFrame": 14 } - }, - "GetViewportX": { - "0": { "Globalfunctions_Room": 2 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 2 } - }, - "GetViewportY": { - "0": { "Globalfunctions_Room": 2 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 2 } - }, - "GetVirtualScreen": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "GetWalkableAreaAt": { - "0": { "Globalfunctions_Room": 4 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "GetWalkableAreaAtRoom": { - "0": { "Globalfunctions_Room": 4 }, - "1": { "Region": 1 } - }, - "GetWalkableAreaAtScreen": { - "0": { "Globalfunctions_Room": 5 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "GetWalkbehindBaseline": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "GetWindowHandle": { - "0": { "EnginePluginDesign-timeAPI": 2 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "Gets": { - "0": { "AudioChannel": 10 }, - "1": { "AudioClip": 5 }, - "2": { "Button": 12 }, - "3": { "Camera": 5 }, - "4": { "Character": 49 }, - "5": { "DateTime": 7 }, - "6": { "Dialog": 4 }, - "7": { "DialogOptionsRenderingInfo": 11 }, - "8": { "Dictionary": 2 }, - "9": { "DrawingSurface": 4 }, - "10": { "DynamicSprite": 5 }, - "11": { "EnginePluginRun-timeAPI": 8 }, - "12": { "File": 2 }, - "13": { "Game": 16 }, - "14": { "Globalfunctions_General": 2 }, - "15": { "Globalfunctions_Room": 2 }, - "16": { "GUI": 16 }, - "17": { "GUIControl": 11 }, - "18": { "Hotspot": 6 }, - "19": { "InventoryItem": 5 }, - "20": { "InvWindow": 8 }, - "21": { "Label": 4 }, - "22": { "ListBox": 15 }, - "23": { "Maths": 1 }, - "24": { "Mouse": 5 }, - "25": { "Object": 24 }, - "26": { "Overlay": 8 }, - "27": { "Region": 9 }, - "28": { "Room": 2 }, - "29": { "Screen": 5 }, - "30": { "Slider": 6 }, - "31": { "Speech": 10 }, - "32": { "System": 11 }, - "33": { "TextBox": 4 }, - "34": { "TextWindowGUI": 2 }, - "35": { "ViewFrame": 4 }, - "36": { "Viewport": 7 } - }, - "Getting": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 1 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 1 }, - "5": { "acintro5": 1 }, - "6": { "acintro6": 1 }, - "7": { "acintro7": 2 }, - "8": { "acintro8": 1 }, - "9": { "acintro9": 2 }, - "10": { "CustomProperties": 1 } - }, - "Ghanem": { - "0": { "Credits": 1 } - }, - "Gilad": { - "0": { "Credits": 1 } - }, - "Gilbert": { - "0": { "acintro7": 1 }, - "1": { "Credits": 1 } - }, - "Git": { - "0": { "UpgradeTo361": 1 } - }, - "Give": { - "0": { "acintro8": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "GiveScore": { - "0": { "Game": 2 }, - "1": { "Gamevariables": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 3 } - }, - "GiveTo": { - "0": { "Tumbleweed": 2 }, - "1": { "Tumbleweed_translation": 2 } - }, - "Given": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Glad": { - "0": { "UpgradeTo32": 1 } - }, - "Global": { - "0": { "BlockingScripts": 1 }, - "1": { "EditorCharacter": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "EventTypes": 1 }, - "5": { "Game": 5 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GlobalArrays": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_General": 8 }, - "10": { "Globalfunctions_Message": 1 }, - "11": { "Globalfunctions_Palette": 1 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "Globalfunctions_Screen": 1 }, - "14": { "Globalfunctions_Wait": 1 }, - "15": { "GlobalVariables": 6 }, - "16": { "ImportingFunctionsAndVariables": 1 }, - "17": { "MultipleScripts": 1 }, - "18": { "MusicAndSound": 2 }, - "19": { "ObsoleteScriptAPI": 6 }, - "20": { "OtherFeatures": 1 }, - "21": { "RepExec": 1 }, - "22": { "ScriptAPIOverview": 1 }, - "23": { "Scripting": 9 }, - "24": { "ScriptingTutorialPart1": 2 }, - "25": { "ScriptingTutorialPart2": 2 }, - "26": { "UnicodeSupport": 2 }, - "27": { "UpgradeTo30": 4 }, - "28": { "UpgradeTo36": 2 }, - "29": { "UpgradingTo27": 1 } - }, - "GlobalCondition": { - "0": { "Tumbleweed_helper": 2 } - }, - "GlobalInt": { - "0": { "Globalfunctions_General": 1 } - }, - "GlobalInts": { - "0": { "Globalfunctions_General": 2 }, - "1": { "GlobalVariables": 2 } - }, - "GlobalMessage": { - "0": { "ObsoleteScriptAPI": 1 } - }, - "GlobalMessages": { - "0": { "Game": 3 } - }, - "GlobalScript": { - "0": { "KeyboardShortcuts": 2 }, - "1": { "RepExec": 1 }, - "2": { "ScriptingTutorialPart2": 2 }, - "3": { "UpgradeTo361": 1 } - }, - "GlobalSpeechAnimationDelay": { - "0": { "Character": 2 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Speech": 4 }, - "3": { "UpgradeTo33": 1 } - }, - "GlobalStrings": { - "0": { "Game": 5 }, - "1": { "Globalfunctions_General": 1 } - }, - "Glory": { - "0": { "acintro8": 1 } - }, - "Glowing": { - "0": { "acintro3": 1 } - }, - "Go": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "Character": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorPlugins": 1 }, - "9": { "FAQ": 1 }, - "10": { "KeyboardShortcuts": 3 }, - "11": { "Plugins": 1 }, - "12": { "Settingupthegame": 5 }, - "13": { "TextParser": 1 }, - "14": { "Tumbleweed_movement": 1 } - }, - "GoTo": { - "0": { "Tumbleweed_movement": 2 } - }, - "GoToCharacter": { - "0": { "Tumbleweed_movement": 3 } - }, - "GoToCharacterEx": { - "0": { "Tumbleweed_movement": 6 } - }, - "Goes": { - "0": { "Tumbleweed_movement": 1 } - }, - "Going": { - "0": { "acintro2": 1 } - }, - "Gonzalez": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Good": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "EditorView": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "Object": 1 }, - "9": { "Pointers": 1 } - }, - "Goodbye": { - "0": { "GeneralSettings": 1 } - }, - "Google": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "GeneralSettings": 2 } - }, - "Gordon": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Gradle": { - "0": { "EditorPreferences": 1 } - }, - "Graphic": { - "0": { "Button": 16 }, - "1": { "Camera": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 42 }, - "4": { "Game": 6 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "InventoryItem": 7 }, - "7": { "Object": 11 }, - "8": { "ObsoleteScriptAPI": 5 }, - "9": { "Overlay": 6 }, - "10": { "Settingupthegame": 1 }, - "11": { "UpgradeTo36": 1 }, - "12": { "ViewFrame": 4 } - }, - "GraphicHeight": { - "0": { "Overlay": 3 } - }, - "GraphicWidth": { - "0": { "Overlay": 3 } - }, - "Graphical": { - "0": { "GlobalVariables": 2 } - }, - "Graphics": { - "0": { "acintro5": 1 }, - "1": { "Copyright": 1 }, - "2": { "DefaultSetup": 3 }, - "3": { "DistGame": 2 }, - "4": { "EngineConfigFile": 2 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Setup": 1 }, - "7": { "System": 1 }, - "8": { "UpgradeTo341": 1 } - }, - "Gravis": { - "0": { "MIDI-playback": 3 } - }, - "Green": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 1 } - }, - "Greetings": { - "0": { "acintro8": 6 }, - "1": { "ScriptKeywords": 2 } - }, - "Grey": { - "0": { "Gamevariables": 1 } - }, - "Grid": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 1 }, - "8": { "MusicAndSound": 2 } - }, - "Group": { - "0": { "Parser": 1 } - }, - "Groups": { - "0": { "EditorLogPanel": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "Guid": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Guybrush": { - "0": { "acintro7": 1 } - }, - "HANDLEINVCLICKS": { - "0": { "Globalfunctions_General": 1 } - }, - "HEIGHT": { - "0": { "DynamicSprite": 4 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 1 } - }, - "HELPING": { - "0": { "ContactingTheDevelopers": 1 } - }, - "HOME": { - "0": { "BuildAndroid": 4 }, - "1": { "EditorPreferences": 4 }, - "2": { "EngineConfigFile": 4 }, - "3": { "Game": 1 } - }, - "HOTSPOT": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Hotspot": 1 } - }, - "HOTSPOTS": { - "0": { "Constants": 1 }, - "1": { "GlobalArrays": 1 } - }, - "HWND": { - "0": { "EnginePluginDesign-timeAPI": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "Handle": { - "0": { "EventTypes": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "InventoryItem": 1 } - }, - "HandleGraphic": { - "0": { "Slider": 5 } - }, - "HandleInvArrows": { - "0": { "Tumbleweed_helper": 2 } - }, - "HandleOffset": { - "0": { "Slider": 4 } - }, - "Handles": { - "0": { "Tumbleweed_movement": 1 } - }, - "Hansen": { - "0": { "Credits": 1 } - }, - "HardwareAcceleration": { - "0": { "GraphicsDriver": 1 }, - "1": { "System": 3 } - }, - "Hargreaves": { - "0": { "Credits": 1 } - }, - "Has": { - "0": { "UpgradeTo32": 1 } - }, - "HasAlphaChannel": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 3 }, - "2": { "UpgradeTo33": 1 } - }, - "HasExplicitLight": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "HasExplicitTint": { - "0": { "Character": 12 }, - "1": { "Object": 9 } - }, - "HasInputFocus": { - "0": { "System": 5 } - }, - "HasInventory": { - "0": { "Character": 6 }, - "1": { "DialogScript": 1 }, - "2": { "ScriptingTutorialPart2": 6 } - }, - "HasOptionBeenChosen": { - "0": { "Dialog": 6 } - }, - "HasPlayerBeenInRoom": { - "0": { "Globalfunctions_Room": 4 } - }, - "Have": { - "0": { "UpgradingTo27": 1 } - }, - "Having": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "EditorFont": 1 } - }, - "He": { - "0": { "Tumbleweed_unhandled": 1 } - }, - "Header": { - "0": { "KeyboardShortcuts": 1 }, - "1": { "ScriptingTutorialPart2": 2 }, - "2": { "ScriptModules": 1 } - }, - "Health": { - "0": { "DynamicArrays": 1 }, - "1": { "ScriptKeywords": 3 }, - "2": { "String": 1 } - }, - "Hear": { - "0": { "Character": 1 } - }, - "Hebrew": { - "0": { "GeneralSettings": 1 } - }, - "Height": { - "0": { "Camera": 22 }, - "1": { "CustomDialogOptions": 4 }, - "2": { "DialogOptionsRenderingInfo": 13 }, - "3": { "DrawingSurface": 6 }, - "4": { "DynamicSprite": 18 }, - "5": { "Game": 1 }, - "6": { "GUI": 5 }, - "7": { "GUIControl": 5 }, - "8": { "Mouse": 3 }, - "9": { "Object": 1 }, - "10": { "ObsoleteScriptAPI": 3 }, - "11": { "Overlay": 8 }, - "12": { "Room": 5 }, - "13": { "Screen": 2 }, - "14": { "System": 11 }, - "15": { "UpgradeTo35": 4 }, - "16": { "UpgradeTo36": 1 }, - "17": { "Viewport": 22 } - }, - "Hell": { - "0": { "String": 2 } - }, - "Hello": { - "0": { "acintro8": 2 }, - "1": { "DialogScript": 6 }, - "2": { "DrawingSurface": 1 }, - "3": { "ExtenderFunctions": 1 }, - "4": { "GeneralSettings": 3 }, - "5": { "Globalfunctions_General": 3 }, - "6": { "ScriptKeywords": 2 }, - "7": { "String": 16 }, - "8": { "UpgradeTo35": 2 }, - "9": { "UpgradingTo271": 2 } - }, - "HelloWorld": { - "0": { "String": 1 }, - "1": { "UpgradingTo271": 1 } - }, - "Help": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "EditorPreferences": 2 }, - "2": { "KeyboardShortcuts": 1 }, - "3": { "Translations": 1 } - }, - "Helper": { - "0": { "Tumbleweed": 1 }, - "1": { "Tumbleweed_helper": 1 } - }, - "Hemlo": { - "0": { "String": 1 } - }, - "Hence": { - "0": { "Overlay": 2 } - }, - "Here": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 2 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "AudioInScript": 1 }, - "5": { "BuildAndroid": 1 }, - "6": { "ColoursEditor": 1 }, - "7": { "DialogScript": 1 }, - "8": { "Dictionary": 1 }, - "9": { "DistGame": 1 }, - "10": { "EditorRoom": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Globalfunctions_Screen": 1 }, - "13": { "MusicAndSound": 2 }, - "14": { "Pointers": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "ScriptKeywords": 1 }, - "17": { "Settingupthegame": 6 }, - "18": { "Setup": 3 }, - "19": { "Tumbleweed": 1 }, - "20": { "Tumbleweed_translation": 1 } - }, - "Here's": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "DialogScript": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "Hey": { - "0": { "Character": 1 } - }, - "Hi": { - "0": { "Game": 4 }, - "1": { "ScriptKeywords": 2 }, - "2": { "VoiceSpeech": 3 } - }, - "Hi-color": { - "0": { "Credits": 1 } - }, - "Hidden": { - "0": { "Preprocessor": 1 }, - "1": { "Viewport": 1 } - }, - "Hide": { - "0": { "TemplateBASS": 1 } - }, - "HideBorder": { - "0": { "ListBox": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "HideMouseCursor": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "HideScrollArrows": { - "0": { "ListBox": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "High-resolution": { - "0": { "DynamicSprite": 1 } - }, - "Higher": { - "0": { "acintro1": 1 } - }, - "Highest": { - "0": { "GeneralSettings": 2 }, - "1": { "ScriptAPIOverview": 2 }, - "2": { "UpgradeTo341": 1 } - }, - "Historically": { - "0": { "Keycodes": 1 }, - "1": { "System": 2 }, - "2": { "UpgradeTo35": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "Hit": { - "0": { "BuildAndroid": 1 } - }, - "Hmm": { - "0": { "UpgradingTo27": 1 } - }, - "Hobo": { - "0": { "Credits": 1 } - }, - "Hodgson": { - "0": { "Credits": 1 } - }, - "Home": { - "0": { "KeyboardShortcuts": 3 }, - "1": { "Keycodes": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 2 } - }, - "Hopefully": { - "0": { "Pointers": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "HorizontalAlignment": { - "0": { "Label": 1 }, - "1": { "ListBox": 1 }, - "2": { "StandardEnums": 3 } - }, - "HorizontalAlignment's": { - "0": { "StandardEnums": 1 } - }, - "HotSpot": { - "0": { "acintro3": 1 } - }, - "Hotspot": { - "0": { "acintro3": 8 }, - "1": { "acintro5": 2 }, - "2": { "acintro9": 1 }, - "3": { "Character": 3 }, - "4": { "CustomProperties": 4 }, - "5": { "EditorRoom": 1 }, - "6": { "EventTypes": 11 }, - "7": { "Game": 1 }, - "8": { "GlobalArrays": 1 }, - "9": { "Globalfunctions_General": 4 }, - "10": { "Globalfunctions_Room": 7 }, - "11": { "Hotspot": 68 }, - "12": { "Object": 4 }, - "13": { "ObsoleteScriptAPI": 14 }, - "14": { "Pointers": 9 }, - "15": { "Region": 5 }, - "16": { "Room": 1 }, - "17": { "ScriptAPIOverview": 1 }, - "18": { "Scripting": 1 }, - "19": { "ScriptingTutorialPart2": 1 }, - "20": { "Settingupthegame": 1 }, - "21": { "StandardEnums": 2 }, - "22": { "UpgradeTo34": 2 } - }, - "Hotspot's": { - "0": { "UpgradeTo361": 1 } - }, - "HotspotX": { - "0": { "acintro9": 1 }, - "1": { "EditorInventoryItems": 2 } - }, - "HotspotY": { - "0": { "acintro9": 1 }, - "1": { "EditorInventoryItems": 2 } - }, - "Hotspots": { - "0": { "acintro": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 1 }, - "4": { "EditorRoom": 2 }, - "5": { "Game": 1 }, - "6": { "GlobalArrays": 1 }, - "7": { "Pointers": 1 }, - "8": { "StartingOff": 1 }, - "9": { "SystemLimits": 1 }, - "10": { "Tumbleweed": 1 }, - "11": { "Tumbleweed_extensions": 2 } - }, - "Hour": { - "0": { "DateTime": 4 } - }, - "Hover": { - "0": { "acintro3": 1 } - }, - "How": { - "0": { "acintro7": 2 }, - "1": { "acintro8": 3 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 1 }, - "4": { "CustomProperties": 1 }, - "5": { "DialogScript": 3 }, - "6": { "EditorPreferences": 1 }, - "7": { "FAQ": 6 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 2 }, - "10": { "GlobalVariables": 1 }, - "11": { "MIDI-playback": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Plugins": 1 }, - "14": { "Pointers": 1 }, - "15": { "RepExec": 1 }, - "16": { "RuntimeEngine": 1 }, - "17": { "SourceControl": 1 }, - "18": { "SystemLimits": 1 }, - "19": { "TroubleshootingWindowsZoneID": 1 }, - "20": { "UpgradeTo32": 2 }, - "21": { "UpgradingTo27": 1 }, - "22": { "VoiceSpeech": 3 } - }, - "However": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro8": 1 }, - "4": { "AdvancedRoomFeatures": 2 }, - "5": { "AnonymousUsageInfo": 1 }, - "6": { "AudioChannel": 1 }, - "7": { "BlockingScripts": 1 }, - "8": { "Character": 2 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "DrawingSurface": 2 }, - "12": { "DynamicSprite": 1 }, - "13": { "EnginePluginRun-timeAPI": 1 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Gamevariables": 1 }, - "16": { "GeneralSettings": 6 }, - "17": { "Globalfunctions_General": 1 }, - "18": { "Globalfunctions_Palette": 1 }, - "19": { "Lipsync": 2 }, - "20": { "Mouse": 1 }, - "21": { "MusicAndSound": 1 }, - "22": { "ScriptingTutorialPart1": 1 }, - "23": { "ScriptingTutorialPart2": 2 }, - "24": { "ScriptKeywords": 3 }, - "25": { "Settingupthegame": 1 }, - "26": { "Setup": 1 }, - "27": { "StandardEnums": 1 }, - "28": { "System": 1 }, - "29": { "TextParser": 2 }, - "30": { "UpgradeTo31": 1 }, - "31": { "UpgradeTo335": 1 }, - "32": { "UpgradeTo34": 1 }, - "33": { "UpgradingTo27": 1 }, - "34": { "VoiceSpeech": 1 } - }, - "Hqx": { - "0": { "UpgradeTo36": 1 } - }, - "Hub": { - "0": { "acintro2": 1 }, - "1": { "acintro6": 1 } - }, - "Human": { - "0": { "UpgradeTo36": 1 } - }, - "Human-readable": { - "0": { "UnicodeSupport": 1 } - }, - "Hz": { - "0": { "AudioChannel": 2 }, - "1": { "Setup": 2 } - }, - "I'd": { - "0": { "acintro8": 1 }, - "1": { "DialogScript": 1 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "I'll": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 2 }, - "2": { "EditorPlugins": 3 } - }, - "I'm": { - "0": { "acintro1": 2 }, - "1": { "acintro8": 2 }, - "2": { "DialogScript": 2 }, - "3": { "EditorPlugins": 3 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "Tumbleweed_movement": 1 }, - "6": { "UpgradeTo30": 1 }, - "7": { "UpgradingTo27": 1 }, - "8": { "VoiceSpeech": 3 } - }, - "I've": { - "0": { "acintro2": 5 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "Tumbleweed_movement": 1 } - }, - "IAGSEditor": { - "0": { "EditorPlugins": 4 }, - "1": { "EnginePluginDesign-timeAPI": 7 } - }, - "IAGSEditorPlugin": { - "0": { "EditorPlugins": 2 } - }, - "IAGSEngine": { - "0": { "EnginePluginRun-timeAPI": 123 } - }, - "IAGSFontRenderer": { - "0": { "EnginePluginRun-timeAPI": 17 } - }, - "IAGSManagedObjectReader": { - "0": { "EnginePluginRun-timeAPI": 7 } - }, - "IAGSScriptManagedObject": { - "0": { "EnginePluginRun-timeAPI": 9 } - }, - "IAGSStream": { - "0": { "EnginePluginRun-timeAPI": 24 } - }, - "ICO": { - "0": { "DistGame": 2 } - }, - "ICONBAR": { - "0": { "GUI": 3 }, - "1": { "GUIControl": 1 } - }, - "ID": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 1 }, - "3": { "AudioChannel": 4 }, - "4": { "AudioClip": 4 }, - "5": { "Character": 6 }, - "6": { "Dialog": 6 }, - "7": { "DynamicSprite": 5 }, - "8": { "EditorInventoryItems": 3 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorView": 1 }, - "11": { "EngineConfigFile": 3 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "Gamevariables": 1 }, - "15": { "GeneralSettings": 4 }, - "16": { "GlobalArrays": 4 }, - "17": { "Globalfunctions_General": 6 }, - "18": { "Globalfunctions_Message": 1 }, - "19": { "Globalfunctions_Room": 3 }, - "20": { "GUI": 8 }, - "21": { "GUIControl": 10 }, - "22": { "Hotspot": 4 }, - "23": { "InventoryItem": 5 }, - "24": { "Object": 4 }, - "25": { "Parser": 2 }, - "26": { "Region": 4 }, - "27": { "RuntimeEngine": 1 }, - "28": { "ScriptKeywords": 2 }, - "29": { "Tumbleweed": 1 }, - "30": { "Tumbleweed_actions": 1 }, - "31": { "Tumbleweed_door": 3 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "Tumbleweed_translation": 2 } - }, - "ID's": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "IDE": { - "0": { "Introduction": 1 } - }, - "IDLEVIEW": { - "0": { "Character": 2 } - }, - "IDirectInputDevice": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "IDirectSound": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "IDs": { - "0": { "EngineConfigFile": 3 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "GUI": 4 }, - "4": { "Parser": 1 }, - "5": { "RuntimeEngine": 1 } - }, - "IEEE": { - "0": { "SystemLimits": 1 } - }, - "IEditorComponent": { - "0": { "EditorPlugins": 2 } - }, - "IFVER": { - "0": { "Constants": 1 } - }, - "II": { - "0": { "MusicAndSound": 1 } - }, - "III": { - "0": { "MusicAndSound": 1 } - }, - "IMPLIED": { - "0": { "Copyright": 1 } - }, - "IMPORTANT": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 5 }, - "4": { "ColoursEditor": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DefaultSetup": 2 }, - "7": { "DialogOptionsRenderingInfo": 1 }, - "8": { "DialogScript": 2 }, - "9": { "Dictionary": 2 }, - "10": { "DrawingSurface": 2 }, - "11": { "DynamicSprite": 2 }, - "12": { "EnginePluginRun-timeAPI": 38 }, - "13": { "EnginePlugins": 1 }, - "14": { "File": 3 }, - "15": { "Game": 5 }, - "16": { "GameSavesCompatibility": 1 }, - "17": { "GeneralSettings": 1 }, - "18": { "GlobalArrays": 1 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "MIDI-playback": 1 }, - "22": { "Object": 2 }, - "23": { "Overlay": 1 }, - "24": { "Pointers": 1 }, - "25": { "Preprocessor": 1 }, - "26": { "Screen": 1 }, - "27": { "ScriptKeywords": 1 }, - "28": { "String": 2 }, - "29": { "System": 1 }, - "30": { "Translations": 2 }, - "31": { "UnicodeSupport": 1 }, - "32": { "UpgradeTo34": 2 }, - "33": { "UpgradeTo35": 2 }, - "34": { "UpgradeTo36": 1 }, - "35": { "Viewport": 3 } - }, - "INCIDENTAL": { - "0": { "Copyright": 1 } - }, - "INCLUDING": { - "0": { "Copyright": 1 } - }, - "INDEX": { - "0": { "Globalfunctions_General": 2 }, - "1": { "ListBox": 1 }, - "2": { "String": 2 } - }, - "INDIRECT": { - "0": { "Copyright": 1 } - }, - "INI": { - "0": { "RuntimeEngine": 1 } - }, - "INSTALLDIR": { - "0": { "File": 3 }, - "1": { "ListBox": 1 }, - "2": { "UpgradeTo335": 1 } - }, - "INTERFACE": { - "0": { "Globalfunctions_Event": 1 } - }, - "INV": { - "0": { "Button": 1 }, - "1": { "Constants": 2 }, - "2": { "Settingupthegame": 1 }, - "3": { "Tumbleweed": 1 } - }, - "INVALID": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "INVENTORY": { - "0": { "GUI": 2 } - }, - "INVNS": { - "0": { "Button": 2 }, - "1": { "Settingupthegame": 1 } - }, - "INVSHR": { - "0": { "Button": 1 }, - "1": { "Settingupthegame": 1 } - }, - "ISFRAMEFLIPPED": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ISRUNNEXTLOOP": { - "0": { "Globalfunctions_General": 1 } - }, - "ITEM": { - "0": { "ListBox": 2 } - }, - "ITEMS": { - "0": { "Constants": 2 } - }, - "Icon": { - "0": { "DistGame": 1 } - }, - "Identical": { - "0": { "Globalfunctions_Message": 3 } - }, - "Identifier": { - "0": { "Plugins": 2 }, - "1": { "TroubleshootingWindowsZoneID": 8 } - }, - "Idle": { - "0": { "Character": 1 }, - "1": { "Settingupthegame": 1 } - }, - "IdleAnimationDelay": { - "0": { "Character": 2 } - }, - "IdleView": { - "0": { "Character": 4 }, - "1": { "Settingupthegame": 1 } - }, - "Ignore": { - "0": { "Parser": 1 } - }, - "IgnoreLighting": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IgnoreScaling": { - "0": { "Character": 1 }, - "1": { "Object": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "IgnoreUserInputAfterTextTimeoutMs": { - "0": { "Game": 4 }, - "1": { "Speech": 1 } - }, - "IgnoreWalkbehinds": { - "0": { "Character": 2 }, - "1": { "Object": 2 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "UpgradeTo35": 2 } - }, - "Ignored": { - "0": { "EngineConfigFile": 1 } - }, - "Image": { - "0": { "acintro4": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 1 }, - "3": { "EditorInventoryItems": 2 }, - "4": { "EditorView": 1 }, - "5": { "Settingupthegame": 1 } - }, - "Immediately": { - "0": { "ScriptKeywords": 1 } - }, - "Import": { - "0": { "acintro4": 4 }, - "1": { "acintro6": 10 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "EditorFont": 1 }, - "5": { "EditorPreferences": 3 }, - "6": { "EditorSprite": 8 }, - "7": { "ScriptModules": 1 }, - "8": { "Settingupthegame": 5 } - }, - "Imported": { - "0": { "acintro1": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "Importing": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "ExtenderFunctions": 1 }, - "4": { "GlobalVariables": 1 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "ScriptingLanguage": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "TheScriptHeader": 1 } - }, - "Improvement": { - "0": { "UpgradeTo36": 1 } - }, - "Improves": { - "0": { "acintro1": 1 } - }, - "Impulse": { - "0": { "MusicAndSound": 1 } - }, - "In-game": { - "0": { "EditorGUI": 1 } - }, - "InRoom": { - "0": { "Overlay": 2 } - }, - "InSeperateVOX": { - "0": { "DistGame": 1 } - }, - "InSkippableCutscene": { - "0": { "Game": 4 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "Inactivity": { - "0": { "Character": 1 } - }, - "Inc": { - "0": { "Tumbleweed": 1 } - }, - "Increment": { - "0": { "ScriptKeywords": 1 } - }, - "IncrementManagedObjectRefCount": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Increments": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Indent": { - "0": { "EditorPreferences": 1 }, - "1": { "KeyboardShortcuts": 1 } - }, - "Indented": { - "0": { "DialogScript": 1 } - }, - "Index": { - "0": { "acintro9": 2 }, - "1": { "AdvancedRoomFeatures": 2 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "Settingupthegame": 2 }, - "4": { "Templates": 1 } - }, - "IndexOf": { - "0": { "ObsoleteScriptAPI": 2 }, - "1": { "String": 5 } - }, - "Indexed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Indexes": { - "0": { "Character": 1 }, - "1": { "InvWindow": 1 }, - "2": { "ListBox": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "Indie": { - "0": { "DistGame": 1 } - }, - "Information": { - "0": { "GeneralSettings": 2 } - }, - "Inherited": { - "0": { "GUIControl": 14 } - }, - "InitGuiLanguage": { - "0": { "Tumbleweed_helper": 2 } - }, - "InitObject": { - "0": { "Tumbleweed_door": 6 } - }, - "Initialization": { - "0": { "ScriptKeywords": 1 } - }, - "Initially": { - "0": { "Game": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "InputBox": { - "0": { "Game": 4 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "InventoryItem": 1 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "String": 2 }, - "5": { "TextParser": 1 } - }, - "InputType": { - "0": { "Globalfunctions_Wait": 6 }, - "1": { "StandardEnums": 3 } - }, - "Insert": { - "0": { "EditorView": 2 }, - "1": { "Keycodes": 1 } - }, - "InsertItemAt": { - "0": { "ListBox": 4 } - }, - "Inserts": { - "0": { "EditorView": 1 }, - "1": { "ListBox": 1 }, - "2": { "StringFormats": 1 } - }, - "Inside": { - "0": { "Tumbleweed": 1 } - }, - "Install": { - "0": { "Introduction": 1 } - }, - "Installation": { - "0": { "BuildAndroid": 1 } - }, - "Installer": { - "0": { "Introduction": 1 } - }, - "Installing": { - "0": { "Introduction": 1 } - }, - "Instances": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Instant": { - "0": { "Gamevariables": 1 } - }, - "Instead": { - "0": { "DefaultSetup": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Region": 1 }, - "4": { "Tumbleweed_actions": 1 }, - "5": { "UpgradeTo30": 1 }, - "6": { "UpgradeTo32": 1 }, - "7": { "UpgradeTo35": 1 }, - "8": { "UpgradeTo361": 1 } - }, - "IntToFloat": { - "0": { "Camera": 4 }, - "1": { "Maths": 4 }, - "2": { "Mouse": 1 }, - "3": { "Viewport": 4 } - }, - "Integer": { - "0": { "Globalfunctions_General": 2 }, - "1": { "StringFormats": 2 } - }, - "Integers": { - "0": { "SystemLimits": 2 } - }, - "Integration": { - "0": { "EditorCommandLineOptions": 1 } - }, - "Intel": { - "0": { "Copyright": 1 } - }, - "Interact": { - "0": { "acintro4": 3 }, - "1": { "acintro7": 2 }, - "2": { "EditorCursor": 1 }, - "3": { "EventTypes": 6 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Event": 5 }, - "6": { "MultipleScripts": 1 }, - "7": { "Object": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "Tumbleweed": 3 }, - "10": { "UpgradeTo361": 1 } - }, - "InteractHotspot": { - "0": { "Hotspot": 1 } - }, - "Interacted": { - "0": { "Hotspot": 1 } - }, - "Interaction": { - "0": { "acintro2": 1 }, - "1": { "UpgradeTo30": 2 } - }, - "Interactions": { - "0": { "acintro3": 2 } - }, - "Interface": { - "0": { "EditorGUI": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "ScriptAPIOverview": 1 } - }, - "InterfaceGui": { - "0": { "TemplateVerbcoin": 3 } - }, - "InterfaceOff": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "InterfaceOn": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Internet": { - "0": { "MIDI-playback": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "Interval": { - "0": { "EditorPreferences": 2 } - }, - "Intro": { - "0": { "acintro7": 1 }, - "1": { "Multimedia": 2 } - }, - "Introduction": { - "0": { "acintro": 1 }, - "1": { "Introduction": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 }, - "4": { "Tumbleweed": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "Inv": { - "0": { "EditorGUI": 1 }, - "1": { "EventTypes": 1 }, - "2": { "InventoryItem": 2 } - }, - "InvWindow": { - "0": { "EditorGUI": 2 }, - "1": { "GUIControl": 15 }, - "2": { "InvWindow": 39 }, - "3": { "ObsoleteScriptAPI": 4 }, - "4": { "Scripting": 1 } - }, - "Invalid": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Inventory": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 4 }, - "2": { "acintro5": 11 }, - "3": { "BlockingScripts": 1 }, - "4": { "Character": 1 }, - "5": { "EditorCursor": 2 }, - "6": { "EditorGUI": 1 }, - "7": { "EditorInventoryItems": 2 }, - "8": { "EditorView": 1 }, - "9": { "EventTypes": 1 }, - "10": { "Game": 2 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Gamevariables": 1 }, - "13": { "GeneralSettings": 8 }, - "14": { "GlobalArrays": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "GUI": 1 }, - "17": { "InventoryItem": 4 }, - "18": { "Mouse": 3 }, - "19": { "MultipleScripts": 1 }, - "20": { "ObsoleteScriptAPI": 1 }, - "21": { "Pointers": 1 }, - "22": { "Scripting": 1 }, - "23": { "Settingupthegame": 7 }, - "24": { "SystemLimits": 1 }, - "25": { "TemplateVerbcoin": 1 }, - "26": { "Tumbleweed": 1 }, - "27": { "Tumbleweed_extensions": 1 }, - "28": { "UpgradeTo361": 1 } - }, - "InventoryGui": { - "0": { "TemplateBASS": 3 }, - "1": { "TemplateVerbcoin": 3 } - }, - "InventoryItem": { - "0": { "Character": 5 }, - "1": { "CustomProperties": 4 }, - "2": { "EditorInventoryItems": 2 }, - "3": { "EventTypes": 6 }, - "4": { "Game": 1 }, - "5": { "GlobalArrays": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "InventoryItem": 56 }, - "8": { "InvWindow": 1 }, - "9": { "ObsoleteScriptAPI": 15 }, - "10": { "ScriptingTutorialPart1": 3 }, - "11": { "ScriptKeywords": 1 }, - "12": { "StandardEnums": 2 }, - "13": { "Tumbleweed_movement": 2 }, - "14": { "UpgradeTo34": 2 } - }, - "InventoryItemCount": { - "0": { "Game": 3 }, - "1": { "GlobalArrays": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "InventoryItems": { - "0": { "GlobalArrays": 1 } - }, - "InventoryQuantity": { - "0": { "Character": 8 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "InventoryScreen": { - "0": { "Globalfunctions_General": 2 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IrfanView": { - "0": { "DistGame": 1 } - }, - "IsAction": { - "0": { "Tumbleweed_actions": 2 } - }, - "IsAudioPlaying": { - "0": { "AudioClip": 1 }, - "1": { "Game": 4 } - }, - "IsAvailable": { - "0": { "AudioClip": 3 }, - "1": { "Multimedia": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "IsButtonDown": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Mouse": 4 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "StandardEnums": 1 } - }, - "IsChannelPlaying": { - "0": { "AudioChannel": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "IsCollidingWithChar": { - "0": { "Character": 4 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "IsCollidingWithObject": { - "0": { "Character": 6 }, - "1": { "Globalfunctions_Room": 2 }, - "2": { "Object": 3 }, - "3": { "ObsoleteScriptAPI": 2 } - }, - "IsEnabled": { - "0": { "TemplateVerbcoin": 2 } - }, - "IsGUIOn": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsGamePaused": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "Globalfunctions_General": 8 }, - "2": { "GUI": 1 }, - "3": { "ScriptingTutorialPart1": 3 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "System": 2 } - }, - "IsGuiDisabled": { - "0": { "Tumbleweed_helper": 4 } - }, - "IsInteractionAvailable": { - "0": { "Character": 5 }, - "1": { "Globalfunctions_General": 8 }, - "2": { "Hotspot": 5 }, - "3": { "InventoryItem": 5 }, - "4": { "Object": 5 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "Room": 1 }, - "7": { "StandardEnums": 5 } - }, - "IsInterfaceEnabled": { - "0": { "Globalfunctions_General": 5 } - }, - "IsInventoryInteractionAvailable": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsKeyPressed": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Globalfunctions_General": 9 }, - "2": { "Keycodes": 2 }, - "3": { "Mouse": 1 }, - "4": { "ScriptKeywords": 2 }, - "5": { "UpgradeTo36": 2 } - }, - "IsModeEnabled": { - "0": { "Mouse": 5 }, - "1": { "StandardEnums": 1 } - }, - "IsMusicPlaying": { - "0": { "Game": 1 } - }, - "IsMusicVoxAvailable": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsNullOrEmpty": { - "0": { "OOProgramming": 1 }, - "1": { "String": 4 } - }, - "IsObjectAnimating": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsObjectMoving": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsObjectOn": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsOpen": { - "0": { "TemplateVerbcoin": 2 } - }, - "IsOverlayValid": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 1 } - }, - "IsPaused": { - "0": { "AudioChannel": 2 } - }, - "IsPlaying": { - "0": { "AudioChannel": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "IsPluginLoaded": { - "0": { "Game": 4 } - }, - "IsRunningUnderDebugger": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "IsSoundPlaying": { - "0": { "Game": 1 } - }, - "IsSpeechVoxAvailable": { - "0": { "Game": 2 }, - "1": { "Multimedia": 3 }, - "2": { "Speech": 1 } - }, - "IsSpriteAlphaBlended": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "IsTimerExpired": { - "0": { "Globalfunctions_General": 5 } - }, - "IsTranslationAvailable": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "Label": 2 }, - "3": { "Translations": 1 } - }, - "IsValid": { - "0": { "Character": 1 }, - "1": { "ExtenderFunctions": 1 } - }, - "IsVoxAvailable": { - "0": { "Multimedia": 1 } - }, - "Island": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 } - }, - "It's": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 1 }, - "2": { "acintro8": 4 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "BuildAndroid": 1 }, - "6": { "Button": 1 }, - "7": { "Camera": 1 }, - "8": { "Character": 3 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "Dialog": 1 }, - "11": { "DistGame": 1 }, - "12": { "EditorInventoryItems": 2 }, - "13": { "EditorSprite": 1 }, - "14": { "EventTypes": 4 }, - "15": { "FAQ": 2 }, - "16": { "Game": 1 }, - "17": { "GameSavesCompatibility": 1 }, - "18": { "Globalfunctions_Event": 2 }, - "19": { "Globalfunctions_General": 3 }, - "20": { "GraphicsDriver": 1 }, - "21": { "Introduction": 1 }, - "22": { "Object": 3 }, - "23": { "Pointers": 1 }, - "24": { "Preprocessor": 2 }, - "25": { "Room": 1 }, - "26": { "ScriptingTutorialPart1": 1 }, - "27": { "ScriptingTutorialPart2": 1 }, - "28": { "ScriptKeywords": 1 }, - "29": { "Speech": 2 }, - "30": { "SystemLimits": 1 }, - "31": { "TextParser": 1 }, - "32": { "TheScriptHeader": 1 }, - "33": { "Translations": 1 }, - "34": { "TroubleshootingWindowsZoneID": 1 }, - "35": { "Tumbleweed": 2 }, - "36": { "UpgradeTo31": 1 }, - "37": { "UpgradeTo35": 1 }, - "38": { "UpgradeTo36": 3 }, - "39": { "UpgradingTo27": 2 }, - "40": { "Viewport": 1 } - }, - "Italian": { - "0": { "Tumbleweed": 1 } - }, - "Item": { - "0": { "acintro5": 2 }, - "1": { "BlockingScripts": 1 }, - "2": { "EditorInventoryItems": 2 }, - "3": { "EditorView": 1 }, - "4": { "ListBox": 1 }, - "5": { "SystemLimits": 1 } - }, - "ItemAtIndex": { - "0": { "InvWindow": 4 } - }, - "ItemCapacity": { - "0": { "Object": 2 } - }, - "ItemCount": { - "0": { "Dictionary": 6 }, - "1": { "InvWindow": 8 }, - "2": { "ListBox": 9 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "Set": 4 } - }, - "ItemGiven": { - "0": { "Tumbleweed": 4 } - }, - "ItemHeight": { - "0": { "InvWindow": 7 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ItemWidth": { - "0": { "InvWindow": 7 } - }, - "Items": { - "0": { "acintro4": 1 }, - "1": { "EditorInventoryItems": 2 }, - "2": { "Game": 2 }, - "3": { "ListBox": 7 }, - "4": { "ObsoleteScriptAPI": 3 }, - "5": { "Pointers": 1 }, - "6": { "Tumbleweed": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "ItemsPerRow": { - "0": { "InvWindow": 8 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Iteration": { - "0": { "ScriptKeywords": 1 } - }, - "Its": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "Set": 1 }, - "3": { "UpgradeTo35": 1 }, - "4": { "UpgradeTo36": 3 } - }, - "Ivan": { - "0": { "Credits": 1 } - }, - "JACK's": { - "0": { "InvWindow": 1 } - }, - "JASC": { - "0": { "ColoursEditor": 1 } - }, - "JAVA": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorPreferences": 2 } - }, - "JDK": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorPreferences": 1 } - }, - "JONES": { - "0": { "Copyright": 1 } - }, - "JRE": { - "0": { "EditorPreferences": 1 } - }, - "JS": { - "0": { "DistGame": 1 } - }, - "JSON": { - "0": { "Credits": 1 } - }, - "James": { - "0": { "Credits": 2 } - }, - "Janet": { - "0": { "Credits": 1 } - }, - "January": { - "0": { "DateTime": 1 } - }, - "Java": { - "0": { "BuildAndroid": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "Pointers": 6 }, - "3": { "UpgradingTo271": 1 } - }, - "Javier": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Jibble": { - "0": { "CustomProperties": 1 } - }, - "Jim": { - "0": { "Credits": 1 } - }, - "Jochen": { - "0": { "Credits": 1 } - }, - "Joe": { - "0": { "Credits": 1 }, - "1": { "FAQ": 1 }, - "2": { "Game": 2 } - }, - "John": { - "0": { "Credits": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "ScriptKeywords": 2 } - }, - "Jones": { - "0": { "Copyright": 3 }, - "1": { "Credits": 1 }, - "2": { "Introduction": 1 } - }, - "Journey": { - "0": { "Globalfunctions_General": 1 } - }, - "Json": { - "0": { "Credits": 1 } - }, - "Just": { - "0": { "acintro7": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "GlobalVariables": 1 }, - "3": { "UpgradeTo30": 1 }, - "4": { "UpgradeTo36": 1 }, - "5": { "UpgradingTo27": 3 } - }, - "KB": { - "0": { "SystemLimits": 1 } - }, - "KEYCODE": { - "0": { "Globalfunctions_General": 1 } - }, - "KEYINPUT": { - "0": { "Constants": 1 } - }, - "KEYPRESS": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "KIND": { - "0": { "Copyright": 2 } - }, - "Keep": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "Game": 2 } - }, - "Key": { - "0": { "acintro4": 3 }, - "1": { "acintro7": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "EditorPreferences": 5 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Keycodes": 3 }, - "7": { "ScriptingTutorialPart1": 1 } - }, - "KeyDown": { - "0": { "TemplateSierraStyle": 3 } - }, - "KeyLeft": { - "0": { "TemplateSierraStyle": 3 } - }, - "KeyMod": { - "0": { "Globalfunctions_Wait": 1 } - }, - "KeyRight": { - "0": { "TemplateSierraStyle": 3 } - }, - "KeyUp": { - "0": { "TemplateSierraStyle": 3 } - }, - "Keyboard": { - "0": { "CustomDialogOptions": 1 }, - "1": { "KeyboardShortcuts": 1 }, - "2": { "OtherFeatures": 1 } - }, - "Keyboard-Shortcut": { - "0": { "Tumbleweed_translation": 1 } - }, - "KeyboardMovement": { - "0": { "TemplateSierraStyle": 15 } - }, - "KeyboardMovementMode": { - "0": { "TemplateSierraStyle": 1 } - }, - "Keypad": { - "0": { "KeyboardShortcuts": 3 } - }, - "Keypress": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Keystore": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorPreferences": 7 } - }, - "Keyword": { - "0": { "OOProgramming": 1 } - }, - "King's": { - "0": { "FAQ": 1 }, - "1": { "GeneralSettings": 1 } - }, - "Kings": { - "0": { "FAQ": 1 } - }, - "Klaus": { - "0": { "Credits": 1 } - }, - "LANGUAGE": { - "0": { "Tumbleweed": 2 } - }, - "LEAVEROOM": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "LEFT": { - "0": { "Translations": 2 } - }, - "LENGTH": { - "0": { "GameSavesCompatibility": 7 }, - "1": { "Globalfunctions_Screen": 2 } - }, - "LEVEL": { - "0": { "EngineConfigFile": 5 }, - "1": { "RuntimeEngine": 5 } - }, - "LEVELs": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "LIABILITY": { - "0": { "Copyright": 1 } - }, - "LIABLE": { - "0": { "Copyright": 1 } - }, - "LIMITATION": { - "0": { "Copyright": 1 } - }, - "LIPSYNCTEXT": { - "0": { "Globalfunctions_General": 1 } - }, - "LIST": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "LISTBOX": { - "0": { "Constants": 1 } - }, - "LLC": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "LMB": { - "0": { "DefaultSetup": 3 } - }, - "LOCK": { - "0": { "Debuggingfeatures": 1 }, - "1": { "System": 3 } - }, - "LOOK": { - "0": { "acintro3": 1 }, - "1": { "Hotspot": 1 }, - "2": { "Tumbleweed": 1 } - }, - "LOOP": { - "0": { "Button": 2 }, - "1": { "Character": 4 }, - "2": { "Object": 3 }, - "3": { "UpgradeTo30": 1 } - }, - "LOOPS": { - "0": { "UpgradeTo30": 1 } - }, - "LOSS": { - "0": { "Copyright": 1 } - }, - "LPCSTR": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "LPDIRECTINPUTDEVICE": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "LPDIRECTSOUND": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "LRPRECEDENCE": { - "0": { "Constants": 1 } - }, - "LUMINANCE": { - "0": { "Globalfunctions_General": 1 } - }, - "LZW": { - "0": { "EditorSprite": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "UpgradeTo361": 3 } - }, - "Label": { - "0": { "Button": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUIControl": 15 }, - "3": { "Label": 19 }, - "4": { "ListBox": 1 }, - "5": { "ObsoleteScriptAPI": 7 }, - "6": { "Scripting": 1 }, - "7": { "Slider": 1 }, - "8": { "StandardEnums": 2 }, - "9": { "TemplateBASS": 3 }, - "10": { "TemplateVerbcoin": 2 }, - "11": { "TextBox": 2 } - }, - "Labels": { - "0": { "ScriptKeywords": 1 } - }, - "Labs": { - "0": { "MusicAndSound": 1 } - }, - "Landscape": { - "0": { "DefaultSetup": 1 } - }, - "Language": { - "0": { "ScriptingLanguage": 1 }, - "1": { "Tumbleweed": 1 } - }, - "Lantinga": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Last": { - "0": { "GeneralSettings": 1 } - }, - "Latin": { - "0": { "UnicodeSupport": 3 }, - "1": { "UpgradeTo36": 3 } - }, - "Layer": { - "0": { "EditorRoom": 2 }, - "1": { "MusicAndSound": 1 } - }, - "Lazy": { - "0": { "UpgradeTo341": 1 } - }, - "Learn": { - "0": { "GameSavesCompatibility": 1 } - }, - "Leave": { - "0": { "EditorPreferences": 2 }, - "1": { "EventTypes": 1 } - }, - "LeaveBottom": { - "0": { "EventTypes": 1 } - }, - "LeaveLeft": { - "0": { "EventTypes": 1 } - }, - "LeaveRight": { - "0": { "EventTypes": 1 } - }, - "LeaveTop": { - "0": { "EventTypes": 1 } - }, - "Leaves": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "EventTypes": 2 }, - "3": { "Globalfunctions_Event": 1 } - }, - "Lee": { - "0": { "Credits": 1 } - }, - "Left": { - "0": { "Globalfunctions_Wait": 1 }, - "1": { "KeyboardShortcuts": 1 }, - "2": { "Keycodes": 7 }, - "3": { "ScriptKeywords": 1 }, - "4": { "StandardEnums": 1 }, - "5": { "Tumbleweed_door": 1 }, - "6": { "Tumbleweed_movement": 2 }, - "7": { "Tumbleweed_player": 1 } - }, - "Left-click": { - "0": { "acintro7": 1 } - }, - "Left-to-right": { - "0": { "Constants": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "LeftEdge": { - "0": { "Room": 6 } - }, - "LeftEdgeX": { - "0": { "EditorRoom": 1 } - }, - "Length": { - "0": { "GlobalArrays": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "String": 9 } - }, - "LengthMs": { - "0": { "AudioChannel": 4 } - }, - "Less": { - "0": { "GameSavesCompatibility": 1 } - }, - "Lesser": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "Let's": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "BlockingScripts": 3 }, - "4": { "ExtenderFunctions": 1 }, - "5": { "GameSavesCompatibility": 2 }, - "6": { "ImportingFunctionsAndVariables": 2 }, - "7": { "OOProgramming": 1 }, - "8": { "Pointers": 2 }, - "9": { "RepExec": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "Translations": 1 }, - "12": { "Tumbleweed": 2 } - }, - "Lets": { - "0": { "Setup": 1 } - }, - "Letter": { - "0": { "Lipsync": 1 } - }, - "Level": { - "0": { "BuildAndroid": 1 }, - "1": { "Region": 1 }, - "2": { "UpgradeTo34": 2 }, - "3": { "UpgradeTo341": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "Leverton": { - "0": { "Credits": 1 } - }, - "Library": { - "0": { "EditorPlugins": 2 } - }, - "License": { - "0": { "Copyright": 6 }, - "1": { "DistGame": 5 }, - "2": { "Tumbleweed": 1 } - }, - "Licensing": { - "0": { "DistGame": 1 } - }, - "Life": { - "0": { "StringFormats": 1 } - }, - "Light": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Region": 1 } - }, - "LightLevel": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 4 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Object": 5 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Region": 7 } - }, - "Lighting": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "Lightweight": { - "0": { "TemplateBASS": 1 } - }, - "Like": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "DynamicArrays": 1 } - }, - "Limit": { - "0": { "Constants": 1 } - }, - "Line": { - "0": { "acintro2": 3 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "KeyboardShortcuts": 2 }, - "3": { "OtherFeatures": 1 } - }, - "LineSpacing": { - "0": { "EditorFont": 1 } - }, - "Linear": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "Linked": { - "0": { "ContactingTheDevelopers": 1 } - }, - "LinkedAudio": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 2 }, - "2": { "ViewFrame": 4 } - }, - "LinkedExit": { - "0": { "Hotspot": 1 } - }, - "Linux": { - "0": { "DistGame": 8 }, - "1": { "EngineConfigFile": 3 }, - "2": { "EnginePlugins": 3 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "MIDI-playback": 1 }, - "7": { "Multimedia": 1 }, - "8": { "Plugins": 3 }, - "9": { "RuntimeEngine": 1 }, - "10": { "System": 2 }, - "11": { "UpgradeTo34": 3 }, - "12": { "UpgradeTo341": 1 } - }, - "Linux-related": { - "0": { "UpgradeTo34": 1 } - }, - "Lip": { - "0": { "Lipsync": 7 }, - "1": { "OtherFeatures": 1 } - }, - "List": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "Game": 1 }, - "5": { "ListBox": 3 }, - "6": { "Scripting": 1 } - }, - "ListBox": { - "0": { "Constants": 1 }, - "1": { "EditorGUI": 4 }, - "2": { "Game": 1 }, - "3": { "GUIControl": 16 }, - "4": { "ListBox": 109 }, - "5": { "ObsoleteScriptAPI": 19 }, - "6": { "StandardEnums": 2 }, - "7": { "UpgradeTo33": 5 }, - "8": { "UpgradeTo35": 1 } - }, - "ListBoxAdd": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "ListBoxClear": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxDirList": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxGetItemText": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxGetNumItems": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxGetSelected": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxRemove": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxSaveGameList": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxSetSelected": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ListBoxSetTopItem": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Listbox": { - "0": { "ListBox": 1 } - }, - "Load": { - "0": { "EventTypes": 1 }, - "1": { "FAQ": 2 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "LoadFromDisk": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "LoadImageFile": { - "0": { "DynamicSprite": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "LoadSaveSlotScreenshot": { - "0": { "DynamicSprite": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Loading": { - "0": { "DistGame": 1 }, - "1": { "Game": 1 } - }, - "Loads": { - "0": { "DynamicSprite": 2 }, - "1": { "Game": 2 } - }, - "Local": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "GameSavesCompatibility": 1 } - }, - "Location": { - "0": { "BuildAndroid": 2 }, - "1": { "Setup": 1 } - }, - "LocationType": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 2 } - }, - "Locations": { - "0": { "EngineConfigFile": 1 } - }, - "Lock": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Keycodes": 2 }, - "2": { "System": 7 }, - "3": { "Tumbleweed_door": 1 } - }, - "LockDifficulty": { - "0": { "Hotspot": 2 } - }, - "LockView": { - "0": { "Character": 17 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "StandardEnums": 1 } - }, - "LockViewAligned": { - "0": { "Character": 6 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "LockViewFrame": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "LockViewOffset": { - "0": { "Character": 5 }, - "1": { "GeneralSettings": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "Locking": { - "0": { "EditorRoom": 1 } - }, - "Locks": { - "0": { "Globalfunctions_Room": 2 } - }, - "Log": { - "0": { "AudioClip": 1 }, - "1": { "Dialog": 1 }, - "2": { "EditorLogPanel": 9 }, - "3": { "EditorPreferences": 3 }, - "4": { "File": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 1 }, - "7": { "Maths": 7 }, - "8": { "Object": 1 }, - "9": { "StandardEnums": 1 }, - "10": { "System": 3 }, - "11": { "UpgradeTo361": 3 } - }, - "LogLevel": { - "0": { "EditorLogPanel": 1 }, - "1": { "StandardEnums": 2 }, - "2": { "System": 3 } - }, - "Logical": { - "0": { "ScriptKeywords": 2 } - }, - "Longest": { - "0": { "Globalfunctions_General": 1 } - }, - "Look": { - "0": { "acintro3": 4 }, - "1": { "acintro5": 4 }, - "2": { "acintro7": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "EditorCursor": 1 }, - "5": { "EventTypes": 11 }, - "6": { "Game": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_Event": 5 }, - "9": { "Mouse": 1 }, - "10": { "MultipleScripts": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "Room": 1 }, - "13": { "ScriptingTutorialPart1": 5 }, - "14": { "ScriptingTutorialPart2": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "TemplateVerbcoin": 1 }, - "17": { "Tumbleweed": 1 }, - "18": { "UpgradeTo361": 1 } - }, - "LookAt": { - "0": { "Tumbleweed": 2 }, - "1": { "Tumbleweed_unhandled": 1 } - }, - "Looking": { - "0": { "acintro3": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "Looks": { - "0": { "Parser": 1 }, - "1": { "Pointers": 1 } - }, - "LookupParserWord": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Loop": { - "0": { "acintro7": 1 }, - "1": { "Button": 6 }, - "2": { "Camera": 1 }, - "3": { "Character": 5 }, - "4": { "EditorView": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 5 }, - "7": { "Object": 6 }, - "8": { "ObsoleteScriptAPI": 1 }, - "9": { "Settingupthegame": 8 }, - "10": { "ViewFrame": 7 } - }, - "Loops": { - "0": { "EditorView": 7 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "Settingupthegame": 1 } - }, - "LoseInventory": { - "0": { "Character": 9 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "InventoryItem": 1 }, - "4": { "ObsoleteScriptAPI": 3 }, - "5": { "ScriptKeywords": 1 } - }, - "LoseInventoryFromCharacter": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Lower": { - "0": { "Globalfunctions_General": 1 } - }, - "LowerCase": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 4 } - }, - "Lucas-Arts": { - "0": { "Speech": 1 } - }, - "LucasArts": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "Character": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Introduction": 1 }, - "9": { "Settingupthegame": 2 } - }, - "LucasArts-style": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro9": 3 }, - "4": { "Character": 2 }, - "5": { "CustomProperties": 1 }, - "6": { "EditorCursor": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EventTypes": 1 }, - "9": { "Game": 1 }, - "10": { "Gamevariables": 1 }, - "11": { "GeneralSettings": 2 }, - "12": { "Mouse": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Speech": 1 } - }, - "LucasArts-type": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "Lucasarts": { - "0": { "Character": 1 } - }, - "Ludwig": { - "0": { "Credits": 1 } - }, - "Luo": { - "0": { "Credits": 1 } - }, - "MAN": { - "0": { "Character": 6 } - }, - "MAN's": { - "0": { "Character": 2 } - }, - "MASK": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "MAX": { - "0": { "Constants": 7 }, - "1": { "EditorGUI": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GlobalArrays": 2 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "Globalfunctions_Room": 4 }, - "6": { "OOProgramming": 4 }, - "7": { "Slider": 1 }, - "8": { "UpgradeTo30": 6 } - }, - "MAY": { - "0": { "Copyright": 1 } - }, - "MB": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 4 } - }, - "MB-sized": { - "0": { "GeneralSettings": 1 } - }, - "ME": { - "0": { "ContactingTheDevelopers": 1 } - }, - "MERCHANT": { - "0": { "acintro8": 11 } - }, - "MERCHANTABILITY": { - "0": { "Copyright": 1 } - }, - "MESSAGE": { - "0": { "Character": 2 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "Globalfunctions_Message": 1 } - }, - "MI-Style": { - "0": { "Tumbleweed_translation": 1 } - }, - "MIDI": { - "0": { "AudioChannel": 5 }, - "1": { "AudioClip": 3 }, - "2": { "Copyright": 1 }, - "3": { "DistGame": 1 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "MIDI-playback": 9 }, - "6": { "MusicAndSound": 2 } - }, - "MIN": { - "0": { "EditorGUI": 3 }, - "1": { "Globalfunctions_Room": 4 }, - "2": { "Slider": 1 } - }, - "MIT": { - "0": { "Copyright": 1 }, - "1": { "Tumbleweed": 1 } - }, - "MOD": { - "0": { "AudioChannel": 2 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "MusicAndSound": 1 } - }, - "MODE": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 8 }, - "2": { "File": 1 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "Hotspot": 1 }, - "5": { "InventoryItem": 1 }, - "6": { "Mouse": 5 }, - "7": { "Object": 1 }, - "8": { "RuntimeEngine": 1 } - }, - "MODEs": { - "0": { "RuntimeEngine": 1 } - }, - "MODULE": { - "0": { "Preprocessor": 2 } - }, - "MONEY": { - "0": { "Copyright": 1 } - }, - "MOUSECLICK": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "MOUSEWHEEL": { - "0": { "Globalfunctions_General": 1 } - }, - "MPEG": { - "0": { "UpgradeTo36": 1 } - }, - "MPG": { - "0": { "Multimedia": 4 } - }, - "MS": { - "0": { "EngineConfigFile": 2 }, - "1": { "Multimedia": 2 }, - "2": { "RuntimeEngine": 1 } - }, - "MSCCI": { - "0": { "SourceControl": 1 } - }, - "MSVC": { - "0": { "EnginePlugins": 1 } - }, - "MULTIPLEINV": { - "0": { "Globalfunctions_General": 1 } - }, - "MUST": { - "0": { "DrawingSurface": 1 }, - "1": { "Game": 1 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "ScriptKeywords": 2 } - }, - "MY": { - "0": { "Pointers": 3 } - }, - "MYDOCS": { - "0": { "Game": 3 } - }, - "Mac": { - "0": { "GraphicsDriver": 1 } - }, - "MacOS": { - "0": { "EngineConfigFile": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Multimedia": 1 }, - "4": { "RuntimeEngine": 1 }, - "5": { "System": 2 } - }, - "Macros": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Magick": { - "0": { "Credits": 1 } - }, - "Magnify": { - "0": { "KeyboardShortcuts": 1 } - }, - "Main": { - "0": { "acintro4": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Button": 1 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "GameEventsOrder": 1 }, - "6": { "Settingupthegame": 1 } - }, - "Make": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 3 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "Camera": 2 }, - "7": { "Character": 3 }, - "8": { "EditorInventoryItems": 1 }, - "9": { "EditorPlugins": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "FAQ": 3 }, - "12": { "Settingupthegame": 2 }, - "13": { "Templates": 1 }, - "14": { "Viewport": 1 } - }, - "MakeRawColorPixel": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "MakeWider": { - "0": { "Globalfunctions_General": 2 } - }, - "Makes": { - "0": { "DrawingSurface": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "GUI": 1 } - }, - "Making": { - "0": { "acintro4": 1 }, - "1": { "Introduction": 1 } - }, - "Managed": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ScriptKeywords": 2 } - }, - "Manager": { - "0": { "acintro": 1 }, - "1": { "acintro4": 3 }, - "2": { "acintro6": 4 }, - "3": { "acintro9": 1 }, - "4": { "BuildAndroid": 2 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EditorView": 2 }, - "8": { "Object": 1 }, - "9": { "Settingupthegame": 3 } - }, - "Manager's": { - "0": { "EditorSprite": 1 } - }, - "Managing": { - "0": { "acintro": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "DistGame": 2 }, - "4": { "ScriptModules": 1 }, - "5": { "StartingOff": 1 } - }, - "Maniac": { - "0": { "acintro7": 1 } - }, - "Mansion": { - "0": { "acintro7": 1 } - }, - "Manual": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 2 } - }, - "ManualScaling": { - "0": { "Character": 6 }, - "1": { "Object": 5 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "UpgradeTo36": 1 } - }, - "Many": { - "0": { "GeneralSettings": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "UpgradingTo27": 2 } - }, - "MarkRegionDirty": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Marker": { - "0": { "Settingupthegame": 1 } - }, - "Marks": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 2 } - }, - "Martin": { - "0": { "Credits": 1 } - }, - "Mary": { - "0": { "ScriptKeywords": 2 } - }, - "Mask": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 2 } - }, - "MaskResolution": { - "0": { "EditorRoom": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "Match": { - "0": { "KeyboardShortcuts": 1 } - }, - "Math": { - "0": { "Tumbleweed": 1 }, - "1": { "Tumbleweed_helper": 1 } - }, - "Maths": { - "0": { "ExtenderFunctions": 2 }, - "1": { "Maths": 133 }, - "2": { "Scripting": 1 }, - "3": { "StringFormats": 2 } - }, - "MathsComponent": { - "0": { "EditorPlugins": 1 } - }, - "Matrixes": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Matthew": { - "0": { "Credits": 2 } - }, - "Max": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 }, - "2": { "Slider": 8 }, - "3": { "UpgradeTo36": 2 } - }, - "MaxChannels": { - "0": { "AudioInScript": 2 }, - "1": { "MusicAndSound": 2 } - }, - "Maximum": { - "0": { "Gamevariables": 3 }, - "1": { "GeneralSettings": 1 } - }, - "May": { - "0": { "GeneralSettings": 1 } - }, - "Mb": { - "0": { "DistGame": 1 } - }, - "McCrea": { - "0": { "Credits": 1 } - }, - "Meaning": { - "0": { "Keycodes": 1 } - }, - "Meanwhile": { - "0": { "OOProgramming": 1 } - }, - "Menu": { - "0": { "EditorRoom": 1 }, - "1": { "EditorView": 2 }, - "2": { "MusicAndSound": 1 }, - "3": { "ScriptingTutorialPart2": 2 } - }, - "Merchant": { - "0": { "acintro8": 4 } - }, - "Mercurial": { - "0": { "UpgradeTo361": 1 } - }, - "MergeIntoBackground": { - "0": { "Object": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MergeObject": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Merges": { - "0": { "Object": 1 } - }, - "Message": { - "0": { "Globalfunctions_Message": 1 }, - "1": { "Room": 2 }, - "2": { "Tumbleweed_movement": 1 } - }, - "Messages": { - "0": { "EditorLogPanel": 2 }, - "1": { "Game": 1 }, - "2": { "Room": 3 }, - "3": { "UpgradeTo30": 3 } - }, - "Michael": { - "0": { "Credits": 2 } - }, - "Microsoft": { - "0": { "Copyright": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "Microsoft's": { - "0": { "UpgradeTo361": 1 } - }, - "Middle": { - "0": { "Maths": 1 } - }, - "Mierzejewski": { - "0": { "Credits": 1 } - }, - "Min": { - "0": { "Slider": 8 } - }, - "Minimum": { - "0": { "Gamevariables": 1 } - }, - "MinimumTextDisplayTimeMs": { - "0": { "Game": 5 } - }, - "Miniz": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "Minute": { - "0": { "DateTime": 4 } - }, - "Misc": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorPreferences": 1 } - }, - "Mixing": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "Mod": { - "0": { "Keycodes": 1 } - }, - "Mode": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 5 }, - "2": { "Character": 2 }, - "3": { "Debuggingfeatures": 3 }, - "4": { "EditorCursor": 4 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Event": 6 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "InventoryItem": 1 }, - "10": { "Mouse": 15 }, - "11": { "ObsoleteScriptAPI": 2 }, - "12": { "Settingupthegame": 4 }, - "13": { "StandardEnums": 1 }, - "14": { "TemplateSierraStyle": 3 } - }, - "Modes": { - "0": { "EditorCursor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "Module": { - "0": { "Preprocessor": 1 }, - "1": { "ScriptModules": 1 } - }, - "Modules": { - "0": { "MultipleScripts": 1 }, - "1": { "Plugins": 1 }, - "2": { "ScriptModules": 4 } - }, - "Mogilko": { - "0": { "Credits": 1 } - }, - "MojoAL": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Monkey": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 } - }, - "Month": { - "0": { "DateTime": 4 } - }, - "Morales": { - "0": { "Credits": 1 } - }, - "More": { - "0": { "acintro8": 1 }, - "1": { "EnginePlugins": 1 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ScriptModules": 1 } - }, - "Moreover": { - "0": { "Camera": 1 } - }, - "Morgan": { - "0": { "Credits": 3 } - }, - "Most": { - "0": { "ColoursEditor": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GlobalVariables": 1 }, - "3": { "ImportingFunctionsAndVariables": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "SourceControl": 1 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "UnicodeSupport": 1 }, - "9": { "UpgradingTo27": 2 } - }, - "Motion": { - "0": { "DefaultSetup": 1 } - }, - "Mouse": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 2 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 2 }, - "5": { "Character": 2 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 4 }, - "8": { "EditorInventoryItems": 3 }, - "9": { "EditorRoom": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "EventTypes": 1 }, - "12": { "FAQ": 1 }, - "13": { "Game": 1 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Gamevariables": 2 }, - "16": { "Globalfunctions_General": 1 }, - "17": { "Globalfunctions_Wait": 1 }, - "18": { "GUI": 4 }, - "19": { "Hotspot": 3 }, - "20": { "Mouse": 82 }, - "21": { "ObsoleteScriptAPI": 16 }, - "22": { "Pointers": 2 }, - "23": { "Room": 1 }, - "24": { "Screen": 1 }, - "25": { "Scripting": 1 }, - "26": { "Setup": 2 }, - "27": { "StandardEnums": 8 }, - "28": { "Viewport": 2 } - }, - "MouseButton": { - "0": { "CustomDialogOptions": 2 }, - "1": { "EventTypes": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "GUI": 1 }, - "4": { "Mouse": 2 }, - "5": { "MultipleScripts": 1 }, - "6": { "StandardEnums": 2 }, - "7": { "TemplateVerbcoin": 1 } - }, - "MouseCursorCount": { - "0": { "Game": 3 } - }, - "MouseMove": { - "0": { "EventTypes": 1 } - }, - "MouseOver": { - "0": { "UpgradeTo361": 1 } - }, - "MouseOverGraphic": { - "0": { "Button": 7 } - }, - "MouseYPos": { - "0": { "GUI": 3 } - }, - "Move": { - "0": { "acintro2": 1 }, - "1": { "Character": 17 }, - "2": { "MultipleScripts": 2 }, - "3": { "Object": 6 }, - "4": { "ObsoleteScriptAPI": 2 }, - "5": { "ScriptKeywords": 2 }, - "6": { "ScriptModules": 2 }, - "7": { "StandardEnums": 4 }, - "8": { "Tumbleweed_movement": 1 } - }, - "MoveCharacter": { - "0": { "Character": 3 }, - "1": { "Constants": 2 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterBlocking": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterDirect": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterPath": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterStraight": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterToHotspot": { - "0": { "Globalfunctions_General": 4 }, - "1": { "Hotspot": 2 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "MoveCharacterToObject": { - "0": { "Character": 2 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "MoveObject": { - "0": { "Object": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveObjectDirect": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "MoveOverlay": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 2 } - }, - "MovePlayer": { - "0": { "Tumbleweed_movement": 6 } - }, - "MovePlayerEx": { - "0": { "Tumbleweed_movement": 6 } - }, - "MoveToWalkableArea": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Movement": { - "0": { "KeyboardShortcuts": 1 } - }, - "MovementLinkedToAnimation": { - "0": { "Character": 4 } - }, - "MovementSpeed": { - "0": { "Settingupthegame": 1 } - }, - "Moves": { - "0": { "Character": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "File": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Mouse": 1 }, - "7": { "Tumbleweed_movement": 2 } - }, - "Moving": { - "0": { "Camera": 1 }, - "1": { "Character": 11 }, - "2": { "EditorRoom": 1 }, - "3": { "Mouse": 1 }, - "4": { "Object": 7 }, - "5": { "ObsoleteScriptAPI": 2 }, - "6": { "RepExec": 1 }, - "7": { "ScriptKeywords": 4 } - }, - "Much": { - "0": { "ScriptKeywords": 1 } - }, - "Multimedia": { - "0": { "Multimedia": 1 } - }, - "Multiplatform": { - "0": { "UpgradeTo36": 1 } - }, - "Multiple": { - "0": { "EditorSprite": 1 }, - "1": { "Label": 1 }, - "2": { "MultipleScripts": 1 }, - "3": { "ScriptingLanguage": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "Multiply": { - "0": { "ScriptKeywords": 1 } - }, - "Music": { - "0": { "acintro7": 1 }, - "1": { "AudioClip": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "DistGame": 2 }, - "4": { "Game": 1 }, - "5": { "MusicAndSound": 5 }, - "6": { "UpgradeTo32": 3 } - }, - "MusicOnLoad": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Room": 3 } - }, - "Must": { - "0": { "EditorPreferences": 2 } - }, - "Mutable": { - "0": { "UpgradeTo34": 1 } - }, - "My": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro8": 2 }, - "3": { "Character": 3 }, - "4": { "FAQ": 1 }, - "5": { "Game": 5 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "TextWindowGUI": 1 } - }, - "MyDialog": { - "0": { "Dialog": 1 } - }, - "MyGame": { - "0": { "Globalfunctions_General": 2 } - }, - "MyLabel": { - "0": { "Globalfunctions_Event": 2 } - }, - "MyLang": { - "0": { "VoiceSpeech": 2 } - }, - "MyMethod": { - "0": { "ScriptKeywords": 5 } - }, - "MyNarrate": { - "0": { "DialogScript": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "MyObj": { - "0": { "GameSavesCompatibility": 5 } - }, - "MySay": { - "0": { "DialogScript": 5 }, - "1": { "TextWindowGUI": 3 }, - "2": { "UpgradeTo35": 4 } - }, - "MyScript": { - "0": { "ImportingFunctionsAndVariables": 7 } - }, - "MyScript's": { - "0": { "ImportingFunctionsAndVariables": 2 } - }, - "MyScriptFunction": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "MyStruct": { - "0": { "GameSavesCompatibility": 13 }, - "1": { "ScriptKeywords": 4 } - }, - "MyVariables": { - "0": { "GameSavesCompatibility": 4 } - }, - "NAME": { - "0": { "DialogScript": 1 }, - "1": { "Game": 2 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Translations": 2 }, - "4": { "UpgradeTo36": 2 } - }, - "NARR": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_Message": 1 } - }, - "NARRATOR": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_Message": 1 } - }, - "NEEDLE": { - "0": { "String": 1 } - }, - "NET": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Credits": 1 }, - "2": { "EditorPlugins": 7 }, - "3": { "EnginePlugins": 2 }, - "4": { "SystemRequirements": 3 } - }, - "NEVER": { - "0": { "Mouse": 1 } - }, - "NEW": { - "0": { "Constants": 4 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Globalfunctions_General": 2 } - }, - "NEWCHAR": { - "0": { "String": 1 } - }, - "NEWCOLOR": { - "0": { "Character": 1 } - }, - "NEWITEM": { - "0": { "ListBox": 2 } - }, - "NL": { - "0": { "Tumbleweed": 1 } - }, - "NNN": { - "0": { "UpgradeTo35": 1 } - }, - "NOBODY": { - "0": { "ContactingTheDevelopers": 1 } - }, - "NOTE": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 5 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 4 }, - "8": { "AdvancedRoomFeatures": 5 }, - "9": { "AnonymousUsageInfo": 1 }, - "10": { "AudioChannel": 4 }, - "11": { "AudioClip": 1 }, - "12": { "Button": 2 }, - "13": { "Camera": 7 }, - "14": { "Character": 42 }, - "15": { "ColoursEditor": 1 }, - "16": { "ContactingTheDevelopers": 1 }, - "17": { "CustomDialogOptions": 5 }, - "18": { "CustomProperties": 1 }, - "19": { "DateTime": 1 }, - "20": { "Debuggingfeatures": 1 }, - "21": { "DefaultSetup": 2 }, - "22": { "Dialog": 2 }, - "23": { "DialogScript": 1 }, - "24": { "DistGame": 1 }, - "25": { "DrawingSurface": 10 }, - "26": { "DynamicSprite": 10 }, - "27": { "EditorCharacter": 1 }, - "28": { "EditorCommandLineOptions": 1 }, - "29": { "EditorDialog": 2 }, - "30": { "EditorFont": 1 }, - "31": { "EditorGUI": 2 }, - "32": { "EditorLogPanel": 1 }, - "33": { "EditorPlugins": 2 }, - "34": { "EditorRoom": 5 }, - "35": { "EditorSprite": 5 }, - "36": { "EngineConfigFile": 1 }, - "37": { "EnginePluginRun-timeAPI": 25 }, - "38": { "EventTypes": 1 }, - "39": { "ExtenderFunctions": 1 }, - "40": { "File": 5 }, - "41": { "Game": 18 }, - "42": { "GeneralSettings": 4 }, - "43": { "Globalfunctions_Event": 2 }, - "44": { "Globalfunctions_General": 30 }, - "45": { "Globalfunctions_Message": 1 }, - "46": { "Globalfunctions_Palette": 2 }, - "47": { "Globalfunctions_Room": 2 }, - "48": { "Globalfunctions_Screen": 5 }, - "49": { "GUI": 8 }, - "50": { "GUIControl": 1 }, - "51": { "Hotspot": 1 }, - "52": { "ImportingFunctionsAndVariables": 4 }, - "53": { "InventoryItem": 3 }, - "54": { "Lipsync": 3 }, - "55": { "ListBox": 6 }, - "56": { "MIDI-playback": 2 }, - "57": { "Mouse": 7 }, - "58": { "Multimedia": 4 }, - "59": { "MusicAndSound": 2 }, - "60": { "Object": 26 }, - "61": { "Overlay": 8 }, - "62": { "Plugins": 1 }, - "63": { "Pointers": 1 }, - "64": { "Preprocessor": 2 }, - "65": { "Region": 12 }, - "66": { "Room": 2 }, - "67": { "Screen": 2 }, - "68": { "ScriptAPIOverview": 1 }, - "69": { "ScriptingTutorialPart2": 3 }, - "70": { "ScriptKeywords": 7 }, - "71": { "Settingupthegame": 7 }, - "72": { "Setup": 1 }, - "73": { "Speech": 7 }, - "74": { "String": 11 }, - "75": { "StringFormats": 1 }, - "76": { "System": 2 }, - "77": { "Templates": 2 }, - "78": { "Translations": 1 }, - "79": { "UnicodeSupport": 1 }, - "80": { "UpgradeTo30": 1 }, - "81": { "UpgradeTo33": 1 }, - "82": { "UpgradeTo34": 3 }, - "83": { "UpgradeTo35": 2 }, - "84": { "UpgradeTo36": 1 }, - "85": { "UpgradingTo271": 1 }, - "86": { "VoiceSpeech": 2 } - }, - "NOW": { - "0": { "Globalfunctions_General": 1 } - }, - "NOWALKMODE": { - "0": { "Globalfunctions_General": 1 } - }, - "NPC": { - "0": { "acintro3": 1 } - }, - "NPCGoToCharacter": { - "0": { "Tumbleweed_movement": 3 } - }, - "NPCfacesplayer": { - "0": { "Tumbleweed_movement": 3 } - }, - "NTFS": { - "0": { "TroubleshootingWindowsZoneID": 4 } - }, - "NULL": { - "0": { "EnginePluginRun-timeAPI": 14 }, - "1": { "OOProgramming": 1 } - }, - "NUM": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "System": 1 } - }, - "NUMBER": { - "0": { "DrawingSurface": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "Globalfunctions_Room": 2 }, - "3": { "Multimedia": 1 } - }, - "NUMCHARACTERS": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "NUMFRAMES": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "NUMINVITEMS": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "NUMLOOPS": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Name": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro8": 3 }, - "4": { "Character": 5 }, - "5": { "Constants": 1 }, - "6": { "CustomProperties": 1 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "FAQ": 1 }, - "10": { "Game": 7 }, - "11": { "GeneralSettings": 1 }, - "12": { "GlobalArrays": 1 }, - "13": { "Hotspot": 3 }, - "14": { "InventoryItem": 6 }, - "15": { "InvWindow": 1 }, - "16": { "Label": 1 }, - "17": { "Object": 4 }, - "18": { "ObsoleteScriptAPI": 9 }, - "19": { "Pointers": 3 }, - "20": { "ScriptingTutorialPart1": 5 }, - "21": { "ScriptKeywords": 1 }, - "22": { "String": 1 } - }, - "Names": { - "0": { "Gamevariables": 1 }, - "1": { "OOProgramming": 5 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "Naming": { - "0": { "acintro2": 1 } - }, - "Narrate": { - "0": { "DialogScript": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo35": 2 } - }, - "Naturally": { - "0": { "Camera": 1 }, - "1": { "GlobalArrays": 1 }, - "2": { "Setup": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "Navarro": { - "0": { "Credits": 1 } - }, - "Navigate": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 1 } - }, - "Nearest": { - "0": { "Setup": 1 } - }, - "Nearest-neighbour": { - "0": { "DefaultSetup": 1 } - }, - "Neighbour": { - "0": { "Setup": 1 } - }, - "Neil": { - "0": { "Credits": 1 } - }, - "Neither": { - "0": { "Copyright": 2 } - }, - "Net": { - "0": { "Credits": 1 } - }, - "Never": { - "0": { "acintro2": 1 }, - "1": { "EditorGUI": 1 } - }, - "New": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 2 }, - "4": { "acintro8": 4 }, - "5": { "acintro9": 2 }, - "6": { "Credits": 1 }, - "7": { "EditorGUI": 5 }, - "8": { "EditorPlugins": 3 }, - "9": { "EditorPreferences": 2 }, - "10": { "EditorRoom": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Globalfunctions_Event": 1 }, - "13": { "ScriptModules": 2 }, - "14": { "Settingupthegame": 4 }, - "15": { "Templates": 3 }, - "16": { "Translations": 1 }, - "17": { "UpgradeTo33": 2 }, - "18": { "UpgradeTo34": 1 }, - "19": { "UpgradeTo35": 2 }, - "20": { "UpgradeTo36": 3 }, - "21": { "UpgradeTo361": 1 }, - "22": { "UpgradingTo27": 2 } - }, - "NewRoom": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "NewRoomEx": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "NewRoomNPC": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Newer": { - "0": { "EditorView": 1 } - }, - "Newton-King": { - "0": { "Credits": 1 } - }, - "Newtonsoft": { - "0": { "Credits": 1 } - }, - "Next": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 1 }, - "9": { "AdvancedRoomFeatures": 1 }, - "10": { "EditorPlugins": 1 }, - "11": { "Game": 2 }, - "12": { "KeyboardShortcuts": 4 }, - "13": { "Mouse": 1 }, - "14": { "Settingupthegame": 1 } - }, - "Nick": { - "0": { "Credits": 1 } - }, - "No-Block": { - "0": { "BlockingScripts": 1 } - }, - "NoiseTracker": { - "0": { "MusicAndSound": 1 } - }, - "Nominal": { - "0": { "UpgradeTo36": 2 } - }, - "Non": { - "0": { "Plugins": 1 } - }, - "Non-Clickable": { - "0": { "GUI": 1 } - }, - "Non-blocking": { - "0": { "GameEventsOrder": 1 } - }, - "None": { - "0": { "GeneralSettings": 1 }, - "1": { "Setup": 1 } - }, - "Nope": { - "0": { "UpgradingTo27": 1 } - }, - "Normal": { - "0": { "EditorGUI": 1 }, - "1": { "Game": 2 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "GUI": 1 }, - "4": { "TextBox": 1 } - }, - "NormalFont": { - "0": { "acintro9": 1 }, - "1": { "DrawingSurface": 3 }, - "2": { "Game": 4 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "StandardEnums": 1 }, - "7": { "Translations": 4 } - }, - "NormalGraphic": { - "0": { "Button": 12 }, - "1": { "DynamicSprite": 4 }, - "2": { "GUI": 1 }, - "3": { "GUIControl": 2 }, - "4": { "Label": 1 }, - "5": { "ObsoleteScriptAPI": 1 } - }, - "NormalView": { - "0": { "acintro7": 1 }, - "1": { "Character": 5 }, - "2": { "EditorCharacter": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Settingupthegame": 1 } - }, - "Normally": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioClip": 2 }, - "2": { "Character": 3 }, - "3": { "Constants": 1 }, - "4": { "Dialog": 2 }, - "5": { "EditorCursor": 1 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "Game": 1 }, - "8": { "Gamevariables": 2 }, - "9": { "GeneralSettings": 5 }, - "10": { "GUI": 3 }, - "11": { "GUIControl": 3 }, - "12": { "Hotspot": 2 }, - "13": { "InventoryItem": 2 }, - "14": { "Lipsync": 1 }, - "15": { "Mouse": 1 }, - "16": { "Object": 2 }, - "17": { "ScriptKeywords": 2 }, - "18": { "Settingupthegame": 2 }, - "19": { "TroubleshootingWindowsZoneID": 1 }, - "20": { "Tumbleweed": 1 }, - "21": { "UnicodeSupport": 1 }, - "22": { "VoiceSpeech": 1 } - }, - "Note": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Button": 2 }, - "4": { "Character": 5 }, - "5": { "DateTime": 1 }, - "6": { "DefaultSetup": 3 }, - "7": { "Dictionary": 1 }, - "8": { "DistGame": 3 }, - "9": { "DynamicArrays": 1 }, - "10": { "DynamicSprite": 1 }, - "11": { "EditorFont": 1 }, - "12": { "EditorPlugins": 1 }, - "13": { "EditorRoom": 3 }, - "14": { "EditorView": 1 }, - "15": { "EngineConfigFile": 1 }, - "16": { "EnginePluginDesign-timeAPI": 2 }, - "17": { "EnginePluginRun-timeAPI": 11 }, - "18": { "GeneralSettings": 1 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "Globalfunctions_General": 6 }, - "21": { "Globalfunctions_Message": 1 }, - "22": { "Globalfunctions_Wait": 1 }, - "23": { "GlobalVariables": 1 }, - "24": { "GUIControl": 1 }, - "25": { "Hotspot": 1 }, - "26": { "Introduction": 1 }, - "27": { "InventoryItem": 1 }, - "28": { "Label": 1 }, - "29": { "ListBox": 3 }, - "30": { "Mouse": 1 }, - "31": { "MusicAndSound": 1 }, - "32": { "Object": 1 }, - "33": { "OOProgramming": 1 }, - "34": { "Preprocessor": 1 }, - "35": { "Region": 1 }, - "36": { "Room": 4 }, - "37": { "RuntimeEngine": 1 }, - "38": { "ScriptingTutorialPart1": 2 }, - "39": { "ScriptKeywords": 1 }, - "40": { "Set": 1 }, - "41": { "Settingupthegame": 5 }, - "42": { "Setup": 2 }, - "43": { "StandardEnums": 1 }, - "44": { "System": 3 }, - "45": { "SystemRequirements": 1 }, - "46": { "UpgradeTo35": 2 }, - "47": { "UpgradeTo36": 2 }, - "48": { "UpgradeTo361": 1 }, - "49": { "UpgradingTo271": 1 }, - "50": { "VoiceSpeech": 1 } - }, - "Notepad": { - "0": { "File": 1 } - }, - "Nothing": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "AudioChannel": 1 } - }, - "Notice": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 2 }, - "3": { "acintro8": 1 }, - "4": { "AudioInScript": 1 }, - "5": { "EditorGUI": 2 }, - "6": { "ExtenderFunctions": 1 }, - "7": { "ScriptingTutorialPart2": 1 } - }, - "Notifies": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "NotifyFontUpdated": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "NotifySpriteUpdated": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Now": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 8 }, - "8": { "acintro9": 1 }, - "9": { "AdvancedRoomFeatures": 1 }, - "10": { "AudioInScript": 1 }, - "11": { "BlockingScripts": 3 }, - "12": { "BuildAndroid": 1 }, - "13": { "DateTime": 19 }, - "14": { "DistGame": 1 }, - "15": { "DynamicArrays": 1 }, - "16": { "EditorPlugins": 1 }, - "17": { "EnginePlugins": 1 }, - "18": { "ExtenderFunctions": 1 }, - "19": { "GameSavesCompatibility": 1 }, - "20": { "GlobalVariables": 1 }, - "21": { "ImportingFunctionsAndVariables": 1 }, - "22": { "MusicAndSound": 1 }, - "23": { "ObsoleteScriptAPI": 1 }, - "24": { "OOProgramming": 1 }, - "25": { "Pointers": 1 }, - "26": { "Preprocessor": 1 }, - "27": { "ScriptingTutorialPart1": 1 }, - "28": { "ScriptingTutorialPart2": 2 }, - "29": { "ScriptKeywords": 1 }, - "30": { "Settingupthegame": 2 }, - "31": { "TextParser": 1 }, - "32": { "Tumbleweed": 7 }, - "33": { "Tumbleweed_door": 1 }, - "34": { "UpgradeTo30": 1 }, - "35": { "UpgradeTo32": 1 }, - "36": { "UpgradeTo34": 2 }, - "37": { "UpgradeTo36": 1 }, - "38": { "UpgradingTo27": 2 } - }, - "Null": { - "0": { "DynamicArrays": 1 } - }, - "Num": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Keycodes": 1 }, - "2": { "System": 2 } - }, - "NumLock": { - "0": { "System": 5 } - }, - "Number": { - "0": { "Character": 2 }, - "1": { "CustomProperties": 1 }, - "2": { "DrawingSurface": 2 }, - "3": { "EditorRoom": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Hotspot": 2 }, - "9": { "InventoryItem": 2 }, - "10": { "Object": 2 }, - "11": { "Room": 2 } - }, - "Numbers": { - "0": { "Character": 1 } - }, - "Numeric": { - "0": { "Keycodes": 2 } - }, - "O'Connor": { - "0": { "Credits": 1 } - }, - "O-Name": { - "0": { "Character": 3 }, - "1": { "UpgradingTo27": 1 } - }, - "OBJ": { - "0": { "Character": 1 } - }, - "OBJECT": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "OBJECTS": { - "0": { "Constants": 1 } - }, - "OBSOLETE": { - "0": { "Gamevariables": 3 }, - "1": { "Globalfunctions_General": 1 } - }, - "OFF": { - "0": { "Globalfunctions_General": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "OGG": { - "0": { "AudioChannel": 4 }, - "1": { "AudioClip": 1 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Lipsync": 3 }, - "6": { "Multimedia": 7 }, - "7": { "MusicAndSound": 2 }, - "8": { "UpgradeTo36": 1 } - }, - "OGGSTATIC": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "OGGSTREAM": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "OGL": { - "0": { "EngineConfigFile": 1 } - }, - "OGV": { - "0": { "Multimedia": 2 }, - "1": { "UpgradeTo36": 1 } - }, - "OK": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 3 }, - "2": { "acintro4": 2 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "BuildAndroid": 2 }, - "6": { "GUI": 1 }, - "7": { "UpgradingTo27": 1 } - }, - "OLD": { - "0": { "GameSavesCompatibility": 1 } - }, - "ONLY": { - "0": { "EventTypes": 1 }, - "1": { "File": 1 }, - "2": { "Globalfunctions_Screen": 1 } - }, - "OPEN": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "OPT": { - "0": { "Character": 2 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 27 }, - "3": { "Object": 2 }, - "4": { "Room": 1 }, - "5": { "Translations": 1 } - }, - "OPTION": { - "0": { "Dialog": 5 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "Translations": 2 } - }, - "OPTIONS": { - "0": { "Multimedia": 1 }, - "1": { "RuntimeEngine": 2 } - }, - "OPTIONs": { - "0": { "Globalfunctions_General": 1 } - }, - "OR'ed": { - "0": { "TextParser": 1 } - }, - "OS": { - "0": { "EngineConfigFile": 1 } - }, - "OTHERCHAR": { - "0": { "Character": 1 } - }, - "OTHERWISE": { - "0": { "Copyright": 1 } - }, - "OUT": { - "0": { "Copyright": 1 } - }, - "OUTPUT": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 3 } - }, - "OUTPUTs": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "OUTSIDE": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "OVERHOTSPOT": { - "0": { "EditorGUI": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Label": 1 } - }, - "OVERRIDES": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "Object": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Button": 2 }, - "4": { "Character": 14 }, - "5": { "Constants": 1 }, - "6": { "CustomProperties": 4 }, - "7": { "DynamicSprite": 3 }, - "8": { "EditorRoom": 3 }, - "9": { "EditorView": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "EventTypes": 9 }, - "12": { "FAQ": 1 }, - "13": { "Game": 3 }, - "14": { "GlobalArrays": 1 }, - "15": { "Globalfunctions_General": 5 }, - "16": { "Globalfunctions_Room": 4 }, - "17": { "GUI": 1 }, - "18": { "GUIControl": 1 }, - "19": { "Hotspot": 4 }, - "20": { "InventoryItem": 1 }, - "21": { "Object": 246 }, - "22": { "ObsoleteScriptAPI": 38 }, - "23": { "OOProgramming": 1 }, - "24": { "Overlay": 2 }, - "25": { "Pointers": 1 }, - "26": { "Region": 3 }, - "27": { "ScriptAPIOverview": 1 }, - "28": { "Scripting": 1 }, - "29": { "ScriptingLanguage": 1 }, - "30": { "ScriptKeywords": 1 }, - "31": { "Settingupthegame": 4 }, - "32": { "StandardEnums": 7 }, - "33": { "UpgradeTo34": 2 }, - "34": { "UpgradeTo35": 1 }, - "35": { "UpgradeTo36": 2 }, - "36": { "UpgradeTo361": 1 }, - "37": { "UpgradingTo27": 1 } - }, - "Object's": { - "0": { "Object": 1 }, - "1": { "Overlay": 1 } - }, - "ObjectCount": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GlobalArrays": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Room": 3 } - }, - "ObjectOff": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ObjectOn": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ObjectReader": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Objects": { - "0": { "acintro": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 5 }, - "4": { "acintro7": 1 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "EditorRoom": 4 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 4 }, - "10": { "GlobalArrays": 1 }, - "11": { "Object": 2 }, - "12": { "StartingOff": 1 }, - "13": { "SystemLimits": 1 }, - "14": { "Tumbleweed": 1 }, - "15": { "Tumbleweed_extensions": 2 }, - "16": { "UpgradeTo36": 1 } - }, - "Obsolete": { - "0": { "ObsoleteScriptAPI": 2 } - }, - "Obsoleted": { - "0": { "ObsoleteScriptAPI": 1 } - }, - "Obviously": { - "0": { "acintro2": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "UpgradeTo31": 1 } - }, - "Occasional": { - "0": { "SystemLimits": 1 } - }, - "Occurs": { - "0": { "EventTypes": 37 } - }, - "Off": { - "0": { "DefaultSetup": 1 } - }, - "Offscreen": { - "0": { "Viewport": 1 } - }, - "Offset": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "Gamevariables": 2 }, - "2": { "Tumbleweed_helper": 2 } - }, - "Often": { - "0": { "DialogScript": 1 } - }, - "Ogg": { - "0": { "Copyright": 2 }, - "1": { "Credits": 1 }, - "2": { "MusicAndSound": 1 } - }, - "Oh": { - "0": { "acintro8": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "Ok": { - "0": { "EditorPlugins": 1 } - }, - "Okay": { - "0": { "Tumbleweed": 1 } - }, - "Olav": { - "0": { "Credits": 1 } - }, - "Old": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "String": 8 }, - "2": { "UpgradeTo36": 1 } - }, - "Old-style": { - "0": { "GeneralSettings": 1 }, - "1": { "UpgradeTo33": 1 } - }, - "OnActivate": { - "0": { "EditorGUI": 1 }, - "1": { "Parser": 1 } - }, - "OnChange": { - "0": { "EditorGUI": 1 }, - "1": { "Slider": 1 } - }, - "OnClick": { - "0": { "Button": 1 }, - "1": { "EventTypes": 1 }, - "2": { "FAQ": 1 }, - "3": { "GUI": 2 }, - "4": { "TemplateVerbcoin": 2 } - }, - "OnSelectionChanged": { - "0": { "EditorGUI": 1 } - }, - "Once": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "BuildAndroid": 2 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "DynamicSprite": 3 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorSprite": 2 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "MusicAndSound": 1 }, - "12": { "Plugins": 1 }, - "13": { "ScriptingTutorialPart1": 1 }, - "14": { "ScriptKeywords": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "Templates": 1 }, - "17": { "Translations": 3 }, - "18": { "UpgradingTo27": 1 } - }, - "One": { - "0": { "DefaultSetup": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptKeywords": 2 }, - "5": { "Settingupthegame": 1 }, - "6": { "TemplateSierraStyle": 1 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "UpgradeTo31": 1 }, - "9": { "UpgradeTo34": 2 }, - "10": { "UpgradeTo341": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "Only": { - "0": { "BuildAndroid": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 2 }, - "4": { "EditorCharacter": 1 }, - "5": { "EnginePluginRun-timeAPI": 5 }, - "6": { "EventTypes": 1 }, - "7": { "File": 4 }, - "8": { "GraphicsDriver": 1 }, - "9": { "GUI": 1 }, - "10": { "Mouse": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "Open": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 4 }, - "2": { "acintro8": 1 }, - "3": { "CustomProperties": 1 }, - "4": { "DynamicSprite": 2 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "FAQ": 3 }, - "7": { "File": 41 }, - "8": { "GeneralSettings": 1 }, - "9": { "GUI": 1 }, - "10": { "GUIControl": 1 }, - "11": { "KeyboardShortcuts": 3 }, - "12": { "ObsoleteScriptAPI": 1 }, - "13": { "Plugins": 1 }, - "14": { "Pointers": 5 }, - "15": { "ScriptingTutorialPart2": 2 }, - "16": { "StandardEnums": 1 }, - "17": { "System": 1 }, - "18": { "TemplateVerbcoin": 2 }, - "19": { "TroubleshootingWindowsZoneID": 1 }, - "20": { "Tumbleweed": 1 }, - "21": { "Tumbleweed_translation": 1 }, - "22": { "UpgradeTo36": 1 } - }, - "OpenClose": { - "0": { "Tumbleweed_extensions": 1 } - }, - "OpenCloseExtension": { - "0": { "Tumbleweed_door": 1 }, - "1": { "Tumbleweed_extensions": 2 } - }, - "OpenDoor": { - "0": { "Hotspot": 1 } - }, - "OpenFileStream": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "OpenGL": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 2 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GraphicsDriver": 8 }, - "5": { "RuntimeEngine": 1 }, - "6": { "Setup": 2 }, - "7": { "System": 6 }, - "8": { "SystemRequirements": 1 } - }, - "Opened": { - "0": { "File": 1 } - }, - "Opening": { - "0": { "EditorCommandLineOptions": 1 } - }, - "Opens": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "File": 1 }, - "2": { "TemplateVerbcoin": 1 } - }, - "Operating": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "OperatingSystem": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "StandardEnums": 1 }, - "2": { "System": 3 } - }, - "Operations": { - "0": { "Globalfunctions_Palette": 1 } - }, - "Operator": { - "0": { "ScriptKeywords": 1 } - }, - "Operators": { - "0": { "ScriptKeywords": 1 } - }, - "Option": { - "0": { "Dialog": 1 }, - "1": { "EditorDialog": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "OptionCount": { - "0": { "CustomDialogOptions": 4 }, - "1": { "Dialog": 4 } - }, - "Optional": { - "0": { "Character": 8 }, - "1": { "EnginePluginDesign-timeAPI": 3 }, - "2": { "Object": 2 }, - "3": { "Region": 1 }, - "4": { "ScriptKeywords": 1 } - }, - "Optionally": { - "0": { "AudioClip": 1 }, - "1": { "Character": 2 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 2 }, - "4": { "FAQ": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "SourceControl": 1 } - }, - "Options": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "OtherFeatures": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "Orb": { - "0": { "acintro3": 1 } - }, - "Org": { - "0": { "Copyright": 1 } - }, - "Ori": { - "0": { "Credits": 1 } - }, - "Oriented": { - "0": { "OOProgramming": 1 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "Original": { - "0": { "String": 4 } - }, - "Originally": { - "0": { "UpgradeTo31": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "Other": { - "0": { "EnginePlugins": 1 }, - "1": { "EventTypes": 1 }, - "2": { "GameEventsOrder": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "GraphicsDriver": 1 }, - "5": { "Multimedia": 1 }, - "6": { "OtherFeatures": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Setup": 1 }, - "9": { "UpgradeTo30": 1 }, - "10": { "UpgradeTo35": 2 } - }, - "OtherClick": { - "0": { "EventTypes": 1 }, - "1": { "Tumbleweed": 1 } - }, - "Otherwise": { - "0": { "acintro2": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 2 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "Object": 2 }, - "9": { "Parser": 1 }, - "10": { "Room": 1 }, - "11": { "Templates": 1 }, - "12": { "Translations": 2 }, - "13": { "Tumbleweed_door": 1 }, - "14": { "Tumbleweed_extensions": 1 }, - "15": { "UpgradeTo32": 1 }, - "16": { "UpgradeTo341": 1 } - }, - "Our": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 2 }, - "2": { "ScriptingTutorialPart1": 2 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "Out": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_Screen": 1 } - }, - "OutlineStyle": { - "0": { "EditorFont": 1 } - }, - "Outlines": { - "0": { "acintro9": 1 } - }, - "Output": { - "0": { "RuntimeEngine": 1 } - }, - "Outputs": { - "0": { "EditorCommandLineOptions": 1 } - }, - "Outro": { - "0": { "acintro7": 1 } - }, - "Overall": { - "0": { "MusicAndSound": 1 } - }, - "Overlay": { - "0": { "Character": 3 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "FAQ": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "ObsoleteScriptAPI": 6 }, - "5": { "Overlay": 120 }, - "6": { "Pointers": 1 }, - "7": { "Scripting": 1 }, - "8": { "Speech": 4 }, - "9": { "StandardEnums": 2 }, - "10": { "UpgradeTo36": 2 } - }, - "Overlay's": { - "0": { "Overlay": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "Overlays": { - "0": { "DefaultSetup": 1 }, - "1": { "GUI": 2 }, - "2": { "Overlay": 6 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "SystemLimits": 1 }, - "5": { "UpgradeTo35": 2 }, - "6": { "UpgradeTo36": 8 } - }, - "Override": { - "0": { "GeneralSettings": 1 } - }, - "Overview": { - "0": { "DynamicArrays": 1 }, - "1": { "ScriptAPIOverview": 1 }, - "2": { "Scripting": 1 }, - "3": { "Translations": 1 } - }, - "Own": { - "0": { "acintro5": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "OwningGUI": { - "0": { "GUIControl": 8 } - }, - "PAID": { - "0": { "Copyright": 1 } - }, - "PAL": { - "0": { "ColoursEditor": 3 } - }, - "PALETTE": { - "0": { "Constants": 1 }, - "1": { "GlobalArrays": 1 } - }, - "PAM": { - "0": { "Lipsync": 1 } - }, - "PAMELA": { - "0": { "Lipsync": 4 } - }, - "PARAM": { - "0": { "Multimedia": 4 } - }, - "PARAMETER": { - "0": { "Globalfunctions_Event": 1 } - }, - "PARAMETERS": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "PARSER": { - "0": { "Dialog": 2 } - }, - "PARTICULAR": { - "0": { "Copyright": 1 } - }, - "PATH": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "RuntimeEngine": 2 } - }, - "PC": { - "0": { "EditorSprite": 1 }, - "1": { "GraphicsDriver": 1 }, - "2": { "SourceControl": 1 }, - "3": { "System": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "PCX": { - "0": { "DynamicSprite": 2 }, - "1": { "Globalfunctions_General": 1 } - }, - "PEOPLE": { - "0": { "OOProgramming": 5 } - }, - "PER": { - "0": { "UpgradeTo30": 2 } - }, - "PERFORMANCE": { - "0": { "Copyright": 1 } - }, - "PERMISSION": { - "0": { "Copyright": 1 } - }, - "PI": { - "0": { "Maths": 5 } - }, - "PICKUP": { - "0": { "Tumbleweed": 1 } - }, - "PIXELPERFECT": { - "0": { "Character": 2 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Object": 2 }, - "4": { "Room": 1 } - }, - "PKZIP": { - "0": { "ContactingTheDevelopers": 1 } - }, - "PLEASE": { - "0": { "ContactingTheDevelopers": 3 } - }, - "PLUS": { - "0": { "Globalfunctions_Room": 1 } - }, - "PM": { - "0": { "Tumbleweed": 1 } - }, - "PNG": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "EditorPreferences": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "UpgradeTo361": 1 } - }, - "PORTRAIT": { - "0": { "Speech": 4 } - }, - "PORTRAITPOSITION": { - "0": { "Globalfunctions_General": 1 } - }, - "POSITION": { - "0": { "String": 3 } - }, - "POSSIBILITY": { - "0": { "Copyright": 1 } - }, - "POSTRESTOREGAME": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "POSTROOMDRAW": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "POSTSCREENDRAW": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "PREGUIDRAW": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "PRERENDER": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "PRESAVEGAME": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "PRESCREENDRAW": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "PREVIOUS": { - "0": { "DialogScript": 1 } - }, - "PROFITS": { - "0": { "Copyright": 1 } - }, - "PROMPT": { - "0": { "Game": 1 } - }, - "PROPERTY": { - "0": { "Character": 2 }, - "1": { "Hotspot": 2 }, - "2": { "InventoryItem": 2 }, - "3": { "Object": 2 }, - "4": { "Room": 2 } - }, - "PROVIDED": { - "0": { "Copyright": 1 } - }, - "PSND": { - "0": { "EnginePluginRun-timeAPI": 7 } - }, - "PSP": { - "0": { "ColoursEditor": 1 } - }, - "PT": { - "0": { "Tumbleweed": 1 } - }, - "PURPOSE": { - "0": { "Copyright": 1 } - }, - "Pablo": { - "0": { "Credits": 1 } - }, - "Pack": { - "0": { "acintro9": 1 } - }, - "Package": { - "0": { "DistGame": 1 }, - "1": { "File": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "Page": { - "0": { "Keycodes": 2 } - }, - "Palette": { - "0": { "acintro1": 2 }, - "1": { "Character": 2 }, - "2": { "ColoursEditor": 6 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_Palette": 3 }, - "5": { "Settingupthegame": 1 } - }, - "Pamela": { - "0": { "Lipsync": 5 } - }, - "Pan": { - "0": { "EditorRoom": 1 } - }, - "Pane": { - "0": { "RepExec": 2 }, - "1": { "RuntimeEngine": 1 }, - "2": { "Setup": 1 } - }, - "Panel": { - "0": { "EditorLogPanel": 5 }, - "1": { "Game": 1 }, - "2": { "System": 1 }, - "3": { "UpgradeTo361": 2 } - }, - "Panning": { - "0": { "AudioChannel": 4 }, - "1": { "UpgradeTo32": 1 } - }, - "Papagayo": { - "0": { "Lipsync": 7 } - }, - "Parameter": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 } - }, - "Parameters": { - "0": { "Button": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "Tumbleweed_door": 1 } - }, - "Park": { - "0": { "Tumbleweed": 1 } - }, - "ParseText": { - "0": { "Dialog": 2 }, - "1": { "Parser": 10 }, - "2": { "Settingupthegame": 1 }, - "3": { "TextParser": 3 } - }, - "Parser": { - "0": { "Dialog": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "OtherFeatures": 1 }, - "5": { "Parser": 23 }, - "6": { "Scripting": 1 }, - "7": { "ScriptKeywords": 3 }, - "8": { "Settingupthegame": 1 }, - "9": { "TextParser": 11 } - }, - "ParserTextBoxWidth": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 6 } - }, - "ParserTextBoxX": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 7 } - }, - "ParserTextBoxY": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 7 } - }, - "Part": { - "0": { "acintro": 9 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 2 }, - "3": { "acintro3": 2 }, - "4": { "acintro4": 2 }, - "5": { "acintro5": 2 }, - "6": { "acintro6": 2 }, - "7": { "acintro7": 2 }, - "8": { "acintro8": 2 }, - "9": { "acintro9": 1 }, - "10": { "ScriptingTutorial": 2 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "StartingOff": 9 } - }, - "Partial": { - "0": { "Copyright": 1 } - }, - "Parts": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 3 }, - "2": { "acintro4": 1 }, - "3": { "GameSavesCompatibility": 1 } - }, - "Pass": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 2 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Globalfunctions_Room": 4 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "Passed": { - "0": { "StandardEnums": 2 } - }, - "Passing": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Room": 1 } - }, - "Password": { - "0": { "EditorPreferences": 6 } - }, - "Paste": { - "0": { "acintro6": 1 }, - "1": { "EditorView": 2 }, - "2": { "KeyboardShortcuts": 1 } - }, - "Path": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorPreferences": 1 }, - "2": { "File": 4 }, - "3": { "Globalfunctions_General": 1 } - }, - "Patronizing": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Paul": { - "0": { "Credits": 1 } - }, - "Pause": { - "0": { "AudioChannel": 6 }, - "1": { "EditorGUI": 1 }, - "2": { "FAQ": 1 } - }, - "PauseGame": { - "0": { "Globalfunctions_General": 9 }, - "1": { "System": 1 } - }, - "Pauses": { - "0": { "AudioChannel": 1 }, - "1": { "Globalfunctions_Wait": 5 } - }, - "Pccurs": { - "0": { "EventTypes": 1 } - }, - "Pending": { - "0": { "SourceControl": 1 } - }, - "Penney": { - "0": { "Credits": 1 } - }, - "Pentium": { - "0": { "Copyright": 1 } - }, - "People": { - "0": { "OOProgramming": 4 } - }, - "Per": { - "0": { "Credits": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "Perforce": { - "0": { "SourceControl": 2 } - }, - "Performance": { - "0": { "DefaultSetup": 1 } - }, - "Perhaps": { - "0": { "acintro6": 1 } - }, - "Perl": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "Permanently": { - "0": { "Mouse": 1 } - }, - "Persistent": { - "0": { "GUI": 1 } - }, - "Personally": { - "0": { "acintro1": 1 } - }, - "Peter": { - "0": { "Credits": 2 } - }, - "Pi": { - "0": { "Maths": 7 }, - "1": { "StringFormats": 5 } - }, - "Pick": { - "0": { "acintro4": 3 }, - "1": { "CustomProperties": 1 }, - "2": { "EventTypes": 3 }, - "3": { "Globalfunctions_Event": 3 }, - "4": { "TemplateVerbcoin": 1 }, - "5": { "Tumbleweed": 1 } - }, - "PickUp": { - "0": { "EventTypes": 3 }, - "1": { "Tumbleweed": 2 } - }, - "Pierre": { - "0": { "Credits": 1 } - }, - "Piotr": { - "0": { "Credits": 1 } - }, - "Pirate": { - "0": { "Camera": 1 } - }, - "Pires": { - "0": { "Credits": 1 } - }, - "Pixel": { - "0": { "Globalfunctions_General": 1 } - }, - "Pixel-perfect": { - "0": { "acintro1": 1 }, - "1": { "Character": 2 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 3 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "Object": 2 }, - "6": { "Room": 1 } - }, - "Pixels": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Place": { - "0": { "acintro4": 2 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "Plugins": 1 }, - "5": { "TheScriptHeader": 1 } - }, - "PlaceOnWalkableArea": { - "0": { "Character": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Places": { - "0": { "Character": 1 } - }, - "Placing": { - "0": { "EditorRoom": 2 } - }, - "Play": { - "0": { "AudioChannel": 17 }, - "1": { "AudioClip": 19 }, - "2": { "AudioInScript": 7 }, - "3": { "EditorView": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 4 }, - "6": { "GeneralSettings": 4 }, - "7": { "Lipsync": 1 }, - "8": { "Multimedia": 2 }, - "9": { "MusicAndSound": 6 }, - "10": { "ObsoleteScriptAPI": 8 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "StandardEnums": 1 }, - "14": { "UpgradeTo32": 2 }, - "15": { "ViewFrame": 1 } - }, - "PlayAmbientSound": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 1 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "UpgradeTo32": 2 } - }, - "PlayDefaultSound": { - "0": { "AudioClip": 1 } - }, - "PlayFlic": { - "0": { "Multimedia": 5 } - }, - "PlayFrom": { - "0": { "AudioClip": 7 }, - "1": { "StandardEnums": 1 } - }, - "PlayMusic": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo32": 4 } - }, - "PlayMusicQueued": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "PlayOnChannel": { - "0": { "AudioClip": 3 } - }, - "PlayQueued": { - "0": { "AudioClip": 6 }, - "1": { "Game": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "StandardEnums": 1 } - }, - "PlaySilentMIDI": { - "0": { "Multimedia": 2 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "PlaySound": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo32": 6 } - }, - "PlaySoundChannel": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "PlaySoundEx": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "PlayVideo": { - "0": { "Multimedia": 7 }, - "1": { "StandardEnums": 1 } - }, - "PlayVoiceClip": { - "0": { "Game": 2 }, - "1": { "Multimedia": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "Player": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "EventTypes": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_Room": 8 }, - "6": { "Hotspot": 1 }, - "7": { "Region": 6 }, - "8": { "Room": 1 }, - "9": { "RuntimeEngine": 1 }, - "10": { "Screen": 1 }, - "11": { "ScriptKeywords": 7 }, - "12": { "Tumbleweed": 1 }, - "13": { "Tumbleweed_player": 1 }, - "14": { "Viewport": 2 } - }, - "PlayerCharacterView": { - "0": { "EditorRoom": 1 } - }, - "PlayerStartsWithItem": { - "0": { "acintro4": 1 }, - "1": { "acintro5": 1 }, - "2": { "EditorInventoryItems": 1 } - }, - "Players": { - "0": { "DefaultSetup": 2 }, - "1": { "Setup": 2 }, - "2": { "UpgradeTo335": 1 } - }, - "Playing": { - "0": { "AudioClip": 2 }, - "1": { "MusicAndSound": 1 } - }, - "PlayingClip": { - "0": { "AudioChannel": 4 }, - "1": { "AudioClip": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "Plays": { - "0": { "AudioClip": 4 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 1 }, - "4": { "Multimedia": 2 } - }, - "Please": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Button": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Copyright": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorRoom": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "FAQ": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Multimedia": 2 }, - "12": { "MusicAndSound": 1 }, - "13": { "Room": 1 }, - "14": { "ScriptKeywords": 2 }, - "15": { "Settingupthegame": 2 }, - "16": { "StartingOff": 1 }, - "17": { "Translations": 1 }, - "18": { "UnicodeSupport": 1 }, - "19": { "UpgradeTo36": 1 } - }, - "Plugin": { - "0": { "Copyright": 1 }, - "1": { "EditorPlugins": 6 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "EnginePluginRun-timeAPI": 4 }, - "4": { "EnginePlugins": 2 }, - "5": { "Plugins": 2 }, - "6": { "Translations": 1 } - }, - "PluginMain": { - "0": { "EditorPlugins": 1 } - }, - "PluginObject": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "Plugins": { - "0": { "Copyright": 3 }, - "1": { "EditorPlugins": 1 }, - "2": { "EnginePlugins": 2 }, - "3": { "Plugins": 8 }, - "4": { "ScriptModules": 1 } - }, - "Plus": { - "0": { "Keycodes": 1 } - }, - "Point": { - "0": { "acintro3": 1 }, - "1": { "Screen": 6 }, - "2": { "StandardTypes": 5 }, - "3": { "UpgradeTo35": 1 }, - "4": { "Viewport": 6 } - }, - "Pointer": { - "0": { "acintro9": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "Pointers": 2 }, - "4": { "Settingupthegame": 1 } - }, - "Pointers": { - "0": { "Pointers": 6 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "ScriptKeywords": 2 } - }, - "Poison": { - "0": { "ScriptKeywords": 1 } - }, - "PollSystem": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Pool": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Pop-up": { - "0": { "EditorPreferences": 1 } - }, - "Pops": { - "0": { "Game": 1 } - }, - "Popup": { - "0": { "GUI": 1 } - }, - "PopupDistance": { - "0": { "TemplateBASS": 4 } - }, - "PopupProportional": { - "0": { "TemplateBASS": 5 } - }, - "PopupStyle": { - "0": { "EditorGUI": 1 }, - "1": { "GUI": 4 }, - "2": { "StandardEnums": 1 } - }, - "PopupYPos": { - "0": { "EditorGUI": 1 }, - "1": { "GUI": 6 } - }, - "Porto": { - "0": { "Credits": 1 } - }, - "Portrait": { - "0": { "DefaultSetup": 1 } - }, - "PortraitOverlay": { - "0": { "Speech": 9 } - }, - "PortraitXOffset": { - "0": { "Speech": 5 } - }, - "PortraitY": { - "0": { "Speech": 5 } - }, - "Portuguese": { - "0": { "Tumbleweed": 1 } - }, - "Position": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "AudioChannel": 6 }, - "4": { "AudioClip": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "File": 5 }, - "7": { "ObsoleteScriptAPI": 3 } - }, - "PositionMs": { - "0": { "AudioChannel": 7 } - }, - "Positional": { - "0": { "EditorRoom": 1 } - }, - "Positive": { - "0": { "Character": 1 } - }, - "Possible": { - "0": { "Dictionary": 2 }, - "1": { "EngineConfigFile": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 1 }, - "4": { "GUI": 1 }, - "5": { "Set": 2 }, - "6": { "TemplateSierraStyle": 1 } - }, - "Post": { - "0": { "ContactingTheDevelopers": 1 } - }, - "Poulton": { - "0": { "Credits": 1 } - }, - "PrecacheSprite": { - "0": { "Game": 6 } - }, - "PrecacheView": { - "0": { "Game": 4 } - }, - "Prefer": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Preferences": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "BuildAndroid": 2 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EditorPreferences": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "Preprocessor": { - "0": { "Preprocessor": 3 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "Presents": { - "0": { "Dialog": 1 } - }, - "Press": { - "0": { "acintro2": 1 }, - "1": { "Debuggingfeatures": 1 } - }, - "Pressed": { - "0": { "Keycodes": 1 } - }, - "Pressing": { - "0": { "Debuggingfeatures": 1 } - }, - "Preview": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 4 }, - "3": { "EditorFont": 1 }, - "4": { "EditorView": 2 }, - "5": { "Settingupthegame": 1 } - }, - "Previous": { - "0": { "KeyboardShortcuts": 4 }, - "1": { "StandardEnums": 1 } - }, - "PreviousRoom": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Previously": { - "0": { "acintro5": 1 }, - "1": { "UpgradeTo35": 1 }, - "2": { "UpgradeTo36": 2 }, - "3": { "UpgradeTo361": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "Print": { - "0": { "GeneralSettings": 1 } - }, - "PrintDebugConsole": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Prints": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "System": 1 } - }, - "Prior": { - "0": { "AudioChannel": 1 }, - "1": { "MIDI-playback": 1 }, - "2": { "Multimedia": 2 } - }, - "Priorities": { - "0": { "MusicAndSound": 1 } - }, - "ProTracker": { - "0": { "MusicAndSound": 1 } - }, - "Probably": { - "0": { "acintro8": 1 } - }, - "ProcessClick": { - "0": { "BlockingScripts": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "GUI": 7 }, - "5": { "Hotspot": 1 }, - "6": { "InventoryItem": 1 }, - "7": { "Mouse": 2 }, - "8": { "Object": 1 }, - "9": { "ObsoleteScriptAPI": 2 }, - "10": { "Room": 6 }, - "11": { "StandardEnums": 1 }, - "12": { "UpgradeTo34": 2 } - }, - "Processes": { - "0": { "Hotspot": 1 }, - "1": { "String": 1 } - }, - "ProgZmax": { - "0": { "Credits": 1 } - }, - "Program": { - "0": { "EditorPreferences": 1 }, - "1": { "Plugins": 1 }, - "2": { "Setup": 1 }, - "3": { "UpgradeTo335": 1 } - }, - "Programming": { - "0": { "OOProgramming": 1 }, - "1": { "ScriptAPIOverview": 1 } - }, - "ProjMatrix": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Project": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 3 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 1 }, - "8": { "Copyright": 1 }, - "9": { "EditorCharacter": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EditorFont": 1 }, - "12": { "EditorPlugins": 3 }, - "13": { "EditorRoom": 1 }, - "14": { "ScriptModules": 2 } - }, - "Projection": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Prompt": { - "0": { "EditorPreferences": 1 } - }, - "Proper": { - "0": { "GeneralSettings": 2 }, - "1": { "UpgradeTo33": 2 } - }, - "Properties": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 1 }, - "8": { "CustomProperties": 4 }, - "9": { "Dictionary": 1 }, - "10": { "EditorGUI": 6 }, - "11": { "EditorInventoryItems": 1 }, - "12": { "EditorRoom": 6 }, - "13": { "EditorSprite": 2 }, - "14": { "EditorView": 1 }, - "15": { "EnginePluginDesign-timeAPI": 2 }, - "16": { "EventTypes": 1 }, - "17": { "FAQ": 1 }, - "18": { "OtherFeatures": 1 }, - "19": { "Screen": 1 }, - "20": { "Set": 1 }, - "21": { "UpgradeTo34": 1 } - }, - "Property": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "CustomProperties": 1 }, - "3": { "MusicAndSound": 2 } - }, - "Protection": { - "0": { "OOProgramming": 1 } - }, - "Provides": { - "0": { "GUI": 1 } - }, - "Public": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "Pull": { - "0": { "Tumbleweed": 1 } - }, - "Push": { - "0": { "Tumbleweed": 1 } - }, - "PushedGraphic": { - "0": { "Button": 7 } - }, - "Put": { - "0": { "acintro7": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DialogOptionsRenderingInfo": 3 }, - "3": { "EditorView": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "RepExec": 2 }, - "6": { "ScriptingTutorialPart1": 1 } - }, - "Puts": { - "0": { "GeneralSettings": 3 } - }, - "Putting": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "TextParser": 1 } - }, - "Quest": { - "0": { "acintro2": 2 }, - "1": { "acintro8": 1 }, - "2": { "FAQ": 4 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_Palette": 1 } - }, - "Questions": { - "0": { "FAQ": 1 } - }, - "QueueGameScriptFunction": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Queues": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Quick": { - "0": { "UpgradeTo30": 1 } - }, - "Quit": { - "0": { "KeyboardShortcuts": 1 } - }, - "QuitGame": { - "0": { "Globalfunctions_General": 5 }, - "1": { "UpgradingTo27": 1 } - }, - "Quite": { - "0": { "AudioInScript": 1 } - }, - "Quits": { - "0": { "Globalfunctions_General": 1 } - }, - "RAD": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "RADIUS": { - "0": { "DrawingSurface": 1 } - }, - "RAM": { - "0": { "EngineConfigFile": 1 }, - "1": { "Setup": 2 } - }, - "READ": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "README": { - "0": { "Templates": 2 } - }, - "REALLY": { - "0": { "Game": 1 } - }, - "RED": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "Object": 1 }, - "6": { "Region": 1 } - }, - "REGIONS": { - "0": { "Constants": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GlobalArrays": 1 } - }, - "REMEMBER": { - "0": { "ContactingTheDevelopers": 1 } - }, - "REMINDER": { - "0": { "UpgradeTo34": 1 } - }, - "RESTOREGAME": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "RESULTING": { - "0": { "Copyright": 1 } - }, - "RETURN": { - "0": { "DialogScript": 1 } - }, - "RGB": { - "0": { "acintro1": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Palette": 1 }, - "6": { "Globalfunctions_Screen": 2 }, - "7": { "Object": 1 }, - "8": { "Region": 8 }, - "9": { "Settingupthegame": 1 } - }, - "RGBA": { - "0": { "BuildAndroid": 5 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "RIGHT": { - "0": { "Translations": 3 } - }, - "RIGHTTOLEFT": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Translations": 1 } - }, - "RLE": { - "0": { "DistGame": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "RMB": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorRoom": 1 } - }, - "ROLLEYES": { - "0": { "Mouse": 2 } - }, - "ROM": { - "0": { "Multimedia": 1 } - }, - "ROOM": { - "0": { "BackingUpYourGame": 2 }, - "1": { "Character": 1 }, - "2": { "DrawingSurface": 3 }, - "3": { "Game": 1 }, - "4": { "GameSavesCompatibility": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Globalfunctions_Room": 2 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "Object": 1 }, - "10": { "Region": 1 } - }, - "RPG-style": { - "0": { "GeneralSettings": 1 } - }, - "RUBSTOMACH": { - "0": { "RepExec": 1 } - }, - "RUN": { - "0": { "DialogScript": 4 } - }, - "RadiansToDegrees": { - "0": { "Maths": 8 } - }, - "Radiant's": { - "0": { "acintro9": 1 } - }, - "Radius": { - "0": { "TemplateVerbcoin": 2 } - }, - "RaiseToPower": { - "0": { "Maths": 4 } - }, - "Random": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "GUI": 1 } - }, - "RandomChar": { - "0": { "ImportingFunctionsAndVariables": 3 } - }, - "Rather": { - "0": { "acintro7": 1 }, - "1": { "Templates": 1 }, - "2": { "TemplateVerbcoin": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "Raw": { - "0": { "InventoryItem": 1 } - }, - "RawClearScreen": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDraw": { - "0": { "UpgradeTo30": 3 } - }, - "RawDrawCircle": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawFrameTransparent": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawImage": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "RawDrawImageResized": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawImageTransparent": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawLine": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawRectangle": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawDrawTriangle": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawPrint": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawPrintMessageWrapped": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawRestoreScreen": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawSaveScreen": { - "0": { "DrawingSurface": 2 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawSetColor": { - "0": { "DrawingSurface": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawSetColorRGB": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RawTime": { - "0": { "DateTime": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Re-enables": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Mouse": 1 } - }, - "Reaction": { - "0": { "GameEventsOrder": 1 } - }, - "Read": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "ReadAndUpdateGUIControl": { - "0": { "GUIControl": 1 } - }, - "ReadByte": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "ReadGUIConfig": { - "0": { "GUI": 1 } - }, - "ReadInt": { - "0": { "File": 5 }, - "1": { "GUI": 2 }, - "2": { "GUIControl": 2 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "ReadIntBack": { - "0": { "File": 1 } - }, - "ReadRawChar": { - "0": { "File": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReadRawInt": { - "0": { "File": 7 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReadRawLine": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReadRawLineBack": { - "0": { "File": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReadString": { - "0": { "File": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReadStringBack": { - "0": { "File": 11 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 1 }, - "3": { "ObsoleteScriptAPI": 2 } - }, - "Reading": { - "0": { "acintro9": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "Settingupthegame": 1 } - }, - "Reads": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "File": 5 } - }, - "Real": { - "0": { "acintro8": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "RealName": { - "0": { "acintro7": 3 }, - "1": { "acintro8": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Reason": { - "0": { "Globalfunctions_Wait": 5 } - }, - "Recap": { - "0": { "acintro5": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "Recent": { - "0": { "SystemRequirements": 1 } - }, - "Rectangle": { - "0": { "acintro2": 1 } - }, - "Rectangular": { - "0": { "KeyboardShortcuts": 1 } - }, - "Red": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 1 } - }, - "Redirection": { - "0": { "UpgradeTo335": 1 } - }, - "Redistributable": { - "0": { "SystemRequirements": 1 } - }, - "Redo": { - "0": { "KeyboardShortcuts": 1 } - }, - "Reduce": { - "0": { "KeyboardShortcuts": 1 } - }, - "Reed": { - "0": { "Credits": 1 } - }, - "Refer": { - "0": { "FAQ": 1 } - }, - "Reference": { - "0": { "EditorPlugins": 1 } - }, - "RefreshMouse": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Region": { - "0": { "Character": 3 }, - "1": { "EventTypes": 4 }, - "2": { "GlobalArrays": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Globalfunctions_Room": 7 }, - "5": { "Hotspot": 4 }, - "6": { "Object": 4 }, - "7": { "ObsoleteScriptAPI": 5 }, - "8": { "Region": 89 }, - "9": { "ScriptAPIOverview": 1 }, - "10": { "Scripting": 1 } - }, - "Region's": { - "0": { "Region": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "Regions": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorRoom": 2 }, - "2": { "GlobalArrays": 1 }, - "3": { "SystemLimits": 1 } - }, - "RegisterButton": { - "0": { "TemplateVerbcoin": 6 } - }, - "RegisterManagedObject": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "RegisterScriptFunction": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "RegisterScriptHeader": { - "0": { "EnginePluginDesign-timeAPI": 4 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "RegisterUnserializedObject": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "Registers": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "TemplateVerbcoin": 4 } - }, - "Regular": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Reinstall": { - "0": { "Templates": 1 } - }, - "Relating": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "Relative": { - "0": { "DefaultSetup": 1 }, - "1": { "Game": 1 } - }, - "Release": { - "0": { "DrawingSurface": 24 }, - "1": { "DynamicSprite": 15 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Globalfunctions_Room": 4 }, - "7": { "Hotspot": 2 }, - "8": { "Region": 2 }, - "9": { "Room": 3 }, - "10": { "UpgradeTo30": 1 } - }, - "ReleaseBitmapSurface": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "ReleaseCharacterView": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ReleaseViewport": { - "0": { "Globalfunctions_Room": 3 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "Releases": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Introduction": 1 } - }, - "Remainder": { - "0": { "ScriptKeywords": 1 } - }, - "Remap": { - "0": { "EditorPreferences": 2 } - }, - "Remember": { - "0": { "acintro4": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro8": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "FAQ": 1 }, - "6": { "Keycodes": 1 }, - "7": { "RepExec": 1 }, - "8": { "ScriptingTutorialPart2": 1 } - }, - "Remove": { - "0": { "Character": 1 }, - "1": { "Dictionary": 3 }, - "2": { "EditorView": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Overlay": 18 }, - "5": { "Set": 4 }, - "6": { "Speech": 1 } - }, - "RemoveExtension": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "Tumbleweed_extensions": 2 } - }, - "RemoveItem": { - "0": { "ListBox": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RemoveObjectTint": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RemoveOverlay": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 1 } - }, - "RemoveTint": { - "0": { "Character": 8 }, - "1": { "Object": 6 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "RemoveWalkableArea": { - "0": { "Globalfunctions_Room": 5 }, - "1": { "Hotspot": 1 }, - "2": { "Object": 1 }, - "3": { "Region": 1 } - }, - "Removed": { - "0": { "UpgradeTo35": 3 }, - "1": { "UpgradeTo36": 4 } - }, - "Removes": { - "0": { "Camera": 1 }, - "1": { "Character": 1 }, - "2": { "Dictionary": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "ListBox": 2 }, - "6": { "Overlay": 1 }, - "7": { "ScriptModules": 1 }, - "8": { "Set": 2 }, - "9": { "Viewport": 1 } - }, - "Removing": { - "0": { "GameSavesCompatibility": 2 } - }, - "Rename": { - "0": { "ScriptModules": 1 } - }, - "Render": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Setup": 1 } - }, - "RenderAtScreenResolution": { - "0": { "System": 2 } - }, - "RenderText": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "RepExec": { - "0": { "EventTypes": 1 }, - "1": { "RepExec": 2 } - }, - "Repeat": { - "0": { "AudioClip": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "RepeatStyle": { - "0": { "AudioClip": 4 }, - "1": { "Button": 3 }, - "2": { "Character": 3 }, - "3": { "Object": 4 }, - "4": { "StandardEnums": 2 } - }, - "Repeatedly": { - "0": { "EventTypes": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "RepExec": 1 } - }, - "Replace": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 4 }, - "2": { "ColoursEditor": 1 }, - "3": { "EditorSprite": 2 }, - "4": { "KeyboardShortcuts": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "StandardEnums": 1 }, - "7": { "String": 4 } - }, - "ReplaceChar": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "ReplaceCharAt": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 6 } - }, - "ReplaceFontRenderer": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "Replaces": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Overlay": 1 }, - "2": { "Screen": 4 } - }, - "RequestEventHook": { - "0": { "EnginePluginRun-timeAPI": 6 } - }, - "Requested": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Requests": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "RequiredAGSVersion": { - "0": { "EditorPlugins": 2 } - }, - "Requirements": { - "0": { "EditorPlugins": 1 }, - "1": { "GraphicsDriver": 1 }, - "2": { "Introduction": 1 }, - "3": { "SystemRequirements": 1 } - }, - "ResetDoOnceOnly": { - "0": { "Game": 4 } - }, - "ResetRoom": { - "0": { "CustomProperties": 1 }, - "1": { "Globalfunctions_Room": 5 } - }, - "Resize": { - "0": { "DynamicSprite": 10 }, - "1": { "UpgradeTo36": 1 } - }, - "Resizes": { - "0": { "DynamicSprite": 1 } - }, - "Resizing": { - "0": { "DynamicArrays": 1 }, - "1": { "DynamicSprite": 1 } - }, - "Resolution": { - "0": { "acintro1": 4 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "Settingupthegame": 2 } - }, - "ResolveFilePath": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "ResolvePath": { - "0": { "File": 3 } - }, - "Resolves": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 1 } - }, - "Resources": { - "0": { "Plugins": 1 } - }, - "Rest-of-Line": { - "0": { "TextParser": 1 } - }, - "Restart": { - "0": { "Globalfunctions_General": 1 } - }, - "RestartGame": { - "0": { "Globalfunctions_General": 4 } - }, - "Restarts": { - "0": { "Globalfunctions_General": 1 } - }, - "Restore": { - "0": { "EditorSprite": 3 }, - "1": { "KeyboardShortcuts": 1 } - }, - "RestoreGameDialog": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 5 }, - "2": { "Parser": 1 } - }, - "RestoreGameSlot": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 6 }, - "2": { "ListBox": 2 } - }, - "RestoreWalkableArea": { - "0": { "Globalfunctions_Room": 5 }, - "1": { "Hotspot": 1 }, - "2": { "Object": 1 }, - "3": { "Region": 1 } - }, - "Restores": { - "0": { "Globalfunctions_General": 1 } - }, - "Restricts": { - "0": { "Mouse": 1 } - }, - "Result": { - "0": { "ScriptKeywords": 2 } - }, - "Resulting": { - "0": { "Screen": 2 }, - "1": { "Viewport": 2 } - }, - "Resume": { - "0": { "AudioChannel": 6 } - }, - "Resumes": { - "0": { "AudioChannel": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Retrieves": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "Speech": 2 } - }, - "Return": { - "0": { "acintro9": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "Keycodes": 1 }, - "6": { "Maths": 2 }, - "7": { "Settingupthegame": 1 } - }, - "Returned": { - "0": { "StandardEnums": 1 } - }, - "Returning": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "Returns": { - "0": { "AudioChannel": 3 }, - "1": { "AudioClip": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 21 }, - "4": { "Dialog": 2 }, - "5": { "DialogScript": 1 }, - "6": { "Dictionary": 6 }, - "7": { "DrawingSurface": 1 }, - "8": { "DynamicSprite": 4 }, - "9": { "EnginePluginDesign-timeAPI": 2 }, - "10": { "EnginePluginRun-timeAPI": 58 }, - "11": { "File": 1 }, - "12": { "Game": 25 }, - "13": { "Globalfunctions_General": 13 }, - "14": { "Globalfunctions_Room": 9 }, - "15": { "Globalfunctions_Wait": 4 }, - "16": { "GUI": 2 }, - "17": { "GUIControl": 3 }, - "18": { "Hotspot": 7 }, - "19": { "InventoryItem": 6 }, - "20": { "ListBox": 1 }, - "21": { "Maths": 3 }, - "22": { "Mouse": 3 }, - "23": { "Multimedia": 4 }, - "24": { "Object": 14 }, - "25": { "Overlay": 1 }, - "26": { "Parser": 1 }, - "27": { "Region": 3 }, - "28": { "Room": 14 }, - "29": { "Screen": 3 }, - "30": { "ScriptingTutorialPart1": 2 }, - "31": { "Set": 7 }, - "32": { "String": 14 }, - "33": { "System": 9 }, - "34": { "TemplateVerbcoin": 2 }, - "35": { "Tumbleweed_door": 1 }, - "36": { "Tumbleweed_extensions": 2 }, - "37": { "Tumbleweed_helper": 5 }, - "38": { "Tumbleweed_movement": 6 }, - "39": { "ViewFrame": 3 }, - "40": { "Viewport": 2 } - }, - "Reusing": { - "0": { "GameSavesCompatibility": 1 } - }, - "ReversedClicks": { - "0": { "TemplateBASS": 3 } - }, - "Rich": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "Right": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "Camera": 1 }, - "5": { "EditorCharacter": 1 }, - "6": { "EditorCursor": 1 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorFont": 1 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorSprite": 2 }, - "11": { "EditorView": 2 }, - "12": { "KeyboardShortcuts": 1 }, - "13": { "Keycodes": 7 }, - "14": { "Plugins": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "ScriptKeywords": 1 }, - "17": { "ScriptModules": 2 }, - "18": { "Tumbleweed": 1 } - }, - "Right-click": { - "0": { "acintro4": 2 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "Settingupthegame": 2 }, - "5": { "TroubleshootingWindowsZoneID": 1 } - }, - "Right-clicking": { - "0": { "acintro6": 1 } - }, - "Right-to-Left": { - "0": { "GeneralSettings": 1 } - }, - "Right-to-left": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Translations": 1 } - }, - "RightEdge": { - "0": { "Room": 6 } - }, - "RightEdgeX": { - "0": { "EditorRoom": 1 } - }, - "Rightclick": { - "0": { "MusicAndSound": 1 } - }, - "Rittenhouse": { - "0": { "Credits": 1 } - }, - "Robinson": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "Rock": { - "0": { "Object": 3 } - }, - "Roger": { - "0": { "acintro7": 3 }, - "1": { "acintro8": 1 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "GeneralSettings": 3 } - }, - "Roger's": { - "0": { "acintro1": 2 }, - "1": { "acintro7": 1 } - }, - "Ron": { - "0": { "acintro7": 1 } - }, - "Room": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 14 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 2 }, - "4": { "acintro7": 4 }, - "5": { "acintro9": 2 }, - "6": { "BlockingScripts": 1 }, - "7": { "Camera": 12 }, - "8": { "Character": 6 }, - "9": { "CustomProperties": 4 }, - "10": { "DefaultSetup": 1 }, - "11": { "DrawingSurface": 22 }, - "12": { "DynamicSprite": 9 }, - "13": { "EditorRoom": 9 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "EventTypes": 6 }, - "16": { "FAQ": 4 }, - "17": { "Game": 3 }, - "18": { "GameSavesCompatibility": 6 }, - "19": { "GlobalArrays": 2 }, - "20": { "Globalfunctions_Event": 2 }, - "21": { "Globalfunctions_General": 6 }, - "22": { "Globalfunctions_Message": 1 }, - "23": { "Globalfunctions_Room": 4 }, - "24": { "GUI": 1 }, - "25": { "Hotspot": 2 }, - "26": { "ImportingFunctionsAndVariables": 1 }, - "27": { "InventoryItem": 1 }, - "28": { "KeyboardShortcuts": 1 }, - "29": { "Mouse": 1 }, - "30": { "Object": 1 }, - "31": { "ObsoleteScriptAPI": 8 }, - "32": { "Region": 3 }, - "33": { "RepExec": 1 }, - "34": { "Room": 82 }, - "35": { "ScriptAPIOverview": 2 }, - "36": { "Scripting": 1 }, - "37": { "ScriptKeywords": 4 }, - "38": { "StandardEnums": 1 }, - "39": { "System": 2 }, - "40": { "SystemLimits": 1 }, - "41": { "Tumbleweed_door": 1 }, - "42": { "UpgradeTo30": 2 }, - "43": { "UpgradeTo34": 4 }, - "44": { "UpgradeTo35": 3 }, - "45": { "UpgradeTo36": 2 }, - "46": { "Viewport": 6 } - }, - "Room's": { - "0": { "acintro2": 1 } - }, - "RoomToScreenPoint": { - "0": { "Screen": 7 }, - "1": { "UpgradeTo35": 2 }, - "2": { "Viewport": 6 } - }, - "RoomToViewport": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Rooms": { - "0": { "acintro2": 5 }, - "1": { "Character": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "SystemLimits": 2 }, - "5": { "UpgradeTo35": 1 } - }, - "Rosenkraenzer": { - "0": { "Credits": 1 } - }, - "Rotate": { - "0": { "DynamicSprite": 6 } - }, - "RotatedAvatar": { - "0": { "DynamicSprite": 1 } - }, - "Rotates": { - "0": { "DynamicSprite": 1 } - }, - "Rotating": { - "0": { "DynamicSprite": 2 } - }, - "Rotation": { - "0": { "DefaultSetup": 1 } - }, - "Round": { - "0": { "Maths": 6 } - }, - "RoundDirection": { - "0": { "Maths": 2 }, - "1": { "StandardEnums": 2 } - }, - "Rounded": { - "0": { "UpgradeTo36": 1 } - }, - "RowCount": { - "0": { "InvWindow": 8 }, - "1": { "ListBox": 3 } - }, - "Rudd": { - "0": { "Credits": 1 } - }, - "Rui": { - "0": { "Credits": 1 } - }, - "Ruiz": { - "0": { "Credits": 1 } - }, - "Run": { - "0": { "acintro2": 3 }, - "1": { "Debuggingfeatures": 2 }, - "2": { "EditorGUI": 1 }, - "3": { "FAQ": 2 }, - "4": { "Game": 3 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Introduction": 1 }, - "8": { "KeyboardShortcuts": 2 }, - "9": { "Translations": 1 }, - "10": { "TroubleshootingWindowsZoneID": 1 }, - "11": { "UpgradeTo30": 6 } - }, - "Run-time": { - "0": { "DefaultSetup": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "EnginePlugins": 2 }, - "3": { "Plugins": 1 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Setup": 1 } - }, - "RunAGSGame": { - "0": { "Globalfunctions_General": 3 } - }, - "RunActiveOption": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DialogOptionsRenderingInfo": 4 }, - "2": { "UpgradeTo34": 2 } - }, - "RunCharacterInteraction": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RunDialog": { - "0": { "Dialog": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RunHotspotInteraction": { - "0": { "Hotspot": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RunInteraction": { - "0": { "Character": 7 }, - "1": { "EventTypes": 1 }, - "2": { "Hotspot": 8 }, - "3": { "InventoryItem": 6 }, - "4": { "Object": 7 }, - "5": { "ObsoleteScriptAPI": 4 }, - "6": { "Region": 6 }, - "7": { "Room": 1 }, - "8": { "StandardEnums": 4 } - }, - "RunInventoryInteraction": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RunObjectInteraction": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "RunRegionInteraction": { - "0": { "ObsoleteScriptAPI": 2 }, - "1": { "Region": 1 } - }, - "Running": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "System": 1 } - }, - "Runs": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 1 }, - "5": { "ScriptKeywords": 1 } - }, - "RuntimeInfo": { - "0": { "Globalfunctions_General": 1 }, - "1": { "System": 4 } - }, - "Ryan": { - "0": { "Copyright": 1 }, - "1": { "Credits": 2 }, - "2": { "DistGame": 1 } - }, - "SAFE": { - "0": { "GameSavesCompatibility": 2 } - }, - "SATURATION": { - "0": { "Character": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Object": 2 } - }, - "SAVED": { - "0": { "Constants": 1 } - }, - "SAVEGAME": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "SAVEGAMEDIR": { - "0": { "DefaultSetup": 1 }, - "1": { "File": 24 }, - "2": { "GUI": 1 }, - "3": { "GUIControl": 1 }, - "4": { "ListBox": 1 }, - "5": { "UpgradeTo335": 2 } - }, - "SAVEGAMESCREENSHOTS": { - "0": { "Globalfunctions_General": 1 } - }, - "SAVESLOT": { - "0": { "DynamicSprite": 1 } - }, - "SCI": { - "0": { "acintro9": 6 }, - "1": { "ColoursEditor": 1 }, - "2": { "EditorFont": 1 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "FAQ": 1 }, - "5": { "Label": 1 }, - "6": { "Settingupthegame": 8 } - }, - "SCORE": { - "0": { "EditorGUI": 2 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "Label": 2 } - }, - "SCORETEXT": { - "0": { "EditorGUI": 1 }, - "1": { "Label": 1 } - }, - "SCR": { - "0": { "Constants": 1 }, - "1": { "StandardEnums": 1 } - }, - "SCREEN": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 3 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Hotspot": 1 }, - "5": { "InventoryItem": 2 }, - "6": { "Object": 1 }, - "7": { "Region": 1 } - }, - "SCRIPT": { - "0": { "Constants": 30 }, - "1": { "DialogScript": 1 }, - "2": { "Preprocessor": 2 } - }, - "SCRIPTDEBUG": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "SCRIPTNAME": { - "0": { "acintro8": 1 } - }, - "SCROLL": { - "0": { "Debuggingfeatures": 1 }, - "1": { "System": 1 } - }, - "SCUMM": { - "0": { "Tumbleweed": 1 }, - "1": { "Tumbleweed_actions": 1 } - }, - "SDK": { - "0": { "BuildAndroid": 12 }, - "1": { "EditorPreferences": 1 } - }, - "SDL": { - "0": { "Copyright": 2 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 2 } - }, - "SDL's": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "SEEK": { - "0": { "EnginePluginRun-timeAPI": 6 } - }, - "SELECTED": { - "0": { "Dialog": 2 } - }, - "SELLER": { - "0": { "Copyright": 1 } - }, - "SET": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "SETTINGS": { - "0": { "GUI": 1 } - }, - "SHALL": { - "0": { "Copyright": 1 } - }, - "SIZE": { - "0": { "Constants": 1 }, - "1": { "GlobalArrays": 1 } - }, - "SLOT": { - "0": { "DrawingSurface": 1 }, - "1": { "Game": 1 }, - "2": { "Gamevariables": 6 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Globalfunctions_Palette": 2 }, - "5": { "Mouse": 1 }, - "6": { "Overlay": 3 } - }, - "SOFTWARE": { - "0": { "Copyright": 2 } - }, - "SOMEGUY": { - "0": { "Character": 1 } - }, - "SPD": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "SPECIAL": { - "0": { "Copyright": 1 } - }, - "SPEECH": { - "0": { "Multimedia": 1 } - }, - "SPEECHREF": { - "0": { "AutonumberSpeechFiles": 1 } - }, - "SPEED": { - "0": { "Character": 6 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Globalfunctions_Screen": 2 }, - "3": { "Object": 1 } - }, - "SPR": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Templates": 1 } - }, - "SPRITELOAD": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "START": { - "0": { "Globalfunctions_Palette": 2 } - }, - "STATUSLINE": { - "0": { "GUI": 2 } - }, - "STOP": { - "0": { "DialogScript": 2 } - }, - "STRICT": { - "0": { "Constants": 4 } - }, - "STRING": { - "0": { "String": 1 } - }, - "STRINGS": { - "0": { "Constants": 3 } - }, - "STUDIO": { - "0": { "Copyright": 1 } - }, - "SUPPORTS": { - "0": { "Constants": 1 } - }, - "SWIMMING": { - "0": { "Game": 10 } - }, - "Sadly": { - "0": { "Tumbleweed": 1 } - }, - "Said": { - "0": { "Dialog": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Parser": 7 }, - "3": { "ScriptKeywords": 5 }, - "4": { "Settingupthegame": 1 }, - "5": { "TextParser": 10 } - }, - "SaidUnknownWord": { - "0": { "Parser": 4 }, - "1": { "TextParser": 1 } - }, - "Sam": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 1 } - }, - "Same": { - "0": { "DynamicArrays": 1 }, - "1": { "Viewport": 1 } - }, - "Sample": { - "0": { "EditorPlugins": 1 } - }, - "Saturation": { - "0": { "Region": 4 } - }, - "Save": { - "0": { "acintro3": 1 }, - "1": { "acintro6": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 4 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "GUIControl": 1 }, - "7": { "KeyboardShortcuts": 2 }, - "8": { "ListBox": 2 }, - "9": { "Plugins": 1 }, - "10": { "UpgradeTo30": 2 } - }, - "SaveConfigToFile": { - "0": { "System": 2 } - }, - "SaveCursorForLocationChange": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SaveCursorUntilItLeaves": { - "0": { "Mouse": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SaveGameDialog": { - "0": { "Globalfunctions_General": 5 } - }, - "SaveGameSlot": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 6 }, - "2": { "UpgradingTo27": 1 } - }, - "SaveGameSlots": { - "0": { "ListBox": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SaveScreenShot": { - "0": { "DynamicSprite": 1 }, - "1": { "Globalfunctions_General": 3 } - }, - "SaveToFile": { - "0": { "DynamicSprite": 3 }, - "1": { "Globalfunctions_General": 1 } - }, - "Saved": { - "0": { "EngineConfigFile": 2 }, - "1": { "Game": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Setup": 1 } - }, - "Saves": { - "0": { "DynamicSprite": 1 }, - "1": { "Game": 4 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Mouse": 1 } - }, - "Saving": { - "0": { "UpgradeTo30": 1 } - }, - "Say": { - "0": { "acintro8": 3 }, - "1": { "AutonumberSpeechFiles": 2 }, - "2": { "BlockingScripts": 2 }, - "3": { "Character": 14 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "Dialog": 1 }, - "6": { "DialogScript": 7 }, - "7": { "EditorDialog": 3 }, - "8": { "ExtenderFunctions": 2 }, - "9": { "FAQ": 1 }, - "10": { "Game": 2 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 4 }, - "13": { "Globalfunctions_Message": 1 }, - "14": { "ObsoleteScriptAPI": 1 }, - "15": { "ScriptKeywords": 3 }, - "16": { "Settingupthegame": 1 }, - "17": { "Speech": 1 }, - "18": { "TextWindowGUI": 2 }, - "19": { "Translations": 1 }, - "20": { "Tumbleweed": 7 }, - "21": { "Tumbleweed_movement": 2 }, - "22": { "Tumbleweed_unhandled": 1 }, - "23": { "UpgradeTo35": 7 }, - "24": { "VoiceSpeech": 4 } - }, - "SayAndAnimate": { - "0": { "ExtenderFunctions": 2 } - }, - "SayAt": { - "0": { "Character": 4 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "SayBackground": { - "0": { "Character": 6 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "Scale": { - "0": { "GeneralSettings": 2 } - }, - "ScaleMoveSpeed": { - "0": { "Character": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ScaleVolume": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 9 }, - "2": { "ViewFrame": 1 } - }, - "Scaling": { - "0": { "Character": 6 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "Object": 4 }, - "4": { "Setup": 1 } - }, - "ScalingMultiplier": { - "0": { "UpgradeTo35": 1 } - }, - "Schema": { - "0": { "CustomProperties": 2 } - }, - "Schleu": { - "0": { "Credits": 1 } - }, - "Scope": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Score": { - "0": { "EditorGUI": 1 }, - "1": { "Label": 1 } - }, - "Scott": { - "0": { "Credits": 2 } - }, - "Scream": { - "0": { "ExtenderFunctions": 5 } - }, - "ScreamTracker": { - "0": { "MusicAndSound": 1 } - }, - "Screen": { - "0": { "acintro4": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "Camera": 11 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "Mouse": 6 }, - "7": { "ObsoleteScriptAPI": 4 }, - "8": { "Screen": 29 }, - "9": { "ScriptAPIOverview": 1 }, - "10": { "Scripting": 1 }, - "11": { "System": 12 }, - "12": { "UpgradeTo35": 11 }, - "13": { "Viewport": 49 } - }, - "ScreenHeight": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Screen": 1 }, - "2": { "System": 5 }, - "3": { "UpgradeTo35": 1 } - }, - "ScreenToRoomPoint": { - "0": { "Screen": 6 }, - "1": { "UpgradeTo35": 3 }, - "2": { "Viewport": 6 } - }, - "ScreenWidth": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Screen": 1 }, - "2": { "System": 5 }, - "3": { "UpgradeTo35": 3 } - }, - "Screenshot": { - "0": { "EditorInventoryItems": 1 } - }, - "Screenshots": { - "0": { "Gamevariables": 2 } - }, - "Script": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "Character": 3 }, - "6": { "Constants": 1 }, - "7": { "Credits": 1 }, - "8": { "DialogScript": 1 }, - "9": { "EditorCharacter": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EditorGUI": 1 }, - "12": { "EditorLogPanel": 1 }, - "13": { "EditorPreferences": 7 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "EventTypes": 1 }, - "16": { "FAQ": 3 }, - "17": { "GameSavesCompatibility": 1 }, - "18": { "GeneralSettings": 2 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "ImportingFunctionsAndVariables": 1 }, - "22": { "InventoryItem": 1 }, - "23": { "KeyboardShortcuts": 2 }, - "24": { "MultipleScripts": 2 }, - "25": { "ObsoleteScriptAPI": 2 }, - "26": { "OOProgramming": 2 }, - "27": { "Preprocessor": 2 }, - "28": { "ScriptAPIOverview": 5 }, - "29": { "Scripting": 1 }, - "30": { "ScriptingLanguage": 2 }, - "31": { "ScriptingTutorialPart1": 5 }, - "32": { "ScriptingTutorialPart2": 3 }, - "33": { "ScriptKeywords": 2 }, - "34": { "ScriptModules": 8 }, - "35": { "SystemLimits": 1 }, - "36": { "UnicodeSupport": 1 }, - "37": { "UpgradeTo30": 1 }, - "38": { "UpgradeTo33": 1 }, - "39": { "UpgradeTo34": 5 }, - "40": { "UpgradeTo341": 3 }, - "41": { "UpgradeTo35": 2 }, - "42": { "UpgradeTo36": 1 }, - "43": { "UpgradingTo27": 1 }, - "44": { "VoiceSpeech": 1 } - }, - "ScriptAFunction": { - "0": { "ImportingFunctionsAndVariables": 2 } - }, - "ScriptName": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "AudioClip": 4 }, - "3": { "Character": 4 }, - "4": { "Dialog": 4 }, - "5": { "GUI": 3 }, - "6": { "GUIControl": 4 }, - "7": { "Hotspot": 4 }, - "8": { "InventoryItem": 4 }, - "9": { "Object": 4 }, - "10": { "Settingupthegame": 1 } - }, - "Scripting": { - "0": { "acintro": 1 }, - "1": { "acintro3": 3 }, - "2": { "Constants": 1 }, - "3": { "FAQ": 1 }, - "4": { "Scripting": 1 }, - "5": { "ScriptingLanguage": 1 }, - "6": { "ScriptingTutorial": 3 }, - "7": { "ScriptingTutorialPart1": 2 }, - "8": { "ScriptingTutorialPart2": 3 }, - "9": { "Settingupthegame": 1 }, - "10": { "UpgradeTo30": 1 }, - "11": { "UpgradeTo31": 1 }, - "12": { "UpgradeTo36": 1 } - }, - "Scripts": { - "0": { "MultipleScripts": 3 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptModules": 1 }, - "4": { "Settingupthegame": 1 } - }, - "Scroll": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "Camera": 3 }, - "3": { "KeyboardShortcuts": 2 }, - "4": { "ListBox": 1 }, - "5": { "System": 3 } - }, - "ScrollDown": { - "0": { "EditorGUI": 1 }, - "1": { "InvWindow": 4 }, - "2": { "ListBox": 5 } - }, - "ScrollLock": { - "0": { "System": 5 } - }, - "ScrollUp": { - "0": { "EditorGUI": 1 }, - "1": { "InvWindow": 4 }, - "2": { "ListBox": 5 } - }, - "Scrolling": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "Scrolls": { - "0": { "InvWindow": 2 }, - "1": { "ListBox": 2 } - }, - "Sdk": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorPreferences": 1 } - }, - "Search": { - "0": { "ContactingTheDevelopers": 1 } - }, - "Second": { - "0": { "DateTime": 4 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ListBox": 4 }, - "5": { "Preprocessor": 1 }, - "6": { "UpgradeTo34": 1 } - }, - "Secondly": { - "0": { "UpgradeTo36": 2 } - }, - "Section": { - "0": { "acintro9": 1 } - }, - "Security": { - "0": { "Plugins": 1 }, - "1": { "TroubleshootingWindowsZoneID": 2 } - }, - "Sedlak": { - "0": { "Credits": 1 } - }, - "See": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "AudioChannel": 14 }, - "4": { "AudioClip": 11 }, - "5": { "AudioInScript": 1 }, - "6": { "Button": 15 }, - "7": { "Camera": 10 }, - "8": { "Character": 82 }, - "9": { "CustomProperties": 1 }, - "10": { "DateTime": 8 }, - "11": { "DefaultSetup": 1 }, - "12": { "Dialog": 11 }, - "13": { "DialogOptionsRenderingInfo": 12 }, - "14": { "Dictionary": 8 }, - "15": { "DrawingSurface": 17 }, - "16": { "DynamicArrays": 1 }, - "17": { "DynamicSprite": 21 }, - "18": { "EditorGUI": 1 }, - "19": { "EditorInventoryItems": 1 }, - "20": { "EditorLogPanel": 1 }, - "21": { "EditorPlugins": 1 }, - "22": { "EditorRoom": 1 }, - "23": { "EnginePluginRun-timeAPI": 9 }, - "24": { "ExtenderFunctions": 1 }, - "25": { "FAQ": 1 }, - "26": { "File": 22 }, - "27": { "Game": 50 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "Gamevariables": 1 }, - "30": { "GeneralSettings": 3 }, - "31": { "Globalfunctions_Event": 2 }, - "32": { "Globalfunctions_General": 44 }, - "33": { "Globalfunctions_Message": 7 }, - "34": { "Globalfunctions_Palette": 3 }, - "35": { "Globalfunctions_Room": 16 }, - "36": { "Globalfunctions_Screen": 4 }, - "37": { "Globalfunctions_Wait": 6 }, - "38": { "GlobalVariables": 1 }, - "39": { "GraphicsDriver": 1 }, - "40": { "GUI": 26 }, - "41": { "GUIControl": 19 }, - "42": { "Hotspot": 16 }, - "43": { "ImportingFunctionsAndVariables": 1 }, - "44": { "InventoryItem": 13 }, - "45": { "InvWindow": 9 }, - "46": { "Label": 4 }, - "47": { "ListBox": 20 }, - "48": { "Maths": 20 }, - "49": { "Mouse": 20 }, - "50": { "Multimedia": 5 }, - "51": { "MultipleScripts": 1 }, - "52": { "MusicAndSound": 2 }, - "53": { "Object": 40 }, - "54": { "Overlay": 17 }, - "55": { "Parser": 5 }, - "56": { "Pointers": 1 }, - "57": { "Region": 14 }, - "58": { "Room": 13 }, - "59": { "RuntimeEngine": 1 }, - "60": { "Screen": 6 }, - "61": { "ScriptAPIOverview": 4 }, - "62": { "ScriptKeywords": 4 }, - "63": { "ScriptModules": 1 }, - "64": { "Set": 7 }, - "65": { "Settingupthegame": 1 }, - "66": { "Setup": 1 }, - "67": { "Slider": 7 }, - "68": { "Speech": 11 }, - "69": { "String": 16 }, - "70": { "System": 18 }, - "71": { "SystemLimits": 1 }, - "72": { "TemplateBASS": 1 }, - "73": { "Templates": 1 }, - "74": { "TemplateSierraStyle": 1 }, - "75": { "TemplateVerbcoin": 1 }, - "76": { "TextBox": 3 }, - "77": { "TextParser": 1 }, - "78": { "TheScriptHeader": 1 }, - "79": { "Translations": 1 }, - "80": { "Tumbleweed": 1 }, - "81": { "Tumbleweed_actions": 5 }, - "82": { "Tumbleweed_door": 5 }, - "83": { "Tumbleweed_extensions": 1 }, - "84": { "Tumbleweed_helper": 4 }, - "85": { "Tumbleweed_movement": 11 }, - "86": { "Tumbleweed_player": 2 }, - "87": { "Tumbleweed_translation": 2 }, - "88": { "UnicodeSupport": 1 }, - "89": { "UpgradeTo32": 1 }, - "90": { "UpgradeTo34": 1 }, - "91": { "UpgradeTo35": 1 }, - "92": { "UpgradingTo27": 1 }, - "93": { "ViewFrame": 7 }, - "94": { "Viewport": 12 } - }, - "SeeAlso": { - "0": { "Character": 11 }, - "1": { "Globalfunctions_General": 5 }, - "2": { "Globalfunctions_Screen": 3 }, - "3": { "Object": 7 }, - "4": { "VoiceSpeech": 1 } - }, - "Seek": { - "0": { "AudioChannel": 9 }, - "1": { "AudioClip": 3 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "File": 7 }, - "4": { "ObsoleteScriptAPI": 3 }, - "5": { "StandardEnums": 1 } - }, - "SeekMIDIPosition": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SeekMODPattern": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SeekMs": { - "0": { "AudioChannel": 8 } - }, - "Seeking": { - "0": { "MusicAndSound": 1 } - }, - "Seeks": { - "0": { "AudioChannel": 2 } - }, - "Select": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "CustomProperties": 1 }, - "6": { "EditorInventoryItems": 2 }, - "7": { "EditorPreferences": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "Introduction": 1 }, - "10": { "KeyboardShortcuts": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "UpgradeTo35": 1 } - }, - "SelectNextMode": { - "0": { "Mouse": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SelectPreviousMode": { - "0": { "Mouse": 2 } - }, - "Selected": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 } - }, - "SelectedBackColor": { - "0": { "ListBox": 5 } - }, - "SelectedIndex": { - "0": { "EditorGUI": 1 }, - "1": { "ListBox": 11 }, - "2": { "ObsoleteScriptAPI": 2 } - }, - "SelectedTextColor": { - "0": { "ListBox": 7 } - }, - "Selecting": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro9": 1 } - }, - "Selection": { - "0": { "acintro2": 2 } - }, - "Selects": { - "0": { "Mouse": 2 } - }, - "Selmiak": { - "0": { "acintro2": 1 }, - "1": { "Credits": 1 } - }, - "Selmiak-made": { - "0": { "acintro2": 1 } - }, - "Semi-blocking": { - "0": { "Tumbleweed": 1 }, - "1": { "Tumbleweed_movement": 2 } - }, - "Semicolon": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "SendToBack": { - "0": { "GUIControl": 6 } - }, - "Sends": { - "0": { "GUIControl": 1 } - }, - "Sequences": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Serialize": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Set": { - "0": { "acintro9": 2 }, - "1": { "AudioChannel": 1 }, - "2": { "Camera": 2 }, - "3": { "Dictionary": 12 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "Gamevariables": 3 }, - "8": { "Globalfunctions_Message": 1 }, - "9": { "GUI": 1 }, - "10": { "GUIControl": 1 }, - "11": { "Lipsync": 1 }, - "12": { "Mouse": 1 }, - "13": { "Object": 1 }, - "14": { "OOProgramming": 1 }, - "15": { "Scripting": 1 }, - "16": { "Set": 51 }, - "17": { "StandardEnums": 2 }, - "18": { "TemplateBASS": 1 }, - "19": { "Viewport": 3 } - }, - "SetAction": { - "0": { "Tumbleweed_actions": 2 } - }, - "SetActionButtons": { - "0": { "Tumbleweed_actions": 2 }, - "1": { "Tumbleweed_helper": 1 }, - "2": { "Tumbleweed_translation": 6 } - }, - "SetActiveInventory": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetAlternativeAction": { - "0": { "Tumbleweed_actions": 2 } - }, - "SetAmbientLightLevel": { - "0": { "Character": 3 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "Object": 3 }, - "3": { "Region": 1 } - }, - "SetAmbientTint": { - "0": { "Character": 3 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 2 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "Object": 3 }, - "5": { "Region": 2 } - }, - "SetApproachingChar": { - "0": { "Tumbleweed_movement": 2 } - }, - "SetAreaLightLevel": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Region": 1 } - }, - "SetAreaScaling": { - "0": { "Globalfunctions_Room": 4 } - }, - "SetAsPlayer": { - "0": { "Character": 3 }, - "1": { "EditorCharacter": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Tumbleweed_player": 1 } - }, - "SetAt": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Camera": 11 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "UpgradeTo35": 1 }, - "6": { "Viewport": 1 } - }, - "SetAudioTypeSpeechVolumeDrop": { - "0": { "Game": 4 }, - "1": { "Multimedia": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "SetAudioTypeVolume": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 4 }, - "2": { "Multimedia": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "System": 1 }, - "5": { "UpgradeTo32": 1 } - }, - "SetBackgroundFrame": { - "0": { "EditorRoom": 1 }, - "1": { "Globalfunctions_Room": 5 } - }, - "SetBounds": { - "0": { "Mouse": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetButtonAction": { - "0": { "Tumbleweed_helper": 1 } - }, - "SetButtonPic": { - "0": { "Button": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetButtonText": { - "0": { "Button": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetChannelVolume": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterBaseline": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterBlinkView": { - "0": { "Character": 2 }, - "1": { "ObsoleteScriptAPI": 2 } - }, - "SetCharacterClickable": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterFrame": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterIdle": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterIgnoreLight": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterIgnoreWalkbehinds": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterProperty": { - "0": { "Character": 5 }, - "1": { "ObsoleteScriptAPI": 5 } - }, - "SetCharacterSpeechView": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterSpeed": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterSpeedEx": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterTransparency": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterView": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterViewEx": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCharacterViewOffset": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetCursorMode": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetDamage": { - "0": { "OOProgramming": 3 }, - "1": { "ScriptKeywords": 2 } - }, - "SetDefaultAction": { - "0": { "Tumbleweed_actions": 2 } - }, - "SetDefaultCursor": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetDialogOption": { - "0": { "Dialog": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetDigitalMasterVolume": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "System": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "SetDoorState": { - "0": { "Tumbleweed_door": 5 } - }, - "SetDoubleClickSpeed": { - "0": { "Tumbleweed_helper": 2 } - }, - "SetFadeColor": { - "0": { "Globalfunctions_Screen": 5 } - }, - "SetFrameSound": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "ViewFrame": 1 } - }, - "SetGUIBackgroundPic": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIClickable": { - "0": { "GUI": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIObjectEnabled": { - "0": { "GUIControl": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIObjectPosition": { - "0": { "GUIControl": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIObjectSize": { - "0": { "GUIControl": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIPosition": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUISize": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUITransparency": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGUIZOrder": { - "0": { "GUI": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGameOption": { - "0": { "Character": 2 }, - "1": { "Game": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 7 }, - "4": { "Object": 2 }, - "5": { "Room": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "Translations": 1 } - }, - "SetGameSpeed": { - "0": { "EditorView": 1 }, - "1": { "GameEventsOrder": 1 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Globalfunctions_Wait": 1 } - }, - "SetGlobalInt": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "SetGlobalString": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetGraphicalVariable": { - "0": { "Globalfunctions_General": 4 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetHasOptionBeenChosen": { - "0": { "Dialog": 5 } - }, - "SetIdleView": { - "0": { "Character": 6 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Settingupthegame": 1 } - }, - "SetInvDimensions": { - "0": { "InvWindow": 2 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetInvItemName": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetInvItemPic": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetItemText": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetLabelColor": { - "0": { "Label": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetLabelFont": { - "0": { "Label": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetLabelText": { - "0": { "Label": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetLightLevel": { - "0": { "Character": 8 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Object": 8 }, - "3": { "Region": 2 } - }, - "SetMouseBounds": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetMouseCursor": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetMousePosition": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Mouse": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "SetMultitaskingMode": { - "0": { "Globalfunctions_General": 3 }, - "1": { "System": 1 } - }, - "SetMusicMasterVolume": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "System": 1 } - }, - "SetMusicRepeat": { - "0": { "AudioClip": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetMusicVolume": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "SetName": { - "0": { "InventoryItem": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetNextCursorMode": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetNextScreenTransition": { - "0": { "Globalfunctions_Screen": 4 }, - "1": { "StandardEnums": 1 } - }, - "SetNormalFont": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectBaseline": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectClickable": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectFrame": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectGraphic": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectIgnoreWalkbehinds": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectPosition": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectTint": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectTransparency": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetObjectView": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetOptionState": { - "0": { "acintro8": 1 }, - "1": { "Dialog": 7 }, - "2": { "EditorDialog": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "StandardEnums": 1 } - }, - "SetPalRGB": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Globalfunctions_Palette": 5 } - }, - "SetPalette": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "SetPlayer": { - "0": { "Tumbleweed_player": 3 } - }, - "SetPlayerCharacter": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetPosition": { - "0": { "Camera": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "GUI": 11 }, - "3": { "GUIControl": 10 }, - "4": { "Mouse": 6 }, - "5": { "Object": 5 }, - "6": { "ObsoleteScriptAPI": 4 }, - "7": { "Screen": 1 }, - "8": { "Viewport": 12 } - }, - "SetProperty": { - "0": { "Character": 5 }, - "1": { "CustomProperties": 5 }, - "2": { "FAQ": 1 }, - "3": { "Hotspot": 5 }, - "4": { "InventoryItem": 5 }, - "5": { "Object": 5 }, - "6": { "Room": 5 }, - "7": { "UpgradeTo34": 6 } - }, - "SetRegionTint": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Region": 1 } - }, - "SetRestartPoint": { - "0": { "Globalfunctions_General": 3 }, - "1": { "UpgradeTo361": 3 } - }, - "SetRoomLocation": { - "0": { "AudioChannel": 5 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "SetSaveGameDirectory": { - "0": { "Game": 3 } - }, - "SetScreenTransition": { - "0": { "Globalfunctions_Screen": 7 }, - "1": { "StandardEnums": 1 } - }, - "SetSize": { - "0": { "Camera": 11 }, - "1": { "GUI": 6 }, - "2": { "GUIControl": 9 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "Screen": 1 }, - "5": { "Viewport": 2 } - }, - "SetSkipSpeech": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Speech": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "SetSliderValue": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Slider": 1 } - }, - "SetSoundVolume": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetSpeechFont": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetSpeechStyle": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Speech": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "SetSpeechVolume": { - "0": { "Game": 1 }, - "1": { "Multimedia": 3 } - }, - "SetSpriteAlphaBlended": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "SetTalkingColor": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "SetText": { - "0": { "Button": 1 }, - "1": { "Label": 1 }, - "2": { "ObsoleteScriptAPI": 4 }, - "3": { "Overlay": 3 }, - "4": { "StandardEnums": 1 }, - "5": { "TextBox": 1 }, - "6": { "UpgradingTo271": 1 } - }, - "SetTextBoxFont": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "TextBox": 1 } - }, - "SetTextBoxText": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "TextBox": 1 } - }, - "SetTextOverlay": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Overlay": 1 } - }, - "SetTextProperty": { - "0": { "Character": 5 }, - "1": { "CustomProperties": 5 }, - "2": { "FAQ": 1 }, - "3": { "Hotspot": 5 }, - "4": { "InventoryItem": 5 }, - "5": { "Object": 5 }, - "6": { "Room": 5 }, - "7": { "UpgradeTo34": 6 } - }, - "SetTextWindowGUI": { - "0": { "Globalfunctions_General": 4 } - }, - "SetTimer": { - "0": { "DateTime": 1 }, - "1": { "Globalfunctions_General": 7 } - }, - "SetView": { - "0": { "Hotspot": 1 }, - "1": { "Object": 12 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "Settingupthegame": 2 } - }, - "SetViewport": { - "0": { "Globalfunctions_Room": 2 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "SetVirtualScreen": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "SetVoiceMode": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Speech": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "SetWalkBehindBase": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Room": 3 }, - "2": { "Object": 1 } - }, - "SetWalkSpeed": { - "0": { "Character": 8 }, - "1": { "ObsoleteScriptAPI": 2 } - }, - "Sets": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 7 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Gamevariables": 1 }, - "4": { "Globalfunctions_General": 4 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "Hotspot": 2 }, - "7": { "InventoryItem": 2 }, - "8": { "Multimedia": 1 }, - "9": { "Object": 5 }, - "10": { "Room": 2 }, - "11": { "Speech": 1 }, - "12": { "TemplateBASS": 1 }, - "13": { "TemplateSierraStyle": 1 }, - "14": { "TemplateVerbcoin": 6 } - }, - "Settable": { - "0": { "Mouse": 1 } - }, - "Setting": { - "0": { "acintro1": 3 }, - "1": { "acintro3": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Button": 1 }, - "4": { "Camera": 2 }, - "5": { "Character": 7 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "Gamevariables": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "GUI": 4 }, - "12": { "GUIControl": 2 }, - "13": { "Mouse": 2 }, - "14": { "Object": 2 }, - "15": { "Overlay": 1 }, - "16": { "Region": 1 }, - "17": { "ScriptAPIOverview": 2 }, - "18": { "Settingupthegame": 2 }, - "19": { "TemplateBASS": 2 }, - "20": { "Templates": 1 }, - "21": { "TemplateSierraStyle": 1 }, - "22": { "TemplateVerbcoin": 1 }, - "23": { "Tumbleweed": 3 }, - "24": { "Tutorial": 1 }, - "25": { "Viewport": 1 } - }, - "Settings": { - "0": { "acintro1": 7 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 1 }, - "5": { "BuildAndroid": 1 }, - "6": { "Character": 2 }, - "7": { "ColoursEditor": 1 }, - "8": { "CustomDialogOptions": 3 }, - "9": { "Debuggingfeatures": 3 }, - "10": { "DefaultSetup": 1 }, - "11": { "DialogScript": 1 }, - "12": { "DistGame": 4 }, - "13": { "DrawingSurface": 1 }, - "14": { "DynamicSprite": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorGUI": 4 }, - "17": { "EditorSprite": 1 }, - "18": { "FAQ": 1 }, - "19": { "File": 2 }, - "20": { "Game": 4 }, - "21": { "GeneralSettings": 1 }, - "22": { "Globalfunctions_Event": 2 }, - "23": { "Globalfunctions_General": 3 }, - "24": { "GUI": 1 }, - "25": { "InventoryItem": 1 }, - "26": { "Label": 2 }, - "27": { "Room": 5 }, - "28": { "ScriptAPIOverview": 1 }, - "29": { "ScriptKeywords": 1 }, - "30": { "Settingupthegame": 5 }, - "31": { "SourceControl": 1 }, - "32": { "UnicodeSupport": 2 }, - "33": { "UpgradeTo31": 1 }, - "34": { "UpgradeTo33": 1 }, - "35": { "UpgradeTo34": 3 }, - "36": { "UpgradeTo341": 3 }, - "37": { "UpgradeTo35": 3 }, - "38": { "UpgradeTo36": 4 } - }, - "Setup": { - "0": { "DefaultSetup": 7 }, - "1": { "DistGame": 2 }, - "2": { "EditorSprite": 1 }, - "3": { "FAQ": 2 }, - "4": { "Gamevariables": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Setup": 1 }, - "7": { "Translations": 1 }, - "8": { "UpgradeTo31": 3 }, - "9": { "UpgradeTo341": 4 } - }, - "Shabtay": { - "0": { "Credits": 1 } - }, - "Shaham": { - "0": { "Credits": 1 } - }, - "ShakeScreen": { - "0": { "Globalfunctions_Screen": 4 } - }, - "ShakeScreenBackground": { - "0": { "GameEventsOrder": 1 }, - "1": { "Globalfunctions_Screen": 4 } - }, - "Shakes": { - "0": { "Globalfunctions_Screen": 2 } - }, - "Shane": { - "0": { "Credits": 1 } - }, - "Share": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "Sharing": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "Shawn": { - "0": { "Credits": 2 } - }, - "Shift": { - "0": { "EditorRoom": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "KeyboardShortcuts": 9 }, - "4": { "Keycodes": 7 }, - "5": { "ScriptKeywords": 2 }, - "6": { "UpgradeTo36": 1 } - }, - "Shortcut": { - "0": { "KeyboardShortcuts": 2 } - }, - "Shortcuts": { - "0": { "KeyboardShortcuts": 1 }, - "1": { "OtherFeatures": 1 }, - "2": { "ScriptingTutorialPart1": 1 } - }, - "Should": { - "0": { "acintro1": 1 }, - "1": { "EditorPreferences": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "Show": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro8": 4 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorPreferences": 1 }, - "5": { "EditorView": 2 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "KeyboardShortcuts": 1 }, - "8": { "ListBox": 3 }, - "9": { "Settingupthegame": 1 }, - "10": { "SourceControl": 1 }, - "11": { "TemplateBASS": 2 } - }, - "ShowBorder": { - "0": { "ListBox": 5 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "TextBox": 3 } - }, - "ShowMouseCursor": { - "0": { "Mouse": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ShowPlayerCharacter": { - "0": { "Character": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "FAQ": 1 } - }, - "ShowScrollArrows": { - "0": { "ListBox": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "ShowTextParser": { - "0": { "Dialog": 3 }, - "1": { "Settingupthegame": 1 } - }, - "Shown": { - "0": { "EditorGUI": 1 }, - "1": { "GUI": 9 } - }, - "Shrink": { - "0": { "Viewport": 1 } - }, - "Shutdown": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Sierra": { - "0": { "acintro1": 2 }, - "1": { "acintro8": 2 }, - "2": { "acintro9": 2 }, - "3": { "Character": 2 }, - "4": { "EditorGUI": 4 }, - "5": { "FAQ": 1 }, - "6": { "GeneralSettings": 3 }, - "7": { "Globalfunctions_Message": 1 }, - "8": { "Globalfunctions_Palette": 2 }, - "9": { "Introduction": 1 }, - "10": { "Settingupthegame": 3 }, - "11": { "TextParser": 1 } - }, - "Sierra's": { - "0": { "acintro9": 1 }, - "1": { "EditorFont": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Sierra-style": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 2 }, - "4": { "acintro6": 1 }, - "5": { "acintro8": 4 }, - "6": { "Button": 1 }, - "7": { "Character": 8 }, - "8": { "Credits": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "Gamevariables": 3 }, - "11": { "GeneralSettings": 3 }, - "12": { "Lipsync": 1 }, - "13": { "Mouse": 2 }, - "14": { "Settingupthegame": 2 }, - "15": { "Templates": 2 }, - "16": { "TemplateSierraStyle": 1 } - }, - "Sign": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "Similar": { - "0": { "acintro4": 1 }, - "1": { "Character": 4 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Gamevariables": 1 }, - "4": { "Globalfunctions_Message": 1 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "Object": 1 }, - "7": { "Set": 1 }, - "8": { "Tumbleweed_player": 2 } - }, - "Similarily": { - "0": { "DynamicArrays": 1 }, - "1": { "EventTypes": 1 }, - "2": { "File": 1 }, - "3": { "Pointers": 1 } - }, - "Similarly": { - "0": { "DialogScript": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "UpgradeTo34": 1 }, - "3": { "UpgradeTo35": 2 }, - "4": { "UpgradeTo36": 1 } - }, - "Simple": { - "0": { "acintro7": 1 }, - "1": { "GlobalVariables": 1 } - }, - "Simply": { - "0": { "acintro7": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "SimulateKeyPress": { - "0": { "Game": 3 } - }, - "SimulateMouseClick": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Simulates": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GUI": 1 }, - "2": { "Room": 1 } - }, - "Sin": { - "0": { "Maths": 14 } - }, - "Since": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 1 }, - "2": { "Character": 5 }, - "3": { "CustomProperties": 1 }, - "4": { "DefaultSetup": 2 }, - "5": { "DialogScript": 1 }, - "6": { "DistGame": 1 }, - "7": { "DrawingSurface": 1 }, - "8": { "DynamicSprite": 2 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "ExtenderFunctions": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "Globalfunctions_Wait": 1 }, - "15": { "Hotspot": 1 }, - "16": { "Maths": 2 }, - "17": { "MIDI-playback": 1 }, - "18": { "OOProgramming": 1 }, - "19": { "Region": 1 }, - "20": { "ScriptingTutorialPart1": 1 }, - "21": { "ScriptingTutorialPart2": 1 }, - "22": { "StringFormats": 1 }, - "23": { "TemplateVerbcoin": 1 }, - "24": { "Tumbleweed_actions": 1 }, - "25": { "UpgradeTo335": 1 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo341": 1 }, - "28": { "UpgradeTo35": 2 }, - "29": { "VoiceSpeech": 3 } - }, - "Single": { - "0": { "ScriptKeywords": 1 } - }, - "Sinh": { - "0": { "Maths": 5 } - }, - "Size": { - "0": { "Constants": 1 }, - "1": { "EditorPreferences": 6 } - }, - "SizeMultiplier": { - "0": { "EditorFont": 1 } - }, - "Skip": { - "0": { "EditorView": 1 }, - "1": { "Globalfunctions_Wait": 5 } - }, - "SkipCutscene": { - "0": { "Globalfunctions_General": 7 } - }, - "SkipKey": { - "0": { "Gamevariables": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Speech": 4 }, - "3": { "UpgradeTo33": 1 } - }, - "SkipSpeechStyle": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 2 } - }, - "SkipStyle": { - "0": { "Character": 1 }, - "1": { "Game": 2 }, - "2": { "Gamevariables": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Speech": 4 }, - "5": { "StandardEnums": 1 }, - "6": { "UpgradeTo33": 1 } - }, - "SkipUntilCharacterStops": { - "0": { "Globalfunctions_General": 5 } - }, - "SkipWait": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_Wait": 5 } - }, - "Skipped": { - "0": { "Globalfunctions_Wait": 1 } - }, - "SkippingCutscene": { - "0": { "AudioChannel": 2 }, - "1": { "Game": 4 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "Skips": { - "0": { "Globalfunctions_General": 1 } - }, - "Slider": { - "0": { "EditorGUI": 1 }, - "1": { "Game": 1 }, - "2": { "GUIControl": 15 }, - "3": { "ObsoleteScriptAPI": 2 }, - "4": { "Scripting": 1 }, - "5": { "Slider": 22 }, - "6": { "System": 2 } - }, - "Sliders": { - "0": { "EditorGUI": 3 }, - "1": { "GeneralSettings": 1 }, - "2": { "Slider": 1 } - }, - "Slots": { - "0": { "ListBox": 1 } - }, - "Smaller": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "Smallrock": { - "0": { "Object": 1 } - }, - "Smooth": { - "0": { "EngineConfigFile": 1 }, - "1": { "Setup": 1 } - }, - "Snap": { - "0": { "Camera": 1 } - }, - "So": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "FAQ": 2 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "GlobalVariables": 1 }, - "14": { "ImportingFunctionsAndVariables": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Plugins": 1 }, - "17": { "Pointers": 3 }, - "18": { "RepExec": 1 }, - "19": { "ScriptingTutorialPart1": 9 }, - "20": { "ScriptingTutorialPart2": 5 }, - "21": { "ScriptKeywords": 1 }, - "22": { "TextParser": 6 }, - "23": { "Tumbleweed": 3 }, - "24": { "Tumbleweed_door": 1 }, - "25": { "Tumbleweed_movement": 1 }, - "26": { "UpgradeTo32": 2 }, - "27": { "UpgradeTo36": 1 }, - "28": { "UpgradingTo27": 7 }, - "29": { "UpgradingTo271": 1 } - }, - "Software": { - "0": { "Character": 1 }, - "1": { "Copyright": 2 }, - "2": { "Credits": 2 }, - "3": { "DefaultSetup": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 3 }, - "6": { "GraphicsDriver": 6 }, - "7": { "Object": 1 }, - "8": { "Setup": 2 }, - "9": { "UpgradeTo36": 1 } - }, - "Solid": { - "0": { "Character": 7 }, - "1": { "Object": 7 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Settingupthegame": 1 } - }, - "Solution": { - "0": { "GameSavesCompatibility": 6 } - }, - "Solutions": { - "0": { "GameSavesCompatibility": 2 } - }, - "Some": { - "0": { "Character": 1 }, - "1": { "Constants": 1 }, - "2": { "DistGame": 2 }, - "3": { "EditorSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Globalfunctions_Event": 2 }, - "6": { "GUI": 1 }, - "7": { "GUIControl": 1 }, - "8": { "Object": 1 }, - "9": { "OOProgramming": 9 }, - "10": { "Settingupthegame": 2 }, - "11": { "String": 2 }, - "12": { "StringFormats": 2 }, - "13": { "UpgradeTo34": 1 }, - "14": { "UpgradeTo35": 3 }, - "15": { "UpgradingTo271": 1 } - }, - "SomeApple": { - "0": { "ScriptKeywords": 2 } - }, - "Something": { - "0": { "Character": 1 } - }, - "Sometimes": { - "0": { "Lipsync": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "ScriptAPIOverview": 2 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "ScriptingTutorialPart2": 2 }, - "5": { "TextParser": 1 }, - "6": { "TroubleshootingWindowsZoneID": 1 }, - "7": { "UpgradeTo35": 1 } - }, - "Sonneveld": { - "0": { "Credits": 1 } - }, - "Sorry": { - "0": { "Parser": 1 } - }, - "Sort": { - "0": { "Dictionary": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "Set": 1 }, - "3": { "UpgradeTo33": 1 } - }, - "SortStyle": { - "0": { "Dictionary": 7 }, - "1": { "Set": 6 }, - "2": { "StandardEnums": 2 } - }, - "Sound": { - "0": { "acintro7": 2 }, - "1": { "AudioClip": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Copyright": 2 }, - "4": { "Credits": 2 }, - "5": { "DefaultSetup": 1 }, - "6": { "DistGame": 3 }, - "7": { "EditorView": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "MusicAndSound": 4 }, - "11": { "ObsoleteScriptAPI": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "Setup": 2 }, - "14": { "UpgradeTo32": 4 }, - "15": { "ViewFrame": 1 } - }, - "Soundfont": { - "0": { "MusicAndSound": 2 } - }, - "Sounds": { - "0": { "MusicAndSound": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "Source": { - "0": { "GeneralSettings": 1 }, - "1": { "OtherFeatures": 1 }, - "2": { "SourceControl": 3 }, - "3": { "UpgradeTo361": 1 } - }, - "SourceSafe": { - "0": { "SourceControl": 3 }, - "1": { "UpgradeTo361": 1 } - }, - "Space": { - "0": { "acintro2": 3 }, - "1": { "acintro6": 1 }, - "2": { "FAQ": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Palette": 1 }, - "5": { "Globalfunctions_Wait": 1 }, - "6": { "KeyboardShortcuts": 1 }, - "7": { "Keycodes": 1 } - }, - "SpaceHub": { - "0": { "acintro2": 1 } - }, - "Spanish": { - "0": { "Game": 6 }, - "1": { "Tumbleweed": 1 }, - "2": { "UpgradeTo36": 2 } - }, - "Speak": { - "0": { "Globalfunctions_Event": 2 } - }, - "Speaking": { - "0": { "Character": 10 } - }, - "SpeakingFrame": { - "0": { "Character": 4 } - }, - "Special": { - "0": { "Game": 1 }, - "1": { "MultipleScripts": 1 } - }, - "Specifically": { - "0": { "Game": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "Specifies": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "Specify": { - "0": { "Game": 1 } - }, - "Speech": { - "0": { "AudioClip": 1 }, - "1": { "AutonumberSpeechFiles": 1 }, - "2": { "Character": 12 }, - "3": { "DistGame": 2 }, - "4": { "Game": 3 }, - "5": { "Gamevariables": 4 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 4 }, - "8": { "Lipsync": 2 }, - "9": { "ListBox": 1 }, - "10": { "MusicAndSound": 2 }, - "11": { "ObsoleteScriptAPI": 7 }, - "12": { "Scripting": 1 }, - "13": { "Speech": 64 }, - "14": { "StandardEnums": 4 }, - "15": { "Translations": 1 }, - "16": { "UnicodeSupport": 1 }, - "17": { "UpgradeTo32": 1 }, - "18": { "UpgradeTo33": 11 }, - "19": { "UpgradeTo341": 2 }, - "20": { "UpgradeTo36": 2 }, - "21": { "VoiceSpeech": 10 } - }, - "SpeechAnimationDelay": { - "0": { "Character": 5 }, - "1": { "Game": 2 }, - "2": { "Speech": 2 } - }, - "SpeechColor": { - "0": { "Character": 4 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "TextWindowGUI": 1 } - }, - "SpeechFont": { - "0": { "acintro9": 1 }, - "1": { "Game": 4 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Overlay": 3 }, - "4": { "Settingupthegame": 1 }, - "5": { "StandardEnums": 1 }, - "6": { "Translations": 4 } - }, - "SpeechStyle": { - "0": { "Speech": 1 } - }, - "SpeechView": { - "0": { "Character": 11 }, - "1": { "EditorCharacter": 1 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "Settingupthegame": 1 } - }, - "SpeechVoxFilename": { - "0": { "Game": 5 }, - "1": { "Multimedia": 1 } - }, - "Speed": { - "0": { "AudioChannel": 3 }, - "1": { "Game": 1 }, - "2": { "Mouse": 4 }, - "3": { "Object": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "ViewFrame": 3 } - }, - "Splash": { - "0": { "DistGame": 1 } - }, - "Split": { - "0": { "DistGame": 1 }, - "1": { "GeneralSettings": 1 } - }, - "Splitting": { - "0": { "DistGame": 1 } - }, - "Spoken": { - "0": { "Lipsync": 1 } - }, - "Sprite": { - "0": { "acintro": 1 }, - "1": { "acintro4": 7 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 20 }, - "4": { "acintro9": 1 }, - "5": { "Credits": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "DynamicSprite": 2 }, - "8": { "EditorInventoryItems": 1 }, - "9": { "EditorPreferences": 2 }, - "10": { "EditorSprite": 8 }, - "11": { "EditorView": 2 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "GeneralSettings": 2 }, - "14": { "Object": 1 }, - "15": { "Settingupthegame": 4 }, - "16": { "Setup": 1 }, - "17": { "Tumbleweed_translation": 1 }, - "18": { "UpgradeTo33": 1 }, - "19": { "UpgradeTo36": 1 } - }, - "SpriteHeight": { - "0": { "Camera": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Game": 5 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "ObsoleteScriptAPI": 1 } - }, - "SpriteWidth": { - "0": { "DynamicSprite": 1 }, - "1": { "Game": 5 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ObsoleteScriptAPI": 1 } - }, - "Sprites": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorSprite": 3 }, - "4": { "EventTypes": 1 }, - "5": { "GameSavesCompatibility": 2 }, - "6": { "ScriptAPIOverview": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "SystemLimits": 2 }, - "9": { "UpgradeTo35": 2 }, - "10": { "UpgradeTo36": 1 } - }, - "Spriteslot": { - "0": { "Tumbleweed_translation": 1 } - }, - "Sqrt": { - "0": { "Maths": 4 } - }, - "Squared": { - "0": { "UpgradeTo36": 1 } - }, - "Standard": { - "0": { "acintro9": 1 }, - "1": { "Button": 1 }, - "2": { "Game": 1 }, - "3": { "Label": 1 }, - "4": { "ListBox": 1 }, - "5": { "Mouse": 2 }, - "6": { "Scripting": 3 }, - "7": { "StandardEnums": 1 }, - "8": { "StandardTypes": 2 } - }, - "StandardMode": { - "0": { "acintro9": 1 }, - "1": { "EditorCursor": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Standing": { - "0": { "EventTypes": 1 } - }, - "Stands": { - "0": { "EventTypes": 1 }, - "1": { "Globalfunctions_Room": 2 } - }, - "Start": { - "0": { "acintro1": 3 }, - "1": { "acintro8": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dialog": 10 }, - "4": { "EditorPlugins": 1 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "Plugins": 1 }, - "7": { "Setup": 1 }, - "8": { "Templates": 3 }, - "9": { "UpgradeTo30": 1 } - }, - "StartCutscene": { - "0": { "Game": 4 }, - "1": { "Globalfunctions_General": 6 }, - "2": { "StandardEnums": 1 } - }, - "StartX": { - "0": { "acintro2": 1 }, - "1": { "Settingupthegame": 1 } - }, - "StartY": { - "0": { "acintro2": 1 }, - "1": { "Settingupthegame": 1 } - }, - "Started": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 1 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 1 }, - "5": { "acintro5": 1 }, - "6": { "acintro6": 1 }, - "7": { "acintro7": 1 }, - "8": { "acintro8": 1 }, - "9": { "acintro9": 2 } - }, - "Starting": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "Dialog": 2 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Keycodes": 1 }, - "5": { "StartingOff": 1 }, - "6": { "Tutorial": 1 }, - "7": { "UnicodeSupport": 1 }, - "8": { "UpgradeTo361": 1 } - }, - "StartingRoom": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "FAQ": 1 }, - "4": { "Settingupthegame": 2 } - }, - "Starts": { - "0": { "acintro7": 1 }, - "1": { "Character": 3 }, - "2": { "Dialog": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Object": 2 }, - "5": { "String": 2 } - }, - "StartsWith": { - "0": { "StandardEnums": 1 }, - "1": { "String": 5 } - }, - "Startup": { - "0": { "EditorPreferences": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 } - }, - "Static": { - "0": { "ExtenderFunctions": 2 }, - "1": { "OOProgramming": 1 } - }, - "Statistics": { - "0": { "KeyboardShortcuts": 1 } - }, - "Steam": { - "0": { "DistGame": 2 } - }, - "Steele": { - "0": { "Credits": 1 } - }, - "Stefano": { - "0": { "Credits": 1 } - }, - "Stencil": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Step": { - "0": { "Debuggingfeatures": 1 }, - "1": { "KeyboardShortcuts": 1 } - }, - "Steve": { - "0": { "Credits": 1 } - }, - "Steven": { - "0": { "Credits": 1 } - }, - "Stevens": { - "0": { "Credits": 1 } - }, - "Sticking": { - "0": { "Tumbleweed": 1 } - }, - "Still": { - "0": { "EditorView": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "Stone's": { - "0": { "InventoryItem": 1 } - }, - "Stop": { - "0": { "acintro": 1 }, - "1": { "AudioChannel": 3 }, - "2": { "AudioClip": 5 }, - "3": { "AudioInScript": 2 }, - "4": { "Game": 1 }, - "5": { "ObsoleteScriptAPI": 2 } - }, - "StopAmbientSound": { - "0": { "AudioChannel": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "StopAnimating": { - "0": { "Object": 5 } - }, - "StopAudio": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 5 }, - "2": { "ObsoleteScriptAPI": 2 } - }, - "StopChannel": { - "0": { "AudioChannel": 2 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "StopDialog": { - "0": { "Dialog": 4 } - }, - "StopMovementStyle": { - "0": { "Character": 15 }, - "1": { "StandardEnums": 2 } - }, - "StopMoving": { - "0": { "Character": 10 }, - "1": { "Object": 7 }, - "2": { "ObsoleteScriptAPI": 3 }, - "3": { "UpgradingTo27": 6 } - }, - "StopMusic": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "StopObjectMoving": { - "0": { "Object": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "StopSound": { - "0": { "Game": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Stops": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "DialogScript": 2 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Object": 2 } - }, - "Storage": { - "0": { "EditorSprite": 1 } - }, - "Store": { - "0": { "GeneralSettings": 2 } - }, - "Stores": { - "0": { "Parser": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "StrCaseComp": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrCat": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "StrComp": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "StrContains": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "StrCopy": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "StrFormat": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrGetCharAt": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrLen": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrSetCharAt": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrToLowerCase": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "StrToUpperCase": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "Stream": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "Stream's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Stretch": { - "0": { "Button": 2 }, - "1": { "DefaultSetup": 1 }, - "2": { "Setup": 1 } - }, - "Strictly": { - "0": { "GameEventsOrder": 1 } - }, - "String": { - "0": { "AudioClip": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 5 }, - "3": { "Dialog": 5 }, - "4": { "Dictionary": 11 }, - "5": { "DynamicArrays": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "FAQ": 2 }, - "9": { "File": 8 }, - "10": { "Game": 14 }, - "11": { "GameSavesCompatibility": 3 }, - "12": { "GeneralSettings": 3 }, - "13": { "Globalfunctions_Event": 1 }, - "14": { "Globalfunctions_General": 2 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "GlobalVariables": 1 }, - "17": { "GUI": 2 }, - "18": { "GUIControl": 2 }, - "19": { "Hotspot": 5 }, - "20": { "ImportingFunctionsAndVariables": 2 }, - "21": { "InventoryItem": 5 }, - "22": { "InvWindow": 1 }, - "23": { "Label": 3 }, - "24": { "ListBox": 5 }, - "25": { "Object": 5 }, - "26": { "ObsoleteScriptAPI": 14 }, - "27": { "OOProgramming": 7 }, - "28": { "Parser": 4 }, - "29": { "Room": 4 }, - "30": { "ScriptAPIOverview": 1 }, - "31": { "Scripting": 1 }, - "32": { "ScriptingLanguage": 1 }, - "33": { "ScriptingTutorialPart1": 1 }, - "34": { "ScriptKeywords": 7 }, - "35": { "Set": 5 }, - "36": { "StandardEnums": 4 }, - "37": { "String": 103 }, - "38": { "StringFormats": 4 }, - "39": { "System": 2 }, - "40": { "TemplateVerbcoin": 1 }, - "41": { "TextBox": 2 }, - "42": { "TextParser": 2 }, - "43": { "Tumbleweed_extensions": 1 }, - "44": { "Tumbleweed_movement": 2 }, - "45": { "UnicodeSupport": 5 }, - "46": { "UpgradeTo36": 6 }, - "47": { "UpgradingTo271": 6 } - }, - "StringCompareStyle": { - "0": { "Dictionary": 2 }, - "1": { "Set": 2 }, - "2": { "StandardEnums": 2 } - }, - "StringToInt": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 1 } - }, - "Strings": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "String": 6 }, - "3": { "UpgradingTo271": 2 } - }, - "StructName": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "Structs": { - "0": { "DynamicArrays": 1 }, - "1": { "ScriptKeywords": 2 } - }, - "Studio": { - "0": { "BuildAndroid": 5 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "EditorPlugins": 4 }, - "5": { "EditorPreferences": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "Introduction": 2 }, - "8": { "Plugins": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "Setup": 1 }, - "11": { "SourceControl": 1 }, - "12": { "SystemRequirements": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "Style": { - "0": { "Character": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorPreferences": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Speech": 3 }, - "6": { "StandardEnums": 1 }, - "7": { "UpgradeTo33": 1 } - }, - "Subdirectories": { - "0": { "File": 1 } - }, - "Substituting": { - "0": { "DialogScript": 1 } - }, - "Substract": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "Substring": { - "0": { "String": 7 } - }, - "Subtract": { - "0": { "Region": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "Suitable": { - "0": { "EventTypes": 1 } - }, - "Summary": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "Sunit": { - "0": { "Credits": 1 } - }, - "Superseded": { - "0": { "ObsoleteScriptAPI": 1 } - }, - "Support": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Multimedia": 2 }, - "2": { "OtherFeatures": 1 }, - "3": { "System": 2 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo30": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "Supported": { - "0": { "AudioChannel": 16 }, - "1": { "AudioClip": 11 }, - "2": { "Button": 6 }, - "3": { "Character": 26 }, - "4": { "CustomDialogOptions": 2 }, - "5": { "Dialog": 9 }, - "6": { "DialogOptionsRenderingInfo": 13 }, - "7": { "DrawingSurface": 2 }, - "8": { "DynamicSprite": 1 }, - "9": { "EngineConfigFile": 2 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "EnginePlugins": 1 }, - "12": { "File": 7 }, - "13": { "Game": 25 }, - "14": { "Globalfunctions_General": 4 }, - "15": { "Globalfunctions_Room": 4 }, - "16": { "Globalfunctions_Wait": 3 }, - "17": { "GUI": 10 }, - "18": { "GUIControl": 4 }, - "19": { "Hotspot": 7 }, - "20": { "InventoryItem": 5 }, - "21": { "Label": 1 }, - "22": { "ListBox": 7 }, - "23": { "Maths": 6 }, - "24": { "Mouse": 4 }, - "25": { "Object": 18 }, - "26": { "Overlay": 9 }, - "27": { "Parser": 1 }, - "28": { "Region": 2 }, - "29": { "Room": 3 }, - "30": { "Slider": 3 }, - "31": { "Speech": 7 }, - "32": { "StandardEnums": 5 }, - "33": { "String": 4 }, - "34": { "System": 11 }, - "35": { "TextBox": 2 }, - "36": { "ViewFrame": 1 } - }, - "SupportsExtendedCharacters": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "SupportsGammaControl": { - "0": { "System": 6 } - }, - "Suppose": { - "0": { "BlockingScripts": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "Pointers": 2 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptingTutorialPart1": 2 }, - "6": { "ScriptKeywords": 1 }, - "7": { "UpgradingTo27": 1 }, - "8": { "VoiceSpeech": 1 } - }, - "Supposing": { - "0": { "MusicAndSound": 1 } - }, - "Sure": { - "0": { "FAQ": 1 } - }, - "Surface": { - "0": { "CustomDialogOptions": 9 }, - "1": { "DialogOptionsRenderingInfo": 4 }, - "2": { "ScriptAPIOverview": 1 } - }, - "Surfaces": { - "0": { "UpgradeTo33": 1 } - }, - "Switches": { - "0": { "DialogScript": 1 }, - "1": { "Tumbleweed_actions": 1 } - }, - "Sync": { - "0": { "Lipsync": 4 } - }, - "System": { - "0": { "AudioChannel": 4 }, - "1": { "AudioClip": 5 }, - "2": { "AudioInScript": 3 }, - "3": { "Dialog": 1 }, - "4": { "EditorLogPanel": 2 }, - "5": { "File": 1 }, - "6": { "Game": 2 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "GraphicsDriver": 2 }, - "9": { "GUIControl": 1 }, - "10": { "Hotspot": 1 }, - "11": { "Introduction": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Object": 1 }, - "14": { "ObsoleteScriptAPI": 11 }, - "15": { "Screen": 4 }, - "16": { "Scripting": 1 }, - "17": { "Slider": 1 }, - "18": { "StandardEnums": 2 }, - "19": { "System": 91 }, - "20": { "SystemLimits": 2 }, - "21": { "SystemRequirements": 1 }, - "22": { "TroubleshootingWindowsZoneID": 4 }, - "23": { "UpgradeTo32": 1 }, - "24": { "UpgradeTo33": 1 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo341": 1 }, - "27": { "UpgradeTo35": 8 }, - "28": { "UpgradeTo36": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "TALK": { - "0": { "Character": 1 } - }, - "TERMS": { - "0": { "Copyright": 1 } - }, - "TEST": { - "0": { "String": 1 } - }, - "TEXT": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "File": 2 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Message": 2 }, - "4": { "Overlay": 1 }, - "5": { "Parser": 1 } - }, - "THEORY": { - "0": { "Copyright": 1 } - }, - "THOUGHTGUI": { - "0": { "Globalfunctions_General": 1 } - }, - "TIME": { - "0": { "Globalfunctions_Wait": 1 } - }, - "TIMEOUT": { - "0": { "Globalfunctions_General": 2 } - }, - "TIMER": { - "0": { "Globalfunctions_General": 3 } - }, - "TIMIDITY": { - "0": { "MIDI-playback": 1 } - }, - "TINT": { - "0": { "Preprocessor": 2 } - }, - "TIP": { - "0": { "DrawingSurface": 1 }, - "1": { "Game": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "String": 1 } - }, - "TITLETEXT": { - "0": { "Globalfunctions_Message": 1 } - }, - "TM": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Tumbleweed": 1 } - }, - "TOFACE": { - "0": { "Character": 1 } - }, - "TOTALSCORE": { - "0": { "EditorGUI": 2 }, - "1": { "Label": 2 } - }, - "TRA": { - "0": { "Translations": 1 } - }, - "TRANSITIONIN": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "TRANSITIONOUT": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "TRANSLATETEXT": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "TRANSPARENT": { - "0": { "DrawingSurface": 2 } - }, - "TRS": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Translations": 2 }, - "2": { "UpgradeTo36": 4 } - }, - "TRUE": { - "0": { "Character": 3 }, - "1": { "Game": 1 }, - "2": { "GUI": 1 }, - "3": { "Hotspot": 3 }, - "4": { "InventoryItem": 3 }, - "5": { "Object": 2 }, - "6": { "Room": 3 } - }, - "TTF": { - "0": { "acintro9": 4 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "EditorFont": 3 }, - "3": { "EnginePluginRun-timeAPI": 4 }, - "4": { "GeneralSettings": 4 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Label": 1 }, - "7": { "Settingupthegame": 5 }, - "8": { "UnicodeSupport": 1 }, - "9": { "UpgradeTo36": 5 } - }, - "TURNBEFOREWALK": { - "0": { "Globalfunctions_General": 1 } - }, - "TURNWHENFACING": { - "0": { "Globalfunctions_General": 1 } - }, - "TV": { - "0": { "UpgradeTo35": 1 }, - "1": { "Viewport": 1 } - }, - "TXT": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Templates": 2 } - }, - "TYPE": { - "0": { "Globalfunctions_Event": 2 } - }, - "Tab": { - "0": { "acintro8": 2 }, - "1": { "EditorPreferences": 1 }, - "2": { "KeyboardShortcuts": 5 }, - "3": { "Keycodes": 1 } - }, - "Table's": { - "0": { "Object": 1 } - }, - "Tabs": { - "0": { "EditorPreferences": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "Take": { - "0": { "Tumbleweed_movement": 1 } - }, - "Takes": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Tumbleweed_helper": 1 } - }, - "Talk": { - "0": { "acintro8": 2 }, - "1": { "EditorCursor": 1 }, - "2": { "EventTypes": 9 }, - "3": { "Globalfunctions_Event": 3 }, - "4": { "Mouse": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "TemplateVerbcoin": 1 }, - "7": { "Tumbleweed_actions": 1 }, - "8": { "Tumbleweed_translation": 1 } - }, - "TalkTo": { - "0": { "Tumbleweed": 1 } - }, - "Tan": { - "0": { "Maths": 13 } - }, - "Tanh": { - "0": { "Maths": 6 } - }, - "Technical": { - "0": { "acintro9": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "Pointers": 1 } - }, - "Teleport": { - "0": { "Globalfunctions_General": 1 } - }, - "Tell": { - "0": { "acintro8": 2 } - }, - "Tells": { - "0": { "Character": 2 }, - "1": { "DrawingSurface": 1 }, - "2": { "EnginePluginRun-timeAPI": 6 }, - "3": { "GUI": 1 }, - "4": { "Overlay": 1 }, - "5": { "System": 1 } - }, - "Template": { - "0": { "acintro1": 2 }, - "1": { "EditorGUI": 1 }, - "2": { "Templates": 1 } - }, - "TemplateSettings": { - "0": { "Tumbleweed": 3 }, - "1": { "Tumbleweed_door": 1 }, - "2": { "Tumbleweed_unhandled": 1 } - }, - "Templates": { - "0": { "TemplateBASS": 1 }, - "1": { "Templates": 3 }, - "2": { "TemplateSierraStyle": 1 }, - "3": { "TemplateVerbcoin": 1 }, - "4": { "Tumbleweed": 1 } - }, - "Tenacious": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "Tentacle": { - "0": { "acintro5": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Terrible": { - "0": { "Tumbleweed": 1 } - }, - "Test": { - "0": { "acintro4": 1 }, - "1": { "acintro5": 1 }, - "2": { "EditorPreferences": 2 }, - "3": { "Pointers": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "Set": 1 }, - "6": { "UpgradeTo30": 2 } - }, - "TestFunction": { - "0": { "ScriptKeywords": 1 } - }, - "Testing": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 } - }, - "Tests": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Mouse": 1 } - }, - "Text": { - "0": { "acintro8": 1 }, - "1": { "Button": 5 }, - "2": { "Character": 2 }, - "3": { "CustomProperties": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorGUI": 6 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 3 }, - "8": { "Game": 1 }, - "9": { "GeneralSettings": 3 }, - "10": { "Globalfunctions_Event": 2 }, - "11": { "Hotspot": 2 }, - "12": { "InventoryItem": 2 }, - "13": { "Label": 10 }, - "14": { "Lipsync": 1 }, - "15": { "ListBox": 2 }, - "16": { "Object": 2 }, - "17": { "ObsoleteScriptAPI": 10 }, - "18": { "OtherFeatures": 1 }, - "19": { "Parser": 5 }, - "20": { "Pointers": 2 }, - "21": { "Room": 2 }, - "22": { "Scripting": 1 }, - "23": { "ScriptingTutorialPart1": 1 }, - "24": { "Slider": 1 }, - "25": { "TextBox": 6 }, - "26": { "TextParser": 3 }, - "27": { "Translations": 2 }, - "28": { "UnicodeSupport": 2 }, - "29": { "UpgradeTo36": 1 }, - "30": { "UpgradingTo271": 3 } - }, - "Text-based": { - "0": { "Lipsync": 1 } - }, - "TextAlignment": { - "0": { "Button": 2 }, - "1": { "Gamevariables": 1 }, - "2": { "Label": 2 }, - "3": { "ListBox": 2 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Speech": 3 }, - "6": { "StandardEnums": 4 }, - "7": { "UpgradeTo33": 1 } - }, - "TextBox": { - "0": { "Button": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GUIControl": 15 }, - "3": { "Label": 1 }, - "4": { "ListBox": 1 }, - "5": { "ObsoleteScriptAPI": 7 }, - "6": { "StandardEnums": 1 }, - "7": { "TextBox": 16 }, - "8": { "UpgradeTo35": 1 } - }, - "TextColor": { - "0": { "Button": 4 }, - "1": { "GUI": 1 }, - "2": { "Label": 4 }, - "3": { "ListBox": 9 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "TextBox": 4 }, - "6": { "TextWindowGUI": 3 } - }, - "TextDirection": { - "0": { "Translations": 2 } - }, - "TextOverlay": { - "0": { "Speech": 5 } - }, - "TextPadding": { - "0": { "TextWindowGUI": 2 } - }, - "TextParser": { - "0": { "Parser": 1 } - }, - "TextReadingSpeed": { - "0": { "Character": 1 }, - "1": { "Game": 7 }, - "2": { "Gamevariables": 1 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Speech": 1 } - }, - "TextWindow": { - "0": { "GUI": 2 }, - "1": { "TextWindowGUI": 1 } - }, - "TextWindowGUI": { - "0": { "GUI": 4 }, - "1": { "Scripting": 1 }, - "2": { "TextWindowGUI": 7 } - }, - "Textual": { - "0": { "Overlay": 1 } - }, - "Texture": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "Textwindow": { - "0": { "Globalfunctions_General": 1 } - }, - "Th": { - "0": { "Lipsync": 2 } - }, - "Thankfully": { - "0": { "Preprocessor": 1 } - }, - "Thanks": { - "0": { "Credits": 1 } - }, - "That's": { - "0": { "acintro8": 2 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "GlobalVariables": 1 }, - "7": { "MultipleScripts": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "ScriptKeywords": 1 } - }, - "Theme": { - "0": { "EditorPreferences": 1 } - }, - "Theora": { - "0": { "Copyright": 2 }, - "1": { "Credits": 2 }, - "2": { "Multimedia": 7 } - }, - "There's": { - "0": { "acintro3": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "FAQ": 2 }, - "7": { "Game": 1 }, - "8": { "GlobalArrays": 1 }, - "9": { "Preprocessor": 1 }, - "10": { "Screen": 1 }, - "11": { "Tumbleweed": 1 }, - "12": { "UpgradeTo33": 1 }, - "13": { "UpgradeTo35": 2 }, - "14": { "UpgradeTo36": 1 }, - "15": { "UpgradingTo271": 1 } - }, - "Therefore": { - "0": { "acintro1": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "Character": 1 }, - "4": { "Dialog": 1 }, - "5": { "DrawingSurface": 2 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 5 }, - "8": { "EnginePlugins": 1 }, - "9": { "Game": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_Room": 1 }, - "12": { "Globalfunctions_Screen": 1 }, - "13": { "GraphicsDriver": 1 }, - "14": { "GUI": 1 }, - "15": { "GUIControl": 1 }, - "16": { "ListBox": 1 }, - "17": { "MusicAndSound": 1 }, - "18": { "Object": 2 }, - "19": { "RepExec": 1 }, - "20": { "UpgradeTo32": 1 }, - "21": { "UpgradeTo36": 1 }, - "22": { "UpgradeTo361": 1 }, - "23": { "UpgradingTo271": 1 } - }, - "They're": { - "0": { "Pointers": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "Thierry": { - "0": { "Credits": 1 } - }, - "Thiessen": { - "0": { "Credits": 1 } - }, - "Thimbleweed": { - "0": { "Tumbleweed": 1 } - }, - "Thing": { - "0": { "OOProgramming": 7 } - }, - "Think": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 8 }, - "2": { "FAQ": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Pointers": 1 }, - "6": { "VoiceSpeech": 1 } - }, - "ThinkView": { - "0": { "Character": 5 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "Thinking": { - "0": { "Character": 11 } - }, - "ThinkingFrame": { - "0": { "Character": 5 } - }, - "Third": { - "0": { "ListBox": 2 } - }, - "Those": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GUI": 1 }, - "2": { "Overlay": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "Thought": { - "0": { "Globalfunctions_General": 1 } - }, - "Three": { - "0": { "EditorCursor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "Throne": { - "0": { "Room": 1 } - }, - "Thus": { - "0": { "EditorDialog": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "MusicAndSound": 1 }, - "3": { "Pointers": 1 } - }, - "TiMidity": { - "0": { "MIDI-playback": 1 } - }, - "Tiled": { - "0": { "acintro6": 4 }, - "1": { "EditorSprite": 3 } - }, - "Time": { - "0": { "DateTime": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Globalfunctions_Wait": 1 } - }, - "Timer": { - "0": { "Globalfunctions_General": 1 } - }, - "Timers": { - "0": { "Globalfunctions_General": 1 }, - "1": { "SystemLimits": 1 } - }, - "Timidity": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 }, - "2": { "MIDI-playback": 9 }, - "3": { "MusicAndSound": 1 } - }, - "Tint": { - "0": { "Character": 19 }, - "1": { "DynamicSprite": 4 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "Object": 19 }, - "4": { "ObsoleteScriptAPI": 2 }, - "5": { "Region": 15 } - }, - "TintBlue": { - "0": { "Character": 6 }, - "1": { "Object": 6 }, - "2": { "Region": 11 } - }, - "TintEnabled": { - "0": { "Region": 17 } - }, - "TintGreen": { - "0": { "Character": 6 }, - "1": { "Object": 6 }, - "2": { "Region": 11 } - }, - "TintLuminance": { - "0": { "Character": 6 }, - "1": { "Object": 6 }, - "2": { "Region": 7 } - }, - "TintRed": { - "0": { "Character": 6 }, - "1": { "Object": 6 }, - "2": { "Region": 11 } - }, - "TintSaturation": { - "0": { "Character": 5 }, - "1": { "Object": 5 }, - "2": { "Region": 10 } - }, - "TintScreen": { - "0": { "Globalfunctions_Screen": 3 }, - "1": { "Preprocessor": 2 } - }, - "Tints": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "Object": 1 } - }, - "Tip": { - "0": { "EditorPreferences": 2 } - }, - "Title": { - "0": { "acintro7": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "Setup": 2 } - }, - "Tobias": { - "0": { "Credits": 1 } - }, - "Today": { - "0": { "GeneralSettings": 1 }, - "1": { "Object": 1 }, - "2": { "UpgradeTo361": 1 } - }, - "Toggle": { - "0": { "KeyboardShortcuts": 2 }, - "1": { "UpgradeTo35": 2 } - }, - "Token": { - "0": { "Button": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Label": 1 } - }, - "Tom": { - "0": { "Credits": 1 } - }, - "ToogleGuiStyle": { - "0": { "Tumbleweed_actions": 2 } - }, - "Tools": { - "0": { "BuildAndroid": 3 }, - "1": { "Copyright": 1 }, - "2": { "Credits": 1 } - }, - "Top": { - "0": { "Game": 1 } - }, - "TopEdge": { - "0": { "Room": 6 } - }, - "TopEdgeY": { - "0": { "EditorRoom": 1 } - }, - "TopItem": { - "0": { "InvWindow": 5 }, - "1": { "ListBox": 4 }, - "2": { "ObsoleteScriptAPI": 2 } - }, - "Topic": { - "0": { "DialogScript": 1 } - }, - "Topics": { - "0": { "Settingupthegame": 1 } - }, - "Total": { - "0": { "UpgradeTo35": 1 } - }, - "Touch": { - "0": { "DefaultSetup": 3 }, - "1": { "Object": 3 } - }, - "Toybox": { - "0": { "Tumbleweed": 1 } - }, - "Tracker": { - "0": { "MusicAndSound": 1 } - }, - "TransitionStyle": { - "0": { "Globalfunctions_Screen": 5 }, - "1": { "StandardEnums": 2 } - }, - "TranslateAction": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "Tumbleweed_translation": 2 } - }, - "Translated": { - "0": { "EditorGUI": 1 }, - "1": { "ListBox": 2 }, - "2": { "UpgradeTo33": 2 } - }, - "Translation": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Translations": 1 }, - "3": { "Tumbleweed": 2 }, - "4": { "Tumbleweed_translation": 1 } - }, - "TranslationFilename": { - "0": { "Game": 5 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Translations": 1 } - }, - "Translations": { - "0": { "Game": 2 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "OtherFeatures": 1 }, - "3": { "Translations": 2 }, - "4": { "UnicodeSupport": 4 }, - "5": { "UpgradeTo36": 2 } - }, - "Transparency": { - "0": { "Character": 9 }, - "1": { "DrawingSurface": 1 }, - "2": { "FAQ": 1 }, - "3": { "GUI": 8 }, - "4": { "GUIControl": 6 }, - "5": { "Object": 9 }, - "6": { "ObsoleteScriptAPI": 3 }, - "7": { "Overlay": 5 }, - "8": { "UpgradeTo36": 1 } - }, - "Transparent": { - "0": { "acintro6": 1 } - }, - "Tree": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 3 }, - "4": { "acintro6": 4 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 1 } - }, - "Troubleshooting": { - "0": { "MusicAndSound": 1 }, - "1": { "Plugins": 1 }, - "2": { "Translations": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "Trovatore": { - "0": { "Credits": 1 } - }, - "True": { - "0": { "acintro4": 1 }, - "1": { "acintro5": 1 }, - "2": { "FAQ": 1 }, - "3": { "UpgradeTo33": 1 } - }, - "TrueType": { - "0": { "acintro9": 1 }, - "1": { "Copyright": 1 }, - "2": { "Credits": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorFont": 1 }, - "5": { "Settingupthegame": 1 } - }, - "Truncate": { - "0": { "String": 4 } - }, - "Truncated": { - "0": { "String": 2 } - }, - "Try": { - "0": { "acintro2": 1 } - }, - "Trying": { - "0": { "acintro2": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "Tumbleweed": { - "0": { "Credits": 1 }, - "1": { "Templates": 1 }, - "2": { "Tumbleweed": 3 }, - "3": { "Tumbleweed_actions": 1 }, - "4": { "Tumbleweed_door": 1 }, - "5": { "Tumbleweed_extensions": 1 }, - "6": { "Tumbleweed_helper": 1 }, - "7": { "Tumbleweed_movement": 1 }, - "8": { "Tumbleweed_player": 1 }, - "9": { "Tumbleweed_translation": 1 }, - "10": { "Tumbleweed_unhandled": 1 } - }, - "TurnBeforeWalking": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Settingupthegame": 1 } - }, - "Turning": { - "0": { "Character": 8 } - }, - "Turns": { - "0": { "Character": 2 }, - "1": { "DialogScript": 3 } - }, - "Tutorial": { - "0": { "acintro": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro6": 2 }, - "3": { "FAQ": 1 }, - "4": { "ScriptingTutorial": 3 }, - "5": { "ScriptingTutorialPart1": 3 }, - "6": { "ScriptingTutorialPart2": 4 }, - "7": { "Settingupthegame": 1 }, - "8": { "StartingOff": 9 }, - "9": { "Tutorial": 1 } - }, - "Tutorials": { - "0": { "acintro": 1 }, - "1": { "acintro9": 2 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "Settingupthegame": 2 }, - "4": { "Templates": 1 } - }, - "Two": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "UpgradeTo30": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "TwoClickHandler": { - "0": { "TemplateBASS": 18 } - }, - "Type": { - "0": { "acintro3": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioClip": 3 }, - "3": { "CustomProperties": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Lipsync": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "ScriptKeywords": 1 } - }, - "Types": { - "0": { "Button": 1 }, - "1": { "EditorPlugins": 6 }, - "2": { "EventTypes": 1 }, - "3": { "Game": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Label": 1 }, - "6": { "ListBox": 1 }, - "7": { "MusicAndSound": 4 }, - "8": { "Scripting": 2 }, - "9": { "StandardEnums": 1 }, - "10": { "StandardTypes": 2 } - }, - "Tzach": { - "0": { "Credits": 1 } - }, - "UAC": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "UI": { - "0": { "acintro1": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "UNIQUE": { - "0": { "Game": 1 } - }, - "UNLESS": { - "0": { "Copyright": 1 } - }, - "URLs": { - "0": { "GeneralSettings": 1 } - }, - "USB": { - "0": { "MusicAndSound": 2 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "USE": { - "0": { "Copyright": 2 }, - "1": { "Tumbleweed": 2 } - }, - "USER": { - "0": { "DistGame": 1 } - }, - "USERNAME": { - "0": { "BuildAndroid": 1 } - }, - "USERPROFILE": { - "0": { "EngineConfigFile": 2 } - }, - "Ultrasound": { - "0": { "MIDI-playback": 3 } - }, - "Un-indent": { - "0": { "KeyboardShortcuts": 1 } - }, - "UnPauseGame": { - "0": { "Globalfunctions_General": 9 }, - "1": { "System": 1 } - }, - "Unable": { - "0": { "Game": 2 } - }, - "Uncompressed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Understanding": { - "0": { "BlockingScripts": 1 }, - "1": { "ScriptingLanguage": 1 } - }, - "Undo": { - "0": { "acintro2": 1 }, - "1": { "KeyboardShortcuts": 1 } - }, - "Undoes": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "Unfortunately": { - "0": { "acintro9": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "EditorFont": 1 }, - "4": { "GameSavesCompatibility": 1 } - }, - "UnfreezePlayer": { - "0": { "Tumbleweed_player": 3 } - }, - "Unhandled": { - "0": { "Tumbleweed": 5 }, - "1": { "Tumbleweed_door": 1 }, - "2": { "Tumbleweed_unhandled": 4 } - }, - "Unicode": { - "0": { "GeneralSettings": 1 }, - "1": { "OtherFeatures": 1 }, - "2": { "StringFormats": 1 }, - "3": { "Translations": 1 }, - "4": { "UnicodeSupport": 21 }, - "5": { "UpgradeTo36": 17 } - }, - "Unicode-mode": { - "0": { "UnicodeSupport": 1 } - }, - "Uniform": { - "0": { "Character": 1 } - }, - "UniqueId": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Unlike": { - "0": { "acintro9": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "GUIControl": 1 }, - "7": { "Mouse": 1 }, - "8": { "Pointers": 1 }, - "9": { "Region": 1 }, - "10": { "ScriptKeywords": 1 }, - "11": { "Tumbleweed_translation": 1 } - }, - "Unload": { - "0": { "EventTypes": 1 } - }, - "UnlockView": { - "0": { "Character": 18 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptingTutorialPart2": 1 } - }, - "Unlocked": { - "0": { "DefaultSetup": 1 } - }, - "UnregisterEventHook": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "UnregisterScriptHeader": { - "0": { "EnginePluginDesign-timeAPI": 2 } - }, - "Unregisters": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "UnrequestEventHook": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Unserialize": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "Unused": { - "0": { "GameSavesCompatibility": 1 } - }, - "Up": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "InvWindow": 1 }, - "4": { "KeyboardShortcuts": 1 }, - "5": { "Keycodes": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "Tumbleweed": 2 } - }, - "Update": { - "0": { "DialogOptionsRenderingInfo": 4 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Mouse": 3 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "OOProgramming": 1 }, - "5": { "Translations": 2 }, - "6": { "UpgradeTo34": 1 } - }, - "UpdateActionBar": { - "0": { "Tumbleweed_actions": 2 } - }, - "UpdateInventory": { - "0": { "Character": 3 }, - "1": { "Globalfunctions_General": 2 } - }, - "UpdatePalette": { - "0": { "Globalfunctions_Palette": 4 } - }, - "Updates": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Mouse": 1 } - }, - "Updating": { - "0": { "EditorSprite": 1 } - }, - "Upgrading": { - "0": { "FAQ": 1 }, - "1": { "ScriptAPIOverview": 4 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo30": 1 }, - "4": { "UpgradeTo31": 1 }, - "5": { "UpgradeTo32": 1 }, - "6": { "UpgradeTo33": 1 }, - "7": { "UpgradeTo335": 1 }, - "8": { "UpgradeTo34": 1 }, - "9": { "UpgradeTo341": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "UpgradeTo36": 1 }, - "12": { "UpgradeTo361": 1 }, - "13": { "UpgradingFromPreviousVersion": 13 }, - "14": { "UpgradingTo27": 1 }, - "15": { "UpgradingTo271": 1 } - }, - "Upon": { - "0": { "acintro2": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "UpperCase": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "String": 4 } - }, - "Usage": { - "0": { "Tumbleweed_player": 2 } - }, - "Use": { - "0": { "acintro5": 3 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 2 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Character": 6 }, - "5": { "Constants": 2 }, - "6": { "ContactingTheDevelopers": 1 }, - "7": { "CustomDialogOptions": 4 }, - "8": { "DefaultSetup": 3 }, - "9": { "DrawingSurface": 1 }, - "10": { "DynamicSprite": 10 }, - "11": { "EditorCursor": 2 }, - "12": { "EditorLogPanel": 1 }, - "13": { "EditorPreferences": 1 }, - "14": { "EngineConfigFile": 1 }, - "15": { "EnginePluginRun-timeAPI": 5 }, - "16": { "EventTypes": 4 }, - "17": { "GeneralSettings": 8 }, - "18": { "Globalfunctions_Event": 7 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Globalfunctions_Room": 6 }, - "21": { "GlobalVariables": 1 }, - "22": { "Hotspot": 4 }, - "23": { "InventoryItem": 5 }, - "24": { "Keycodes": 1 }, - "25": { "Lipsync": 3 }, - "26": { "ListBox": 2 }, - "27": { "Mouse": 4 }, - "28": { "Multimedia": 1 }, - "29": { "Object": 4 }, - "30": { "ObsoleteScriptAPI": 3 }, - "31": { "Overlay": 1 }, - "32": { "Plugins": 2 }, - "33": { "Room": 4 }, - "34": { "ScriptAPIOverview": 2 }, - "35": { "Settingupthegame": 3 }, - "36": { "Setup": 2 }, - "37": { "SourceControl": 1 }, - "38": { "System": 4 }, - "39": { "TemplateVerbcoin": 1 }, - "40": { "Tumbleweed": 6 }, - "41": { "Tumbleweed_player": 2 }, - "42": { "Tumbleweed_unhandled": 1 }, - "43": { "UpgradeTo30": 1 }, - "44": { "UpgradeTo31": 1 }, - "45": { "UpgradeTo33": 1 }, - "46": { "UpgradeTo34": 1 }, - "47": { "UpgradeTo36": 1 } - }, - "UseContinuousScaling": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "UseDefaultGraphic": { - "0": { "Mouse": 3 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "UseGlobalSpeechAnimationDelay": { - "0": { "Character": 2 }, - "1": { "Speech": 5 } - }, - "UseHighResCoordinates": { - "0": { "DrawingSurface": 7 }, - "1": { "DynamicSprite": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "UseInv": { - "0": { "EventTypes": 4 }, - "1": { "Tumbleweed": 2 } - }, - "UseModeGraphic": { - "0": { "Mouse": 8 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "UseNativeCoordinates": { - "0": { "Game": 3 } - }, - "UseRoomAreaLighting": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Settingupthegame": 1 } - }, - "UseRoomAreaScaling": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Character": 1 }, - "2": { "Object": 1 }, - "3": { "Settingupthegame": 1 } - }, - "Used": { - "0": { "Constants": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "StandardEnums": 32 }, - "3": { "Tumbleweed_actions": 3 }, - "4": { "Tumbleweed_door": 1 }, - "5": { "Tumbleweed_extensions": 3 }, - "6": { "Tumbleweed_helper": 1 } - }, - "UsedAction": { - "0": { "Tumbleweed": 6 }, - "1": { "Tumbleweed_actions": 2 }, - "2": { "Tumbleweed_unhandled": 1 } - }, - "Useful": { - "0": { "EditorView": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "GUI": 1 } - }, - "User": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Pointers": 2 }, - "3": { "TheScriptHeader": 1 } - }, - "UserData": { - "0": { "UpgradeTo36": 2 } - }, - "Usermode": { - "0": { "Tumbleweed": 1 } - }, - "Username": { - "0": { "Setup": 1 } - }, - "Users": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "Setup": 1 } - }, - "Uses": { - "0": { "EditorPreferences": 1 }, - "1": { "GeneralSettings": 1 } - }, - "Using": { - "0": { "acintro": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 1 }, - "6": { "DialogScript": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Palette": 1 }, - "11": { "MusicAndSound": 2 }, - "12": { "OOProgramming": 4 }, - "13": { "ScriptingTutorialPart2": 1 }, - "14": { "StartingOff": 1 }, - "15": { "Templates": 1 }, - "16": { "TextParser": 1 }, - "17": { "Tumbleweed": 2 }, - "18": { "Tumbleweed_player": 1 }, - "19": { "UnicodeSupport": 1 }, - "20": { "UpgradeTo36": 1 } - }, - "Usually": { - "0": { "acintro5": 1 }, - "1": { "Character": 3 }, - "2": { "DefaultSetup": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Room": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "Setup": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 }, - "10": { "Tumbleweed_actions": 1 } - }, - "VALUE": { - "0": { "Constants": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "File": 4 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "StandardEnums": 1 }, - "5": { "Translations": 1 } - }, - "VARIABLE": { - "0": { "Globalfunctions_General": 2 } - }, - "VB": { - "0": { "EditorPlugins": 1 } - }, - "VC": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "VDOORANIMATION": { - "0": { "Hotspot": 1 } - }, - "VER": { - "0": { "GameSavesCompatibility": 7 } - }, - "VIEW": { - "0": { "Button": 1 }, - "1": { "Character": 5 }, - "2": { "Mouse": 1 }, - "3": { "Object": 2 }, - "4": { "UpgradeTo30": 1 } - }, - "VIEWS": { - "0": { "UpgradeTo30": 1 } - }, - "VOC": { - "0": { "AudioChannel": 2 } - }, - "VOLUME": { - "0": { "Game": 1 }, - "1": { "Multimedia": 1 } - }, - "VOX": { - "0": { "AudioClip": 1 }, - "1": { "Multimedia": 1 } - }, - "VRAM": { - "0": { "EngineConfigFile": 1 }, - "1": { "Setup": 1 } - }, - "VROGERANIMS": { - "0": { "ExtenderFunctions": 1 } - }, - "VSync": { - "0": { "Globalfunctions_General": 1 }, - "1": { "System": 4 } - }, - "Valid": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 3 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ListBox": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "Overlay": 6 }, - "6": { "Speech": 1 } - }, - "Value": { - "0": { "Character": 2 }, - "1": { "EditorGUI": 1 }, - "2": { "Hotspot": 2 }, - "3": { "InventoryItem": 2 }, - "4": { "Mouse": 1 }, - "5": { "Object": 2 }, - "6": { "ObsoleteScriptAPI": 2 }, - "7": { "Slider": 7 } - }, - "Values": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "UnicodeSupport": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "Valve": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "Van": { - "0": { "Credits": 1 } - }, - "Vandepoele": { - "0": { "Credits": 1 } - }, - "Variable": { - "0": { "MusicAndSound": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "VariableExtensions": { - "0": { "Tumbleweed_door": 2 }, - "1": { "Tumbleweed_extensions": 2 } - }, - "Variables": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GlobalVariables": 7 }, - "2": { "ImportingFunctionsAndVariables": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "ObsoleteScriptAPI": 6 }, - "5": { "RepExec": 1 }, - "6": { "ScriptingTutorialPart1": 2 }, - "7": { "UnicodeSupport": 2 }, - "8": { "UpgradeTo30": 1 }, - "9": { "UpgradeTo36": 2 } - }, - "Various": { - "0": { "GeneralSettings": 1 }, - "1": { "Pointers": 2 } - }, - "Vega": { - "0": { "Credits": 1 } - }, - "Verb": { - "0": { "Credits": 2 }, - "1": { "InventoryItem": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "VerbCoin": { - "0": { "TemplateVerbcoin": 65 } - }, - "VerbCoinPosition": { - "0": { "TemplateVerbcoin": 1 } - }, - "VerbGuiOptions": { - "0": { "Tumbleweed": 1 } - }, - "Verbcoin": { - "0": { "Templates": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "Verbosity": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "Verbs": { - "0": { "Tumbleweed": 13 }, - "1": { "Tumbleweed_actions": 19 }, - "2": { "Tumbleweed_door": 15 }, - "3": { "Tumbleweed_extensions": 13 }, - "4": { "Tumbleweed_helper": 27 }, - "5": { "Tumbleweed_movement": 46 }, - "6": { "Tumbleweed_player": 8 }, - "7": { "Tumbleweed_translation": 12 }, - "8": { "Tumbleweed_unhandled": 4 } - }, - "Version": { - "0": { "EnginePluginRun-timeAPI": 6 }, - "1": { "GeneralSettings": 3 }, - "2": { "ObsoleteScriptAPI": 2 }, - "3": { "ScriptKeywords": 1 }, - "4": { "System": 3 } - }, - "Vertical": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 }, - "2": { "System": 2 } - }, - "VerticalOffset": { - "0": { "EditorFont": 1 } - }, - "Very": { - "0": { "acintro8": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "Video": { - "0": { "acintro": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "VideoSkipStyle": { - "0": { "Multimedia": 2 }, - "1": { "StandardEnums": 2 } - }, - "Vieira": { - "0": { "Credits": 1 } - }, - "View": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 3 }, - "2": { "acintro7": 3 }, - "3": { "acintro9": 1 }, - "4": { "Button": 6 }, - "5": { "Camera": 1 }, - "6": { "Character": 14 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorView": 5 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "FAQ": 1 }, - "11": { "GameSavesCompatibility": 4 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "Object": 7 }, - "14": { "Settingupthegame": 1 }, - "15": { "ViewFrame": 7 } - }, - "ViewCount": { - "0": { "Game": 4 } - }, - "ViewFrame": { - "0": { "AudioClip": 1 }, - "1": { "Camera": 1 }, - "2": { "Game": 5 }, - "3": { "ObsoleteScriptAPI": 3 }, - "4": { "Scripting": 1 }, - "5": { "ViewFrame": 36 } - }, - "ViewMatrix": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Viewer": { - "0": { "acintro9": 1 } - }, - "Viewport": { - "0": { "Camera": 15 }, - "1": { "Game": 2 }, - "2": { "Screen": 20 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "Scripting": 1 }, - "5": { "System": 10 }, - "6": { "UpgradeTo35": 12 }, - "7": { "Viewport": 94 } - }, - "Viewport's": { - "0": { "Camera": 1 }, - "1": { "UpgradeTo35": 2 }, - "2": { "Viewport": 1 } - }, - "ViewportCount": { - "0": { "Screen": 4 } - }, - "ViewportHeight": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Screen": 1 }, - "2": { "System": 2 }, - "3": { "UpgradeTo35": 1 } - }, - "ViewportToRoom": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "ViewportWidth": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Screen": 1 }, - "2": { "System": 2 }, - "3": { "UpgradeTo35": 3 } - }, - "Viewports": { - "0": { "Camera": 2 }, - "1": { "Screen": 5 }, - "2": { "UpgradeTo35": 1 }, - "3": { "Viewport": 10 } - }, - "Views": { - "0": { "acintro": 1 }, - "1": { "acintro7": 4 }, - "2": { "EditorView": 2 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "Settingupthegame": 2 }, - "5": { "SystemLimits": 1 } - }, - "Virtually": { - "0": { "UpgradeTo36": 1 } - }, - "Visibility": { - "0": { "EditorGUI": 1 }, - "1": { "EditorRoom": 1 } - }, - "Visible": { - "0": { "acintro4": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "GUI": 16 }, - "5": { "GUIControl": 8 }, - "6": { "InvWindow": 2 }, - "7": { "Mouse": 5 }, - "8": { "Object": 6 }, - "9": { "ObsoleteScriptAPI": 10 }, - "10": { "Screen": 2 }, - "11": { "Viewport": 4 } - }, - "Vista": { - "0": { "Game": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "SystemRequirements": 2 } - }, - "Visual": { - "0": { "acintro1": 1 }, - "1": { "EditorPlugins": 8 }, - "2": { "GeneralSettings": 1 }, - "3": { "SourceControl": 1 }, - "4": { "SystemRequirements": 4 }, - "5": { "UpgradeTo33": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "Voice": { - "0": { "Character": 2 }, - "1": { "DistGame": 1 }, - "2": { "Game": 4 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "Lipsync": 2 }, - "5": { "Multimedia": 1 }, - "6": { "MusicAndSound": 2 }, - "7": { "VoiceSpeech": 3 } - }, - "Voice-based": { - "0": { "Lipsync": 1 } - }, - "Voice-over": { - "0": { "GameSavesCompatibility": 1 } - }, - "VoiceMode": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Speech": 4 }, - "2": { "StandardEnums": 1 }, - "3": { "UpgradeTo33": 1 }, - "4": { "VoiceSpeech": 1 } - }, - "Volume": { - "0": { "AudioChannel": 7 }, - "1": { "AudioInScript": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 1 }, - "4": { "Game": 1 }, - "5": { "Multimedia": 2 }, - "6": { "MusicAndSound": 3 }, - "7": { "Object": 1 }, - "8": { "ObsoleteScriptAPI": 5 }, - "9": { "Slider": 1 }, - "10": { "System": 5 }, - "11": { "UpgradeTo32": 2 } - }, - "VolumeReductionWhenSpeechPlaying": { - "0": { "MusicAndSound": 1 } - }, - "VolumeReductionWhileSpeechPlaying": { - "0": { "Game": 1 } - }, - "Vorbis": { - "0": { "Copyright": 1 }, - "1": { "MusicAndSound": 1 } - }, - "Vsync": { - "0": { "ObsoleteScriptAPI": 1 } - }, - "WALK": { - "0": { "Mouse": 1 } - }, - "WALKABLE": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "WALKBEHIND": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "WALKING": { - "0": { "ViewFrame": 8 } - }, - "WALKONLOOK": { - "0": { "Globalfunctions_General": 1 } - }, - "WARNING": { - "0": { "RuntimeEngine": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "Speech": 1 } - }, - "WARRANTY": { - "0": { "Copyright": 2 } - }, - "WAV": { - "0": { "AudioChannel": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Lipsync": 2 }, - "3": { "VoiceSpeech": 2 } - }, - "WAVE": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "WFN": { - "0": { "BackingUpYourGame": 1 }, - "1": { "EditorFont": 1 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo34": 2 } - }, - "WHAT": { - "0": { "Globalfunctions_Event": 2 } - }, - "WHATSOEVER": { - "0": { "Copyright": 2 } - }, - "WHENGUIDISABLED": { - "0": { "Globalfunctions_General": 1 } - }, - "WHETHER": { - "0": { "Copyright": 1 } - }, - "WHY": { - "0": { "ContactingTheDevelopers": 1 } - }, - "WIDTH": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 4 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Globalfunctions_Message": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Overlay": 1 } - }, - "WITHOUT": { - "0": { "Copyright": 2 } - }, - "WRITE": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "WRITTEN": { - "0": { "Copyright": 1 } - }, - "Wait": { - "0": { "acintro9": 2 }, - "1": { "AudioChannel": 9 }, - "2": { "AudioClip": 1 }, - "3": { "Button": 1 }, - "4": { "Camera": 10 }, - "5": { "Character": 10 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DateTime": 1 }, - "8": { "DrawingSurface": 1 }, - "9": { "DynamicSprite": 3 }, - "10": { "EditorCursor": 1 }, - "11": { "ExtenderFunctions": 1 }, - "12": { "FAQ": 1 }, - "13": { "Game": 2 }, - "14": { "Globalfunctions_General": 2 }, - "15": { "Globalfunctions_Screen": 2 }, - "16": { "Globalfunctions_Wait": 19 }, - "17": { "GUI": 1 }, - "18": { "Mouse": 3 }, - "19": { "Object": 4 }, - "20": { "Overlay": 6 }, - "21": { "RepExec": 1 }, - "22": { "ScriptKeywords": 6 }, - "23": { "Settingupthegame": 1 }, - "24": { "StandardEnums": 1 }, - "25": { "UpgradeTo32": 1 }, - "26": { "Viewport": 8 } - }, - "WaitInput": { - "0": { "Globalfunctions_Wait": 3 } - }, - "WaitKey": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_Wait": 9 } - }, - "WaitMouse": { - "0": { "Globalfunctions_Wait": 8 } - }, - "WaitMouseKey": { - "0": { "FAQ": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_Wait": 12 } - }, - "WaitX": { - "0": { "Globalfunctions_Wait": 1 } - }, - "Walk": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 2 }, - "2": { "acintro9": 1 }, - "3": { "Character": 24 }, - "4": { "EditorCursor": 1 }, - "5": { "EventTypes": 4 }, - "6": { "FAQ": 1 }, - "7": { "GeneralSettings": 4 }, - "8": { "Globalfunctions_General": 9 }, - "9": { "Globalfunctions_Wait": 1 }, - "10": { "Hotspot": 2 }, - "11": { "Mouse": 1 }, - "12": { "Object": 2 }, - "13": { "ObsoleteScriptAPI": 5 }, - "14": { "Pointers": 3 }, - "15": { "RepExec": 4 }, - "16": { "Settingupthegame": 2 }, - "17": { "StandardEnums": 2 }, - "18": { "UpgradeTo31": 1 } - }, - "Walk-behind": { - "0": { "acintro2": 2 } - }, - "Walk-behinds": { - "0": { "acintro2": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "SystemLimits": 1 } - }, - "Walk-to": { - "0": { "acintro3": 2 } - }, - "WalkOffScreen": { - "0": { "Tumbleweed_movement": 3 } - }, - "WalkOn": { - "0": { "EventTypes": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "WalkSpeedX": { - "0": { "Character": 5 } - }, - "WalkSpeedY": { - "0": { "Character": 5 } - }, - "WalkStraight": { - "0": { "Character": 3 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "StandardEnums": 1 } - }, - "WalkTo": { - "0": { "EditorRoom": 1 }, - "1": { "Mouse": 1 }, - "2": { "Tumbleweed": 1 }, - "3": { "Tumbleweed_movement": 1 } - }, - "WalkToPoint": { - "0": { "acintro3": 1 } - }, - "WalkToX": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Hotspot": 5 }, - "2": { "ObsoleteScriptAPI": 2 } - }, - "WalkToY": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Hotspot": 5 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "WalkWhere": { - "0": { "Character": 2 }, - "1": { "Object": 3 }, - "2": { "StandardEnums": 2 }, - "3": { "Tumbleweed_movement": 1 } - }, - "Walkable": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "EditorRoom": 3 }, - "5": { "SystemLimits": 1 } - }, - "Walkbehinds": { - "0": { "EditorRoom": 1 } - }, - "Walker": { - "0": { "Credits": 1 } - }, - "Walks": { - "0": { "acintro3": 2 }, - "1": { "EventTypes": 2 } - }, - "WalksOff": { - "0": { "EventTypes": 1 } - }, - "WalksOnto": { - "0": { "EventTypes": 1 } - }, - "Walter": { - "0": { "Credits": 1 } - }, - "Wang": { - "0": { "Credits": 1 } - }, - "Warning": { - "0": { "DistGame": 1 }, - "1": { "EditorPreferences": 1 } - }, - "Watteau": { - "0": { "Credits": 1 } - }, - "Wave": { - "0": { "MusicAndSound": 1 } - }, - "WaveOut": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Waves": { - "0": { "Speech": 1 } - }, - "WaypointCount": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "We": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 3 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "BuildAndroid": 1 }, - "8": { "Character": 1 }, - "9": { "ContactingTheDevelopers": 1 }, - "10": { "EditorCommandLineOptions": 2 }, - "11": { "EditorPlugins": 3 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "Game": 2 }, - "14": { "Object": 1 }, - "15": { "ScriptingTutorialPart1": 2 }, - "16": { "ScriptKeywords": 1 }, - "17": { "System": 1 }, - "18": { "SystemLimits": 1 }, - "19": { "Tumbleweed_translation": 1 }, - "20": { "UpgradeTo34": 1 }, - "21": { "UpgradeTo35": 1 }, - "22": { "UpgradeTo36": 4 } - }, - "We'll": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 } - }, - "We're": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 } - }, - "We've": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "Weapon": { - "0": { "OOProgramming": 11 }, - "1": { "ScriptKeywords": 6 } - }, - "Weapons": { - "0": { "OOProgramming": 1 } - }, - "Web": { - "0": { "DistGame": 3 }, - "1": { "Plugins": 1 }, - "2": { "UpgradeTo36": 3 } - }, - "WeiFen": { - "0": { "Credits": 1 } - }, - "Weight": { - "0": { "InventoryItem": 1 } - }, - "Welcome": { - "0": { "acintro1": 1 }, - "1": { "Introduction": 1 }, - "2": { "Templates": 1 } - }, - "Well": { - "0": { "acintro9": 1 }, - "1": { "MultipleScripts": 1 }, - "2": { "MusicAndSound": 4 }, - "3": { "Plugins": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "TextParser": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "What": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "AudioChannel": 2 }, - "5": { "BlockingScripts": 1 }, - "6": { "CustomProperties": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "DynamicArrays": 1 }, - "9": { "EditorPreferences": 1 }, - "10": { "FAQ": 2 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "GlobalVariables": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Plugins": 1 }, - "17": { "Pointers": 1 }, - "18": { "RepExec": 1 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "Setup": 1 }, - "21": { "SourceControl": 1 }, - "22": { "Templates": 1 }, - "23": { "TroubleshootingWindowsZoneID": 1 }, - "24": { "UpgradeTo31": 2 }, - "25": { "UpgradeTo32": 2 }, - "26": { "UpgradeTo36": 1 }, - "27": { "UpgradingTo27": 1 } - }, - "What's": { - "0": { "Pointers": 1 }, - "1": { "RepExec": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "Whatever": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "Game": 1 } - }, - "When": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 1 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioInScript": 4 }, - "11": { "BackingUpYourGame": 1 }, - "12": { "BlockingScripts": 1 }, - "13": { "Camera": 2 }, - "14": { "Character": 8 }, - "15": { "ContactingTheDevelopers": 1 }, - "16": { "Debuggingfeatures": 1 }, - "17": { "DialogScript": 1 }, - "18": { "DistGame": 2 }, - "19": { "EditorDialog": 1 }, - "20": { "EditorFont": 3 }, - "21": { "EditorGUI": 3 }, - "22": { "EditorInventoryItems": 1 }, - "23": { "EditorLogPanel": 1 }, - "24": { "EditorPreferences": 4 }, - "25": { "EditorSprite": 3 }, - "26": { "EditorView": 4 }, - "27": { "EnginePluginRun-timeAPI": 4 }, - "28": { "EnginePlugins": 1 }, - "29": { "FAQ": 3 }, - "30": { "File": 1 }, - "31": { "Game": 3 }, - "32": { "GameEventsOrder": 1 }, - "33": { "GameSavesCompatibility": 1 }, - "34": { "GeneralSettings": 7 }, - "35": { "Globalfunctions_Event": 1 }, - "36": { "Globalfunctions_General": 7 }, - "37": { "Globalfunctions_Palette": 1 }, - "38": { "Globalfunctions_Room": 1 }, - "39": { "GlobalVariables": 1 }, - "40": { "GUI": 2 }, - "41": { "GUIControl": 1 }, - "42": { "Lipsync": 3 }, - "43": { "ListBox": 1 }, - "44": { "MIDI-playback": 1 }, - "45": { "MusicAndSound": 2 }, - "46": { "Object": 3 }, - "47": { "Pointers": 1 }, - "48": { "RepExec": 1 }, - "49": { "Room": 1 }, - "50": { "Screen": 1 }, - "51": { "ScriptAPIOverview": 1 }, - "52": { "ScriptingTutorialPart1": 3 }, - "53": { "ScriptKeywords": 3 }, - "54": { "ScriptModules": 1 }, - "55": { "Set": 1 }, - "56": { "Settingupthegame": 5 }, - "57": { "Setup": 4 }, - "58": { "Slider": 3 }, - "59": { "Speech": 2 }, - "60": { "System": 3 }, - "61": { "TemplateBASS": 2 }, - "62": { "Templates": 1 }, - "63": { "TextParser": 1 }, - "64": { "Translations": 3 }, - "65": { "TroubleshootingWindowsZoneID": 2 }, - "66": { "Tumbleweed": 1 }, - "67": { "UnicodeSupport": 2 }, - "68": { "UpgradeTo30": 2 }, - "69": { "UpgradeTo31": 1 }, - "70": { "UpgradeTo32": 2 }, - "71": { "UpgradeTo33": 1 }, - "72": { "UpgradeTo335": 1 }, - "73": { "UpgradeTo341": 1 }, - "74": { "UpgradeTo35": 3 }, - "75": { "UpgradeTo36": 3 }, - "76": { "UpgradeTo361": 1 }, - "77": { "Viewport": 1 }, - "78": { "VoiceSpeech": 1 } - }, - "Whenever": { - "0": { "acintro6": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Preprocessor": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "Where": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Character": 1 }, - "4": { "Dialog": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "Object": 1 }, - "11": { "RuntimeEngine": 1 }, - "12": { "UnicodeSupport": 1 }, - "13": { "UpgradeTo32": 1 }, - "14": { "UpgradeTo36": 1 }, - "15": { "UpgradingTo27": 1 }, - "16": { "UpgradingTo271": 1 } - }, - "Wherever": { - "0": { "FAQ": 1 } - }, - "Wheter": { - "0": { "EditorPreferences": 1 } - }, - "Whether": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "GUIControl": 1 } - }, - "Which": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "SourceControl": 2 }, - "5": { "UpgradeTo32": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "While": { - "0": { "acintro8": 1 }, - "1": { "DateTime": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EventTypes": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "GUIControl": 2 }, - "7": { "MIDI-playback": 1 }, - "8": { "Plugins": 1 }, - "9": { "Region": 2 }, - "10": { "Settingupthegame": 2 }, - "11": { "Translations": 1 }, - "12": { "UpgradeTo36": 1 } - }, - "Whilst": { - "0": { "EditorRoom": 1 } - }, - "Who": { - "0": { "acintro8": 2 } - }, - "Whole": { - "0": { "GeneralSettings": 1 } - }, - "Whole-Screen": { - "0": { "Character": 1 } - }, - "WholeScreen": { - "0": { "Character": 1 } - }, - "Why": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "UpgradeTo31": 2 }, - "4": { "UpgradeTo32": 1 } - }, - "Width": { - "0": { "Camera": 22 }, - "1": { "CustomDialogOptions": 9 }, - "2": { "DialogOptionsRenderingInfo": 14 }, - "3": { "DrawingSurface": 6 }, - "4": { "DynamicSprite": 17 }, - "5": { "Game": 1 }, - "6": { "GUI": 5 }, - "7": { "GUIControl": 5 }, - "8": { "Mouse": 3 }, - "9": { "ObsoleteScriptAPI": 3 }, - "10": { "Overlay": 7 }, - "11": { "Room": 5 }, - "12": { "Screen": 2 }, - "13": { "System": 11 }, - "14": { "UpgradeTo35": 2 }, - "15": { "UpgradeTo36": 1 }, - "16": { "Viewport": 20 } - }, - "Wieczorek": { - "0": { "Credits": 1 } - }, - "Wilkinson": { - "0": { "Credits": 1 } - }, - "Willcock": { - "0": { "Credits": 3 } - }, - "WinZip": { - "0": { "ContactingTheDevelopers": 1 } - }, - "Window": { - "0": { "acintro6": 4 }, - "1": { "acintro8": 1 }, - "2": { "EditorGUI": 2 }, - "3": { "EventTypes": 1 }, - "4": { "GeneralSettings": 2 }, - "5": { "UpgradeTo361": 1 } - }, - "Windowed": { - "0": { "DefaultSetup": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Setup": 2 }, - "3": { "System": 5 } - }, - "Windows": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro9": 3 }, - "3": { "AnonymousUsageInfo": 2 }, - "4": { "Copyright": 2 }, - "5": { "Credits": 3 }, - "6": { "DistGame": 11 }, - "7": { "EditorCommandLineOptions": 2 }, - "8": { "EditorFont": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EngineConfigFile": 4 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 6 }, - "13": { "EnginePlugins": 3 }, - "14": { "FAQ": 1 }, - "15": { "Game": 3 }, - "16": { "GeneralSettings": 3 }, - "17": { "Globalfunctions_General": 1 }, - "18": { "GraphicsDriver": 5 }, - "19": { "Introduction": 1 }, - "20": { "ListBox": 1 }, - "21": { "MIDI-playback": 3 }, - "22": { "Multimedia": 4 }, - "23": { "Plugins": 5 }, - "24": { "RuntimeEngine": 6 }, - "25": { "Settingupthegame": 1 }, - "26": { "Setup": 3 }, - "27": { "System": 4 }, - "28": { "SystemRequirements": 3 }, - "29": { "TroubleshootingWindowsZoneID": 8 }, - "30": { "UpgradeTo34": 1 }, - "31": { "UpgradeTo341": 1 }, - "32": { "UpgradeTo36": 7 } - }, - "Windows-based": { - "0": { "GraphicsDriver": 1 } - }, - "Windows-only": { - "0": { "UpgradeTo36": 1 } - }, - "Windows-style": { - "0": { "acintro9": 1 } - }, - "Within": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "Dictionary": 1 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EditorPlugins": 1 } - }, - "Without": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Character": 1 }, - "2": { "TemplateBASS": 1 } - }, - "Wo": { - "0": { "String": 1 } - }, - "Word": { - "0": { "Parser": 1 } - }, - "Work": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 } - }, - "Works": { - "0": { "Overlay": 2 } - }, - "World": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "String": 7 }, - "2": { "UpgradingTo271": 1 } - }, - "WorldMatrix": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "Write": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GeneralSettings": 1 } - }, - "WriteByte": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "WriteCustomModuleData": { - "0": { "File": 1 } - }, - "WriteInt": { - "0": { "File": 12 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Pointers": 1 } - }, - "WriteRawChar": { - "0": { "File": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "WriteRawInt": { - "0": { "File": 4 } - }, - "WriteRawLine": { - "0": { "File": 6 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "WriteString": { - "0": { "File": 14 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Pointers": 1 } - }, - "Writes": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "File": 5 }, - "2": { "System": 1 } - }, - "Writing": { - "0": { "ScriptModules": 1 } - }, - "WxH": { - "0": { "EngineConfigFile": 1 } - }, - "X-position": { - "0": { "DialogOptionsRenderingInfo": 2 }, - "1": { "Globalfunctions_Room": 1 } - }, - "XDG": { - "0": { "EngineConfigFile": 3 }, - "1": { "Game": 1 } - }, - "XM": { - "0": { "AudioChannel": 2 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "XOFFSET": { - "0": { "Character": 1 } - }, - "XOR": { - "0": { "ScriptKeywords": 1 } - }, - "XP": { - "0": { "Game": 1 } - }, - "XPLevel": { - "0": { "Character": 2 } - }, - "XVid": { - "0": { "Multimedia": 2 } - }, - "XX": { - "0": { "EditorGUI": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Label": 1 } - }, - "XXX": { - "0": { "OOProgramming": 5 } - }, - "XXXX": { - "0": { "Gamevariables": 1 }, - "1": { "Parser": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "XXXXY": { - "0": { "VoiceSpeech": 1 } - }, - "Xf": { - "0": { "StringFormats": 1 } - }, - "Xiph": { - "0": { "Copyright": 1 } - }, - "Y-position": { - "0": { "DialogOptionsRenderingInfo": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Room": 1 } - }, - "YMAX": { - "0": { "Speech": 2 } - }, - "YMIN": { - "0": { "Speech": 2 } - }, - "YOFFSET": { - "0": { "Character": 1 } - }, - "YOU": { - "0": { "Copyright": 1 } - }, - "YPOSITION": { - "0": { "Globalfunctions_Message": 1 } - }, - "Yay": { - "0": { "System": 1 } - }, - "Year": { - "0": { "DateTime": 4 } - }, - "Yep": { - "0": { "Tumbleweed": 1 } - }, - "Yes": { - "0": { "acintro7": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "FAQ": 4 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "Multimedia": 2 }, - "6": { "OOProgramming": 2 }, - "7": { "UpgradeTo31": 1 } - }, - "You": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 4 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 4 }, - "6": { "acintro7": 5 }, - "7": { "acintro8": 5 }, - "8": { "acintro9": 2 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "AudioChannel": 2 }, - "11": { "AudioClip": 3 }, - "12": { "AudioInScript": 3 }, - "13": { "BackingUpYourGame": 1 }, - "14": { "BlockingScripts": 1 }, - "15": { "BuildAndroid": 2 }, - "16": { "Button": 2 }, - "17": { "Camera": 3 }, - "18": { "Character": 21 }, - "19": { "ColoursEditor": 4 }, - "20": { "Constants": 1 }, - "21": { "ContactingTheDevelopers": 1 }, - "22": { "CustomDialogOptions": 2 }, - "23": { "CustomProperties": 2 }, - "24": { "DateTime": 1 }, - "25": { "Debuggingfeatures": 2 }, - "26": { "DefaultSetup": 1 }, - "27": { "Dialog": 3 }, - "28": { "DialogOptionsRenderingInfo": 4 }, - "29": { "DialogScript": 2 }, - "30": { "DistGame": 6 }, - "31": { "DrawingSurface": 7 }, - "32": { "DynamicArrays": 6 }, - "33": { "DynamicSprite": 3 }, - "34": { "EditorCommandLineOptions": 2 }, - "35": { "EditorCursor": 1 }, - "36": { "EditorFont": 1 }, - "37": { "EditorGUI": 14 }, - "38": { "EditorInventoryItems": 4 }, - "39": { "EditorPlugins": 4 }, - "40": { "EditorRoom": 2 }, - "41": { "EditorSprite": 2 }, - "42": { "EditorView": 7 }, - "43": { "EnginePluginDesign-timeAPI": 6 }, - "44": { "EnginePluginRun-timeAPI": 38 }, - "45": { "EventTypes": 5 }, - "46": { "ExtenderFunctions": 1 }, - "47": { "FAQ": 4 }, - "48": { "File": 4 }, - "49": { "Game": 6 }, - "50": { "GameSavesCompatibility": 4 }, - "51": { "Gamevariables": 3 }, - "52": { "GeneralSettings": 6 }, - "53": { "Globalfunctions_Event": 5 }, - "54": { "Globalfunctions_General": 10 }, - "55": { "Globalfunctions_Message": 6 }, - "56": { "Globalfunctions_Palette": 1 }, - "57": { "Globalfunctions_Room": 4 }, - "58": { "Globalfunctions_Screen": 2 }, - "59": { "GlobalVariables": 2 }, - "60": { "GUI": 3 }, - "61": { "GUIControl": 2 }, - "62": { "Hotspot": 2 }, - "63": { "ImportingFunctionsAndVariables": 3 }, - "64": { "InventoryItem": 3 }, - "65": { "InvWindow": 5 }, - "66": { "Keycodes": 3 }, - "67": { "Label": 1 }, - "68": { "Lipsync": 2 }, - "69": { "ListBox": 4 }, - "70": { "Mouse": 5 }, - "71": { "Multimedia": 2 }, - "72": { "MusicAndSound": 2 }, - "73": { "Object": 10 }, - "74": { "OOProgramming": 2 }, - "75": { "Overlay": 2 }, - "76": { "Parser": 5 }, - "77": { "Pointers": 3 }, - "78": { "Preprocessor": 2 }, - "79": { "Region": 1 }, - "80": { "RepExec": 3 }, - "81": { "Room": 1 }, - "82": { "RuntimeEngine": 1 }, - "83": { "ScriptAPIOverview": 3 }, - "84": { "ScriptingTutorialPart1": 11 }, - "85": { "ScriptingTutorialPart2": 13 }, - "86": { "ScriptKeywords": 16 }, - "87": { "ScriptModules": 3 }, - "88": { "Settingupthegame": 28 }, - "89": { "Slider": 1 }, - "90": { "SourceControl": 1 }, - "91": { "StandardEnums": 1 }, - "92": { "StandardTypes": 1 }, - "93": { "String": 2 }, - "94": { "StringFormats": 2 }, - "95": { "System": 3 }, - "96": { "SystemLimits": 1 }, - "97": { "Templates": 2 }, - "98": { "TextParser": 6 }, - "99": { "Translations": 4 }, - "100": { "Tumbleweed": 6 }, - "101": { "Tumbleweed_door": 1 }, - "102": { "Tumbleweed_extensions": 3 }, - "103": { "Tumbleweed_movement": 1 }, - "104": { "Tumbleweed_translation": 1 }, - "105": { "UpgradeTo30": 2 }, - "106": { "UpgradeTo32": 3 }, - "107": { "UpgradeTo33": 3 }, - "108": { "UpgradeTo34": 6 }, - "109": { "UpgradeTo35": 1 }, - "110": { "UpgradeTo36": 2 }, - "111": { "UpgradingTo27": 1 }, - "112": { "Viewport": 5 } - }, - "You'd": { - "0": { "MultipleScripts": 1 }, - "1": { "TextParser": 2 } - }, - "You'll": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 2 }, - "7": { "acintro8": 2 }, - "8": { "CustomProperties": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Settingupthegame": 2 }, - "12": { "TextParser": 1 }, - "13": { "UpgradingTo27": 2 } - }, - "You're": { - "0": { "TextParser": 1 } - }, - "You've": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "YouTube": { - "0": { "acintro": 1 } - }, - "Your": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 1 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "DistGame": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorPlugins": 1 }, - "11": { "EditorPreferences": 1 }, - "12": { "EnginePluginDesign-timeAPI": 1 }, - "13": { "EnginePluginRun-timeAPI": 2 }, - "14": { "FAQ": 1 }, - "15": { "GeneralSettings": 2 }, - "16": { "GraphicsDriver": 1 }, - "17": { "Multimedia": 2 }, - "18": { "ScriptingTutorialPart2": 1 }, - "19": { "Translations": 1 }, - "20": { "Tumbleweed_translation": 1 }, - "21": { "UpgradeTo34": 1 }, - "22": { "UpgradeTo361": 1 } - }, - "Ypos": { - "0": { "GUI": 3 } - }, - "Z-Order": { - "0": { "EditorGUI": 1 } - }, - "Z-order": { - "0": { "EditorGUI": 1 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 6 }, - "3": { "Overlay": 1 } - }, - "ZIP": { - "0": { "GeneralSettings": 1 } - }, - "ZOrder": { - "0": { "Camera": 2 }, - "1": { "GUI": 8 }, - "2": { "GUIControl": 8 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Overlay": 11 }, - "5": { "Screen": 1 }, - "6": { "UpgradeTo36": 1 }, - "7": { "Viewport": 13 } - }, - "Zone": { - "0": { "Plugins": 2 }, - "1": { "TroubleshootingWindowsZoneID": 10 } - }, - "Zoom": { - "0": { "acintro6": 1 }, - "1": { "Camera": 1 }, - "2": { "EditorRoom": 1 } - }, - "a--": { - "0": { "ScriptKeywords": 1 } - }, - "a-key": { - "0": { "Dictionary": 2 } - }, - "a-value": { - "0": { "Dictionary": 2 } - }, - "a-z": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "aAftermath": { - "0": { "AudioClip": 2 } - }, - "aBeep": { - "0": { "AudioClip": 2 } - }, - "aExampleClip": { - "0": { "AudioClip": 1 } - }, - "aExplosion": { - "0": { "AudioChannel": 20 }, - "1": { "AudioClip": 16 }, - "2": { "MusicAndSound": 6 }, - "3": { "UpgradeTo32": 1 } - }, - "aFunnyTalk": { - "0": { "AudioChannel": 2 } - }, - "aInventorySound": { - "0": { "ScriptKeywords": 1 } - }, - "aMachine": { - "0": { "AudioChannel": 2 } - }, - "aMusic": { - "0": { "AudioChannel": 4 } - }, - "aMusicX": { - "0": { "UpgradeTo32": 1 } - }, - "aScaryMusic": { - "0": { "Game": 1 } - }, - "aSoundX": { - "0": { "UpgradeTo32": 1 } - }, - "aSpecialScoreSound": { - "0": { "ScriptingTutorialPart2": 2 } - }, - "aback": { - "0": { "UpgradeTo30": 1 } - }, - "abilities": { - "0": { "ExtenderFunctions": 1 } - }, - "ability": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorLogPanel": 1 }, - "2": { "Multimedia": 1 }, - "3": { "OOProgramming": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "StandardEnums": 1 }, - "8": { "TextParser": 1 }, - "9": { "UpgradeTo32": 1 } - }, - "able": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "BackingUpYourGame": 1 }, - "6": { "BuildAndroid": 1 }, - "7": { "Character": 2 }, - "8": { "ContactingTheDevelopers": 1 }, - "9": { "DefaultSetup": 2 }, - "10": { "DistGame": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorInventoryItems": 1 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "EnginePlugins": 1 }, - "16": { "ExtenderFunctions": 1 }, - "17": { "FAQ": 1 }, - "18": { "File": 2 }, - "19": { "Game": 1 }, - "20": { "GameSavesCompatibility": 2 }, - "21": { "GeneralSettings": 2 }, - "22": { "Globalfunctions_General": 2 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "GlobalVariables": 1 }, - "25": { "GUI": 1 }, - "26": { "Mouse": 2 }, - "27": { "Multimedia": 2 }, - "28": { "MusicAndSound": 2 }, - "29": { "OOProgramming": 1 }, - "30": { "Preprocessor": 1 }, - "31": { "ScriptingTutorialPart2": 1 }, - "32": { "Settingupthegame": 1 }, - "33": { "Setup": 1 }, - "34": { "SourceControl": 1 }, - "35": { "Speech": 1 }, - "36": { "SystemLimits": 2 }, - "37": { "TextParser": 2 }, - "38": { "TroubleshootingWindowsZoneID": 1 }, - "39": { "UnicodeSupport": 1 }, - "40": { "UpgradeTo31": 1 }, - "41": { "UpgradeTo34": 1 }, - "42": { "UpgradeTo36": 2 }, - "43": { "UpgradingTo271": 1 } - }, - "abort": { - "0": { "Button": 1 }, - "1": { "DialogScript": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "ScriptKeywords": 3 } - }, - "aborted": { - "0": { "Globalfunctions_General": 1 } - }, - "aborting": { - "0": { "EditorLogPanel": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "about": { - "0": { "acintro2": 2 }, - "1": { "acintro5": 2 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 8 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AnonymousUsageInfo": 2 }, - "7": { "AudioClip": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Character": 3 }, - "11": { "ContactingTheDevelopers": 2 }, - "12": { "CustomProperties": 1 }, - "13": { "Debuggingfeatures": 2 }, - "14": { "EditorFont": 1 }, - "15": { "EditorGUI": 2 }, - "16": { "EditorPlugins": 2 }, - "17": { "EnginePluginRun-timeAPI": 11 }, - "18": { "EnginePlugins": 2 }, - "19": { "EventTypes": 1 }, - "20": { "FAQ": 3 }, - "21": { "Game": 3 }, - "22": { "GameEventsOrder": 1 }, - "23": { "GameSavesCompatibility": 1 }, - "24": { "GeneralSettings": 1 }, - "25": { "Globalfunctions_General": 1 }, - "26": { "Globalfunctions_Room": 4 }, - "27": { "Globalfunctions_Screen": 1 }, - "28": { "GlobalVariables": 1 }, - "29": { "MusicAndSound": 1 }, - "30": { "Overlay": 2 }, - "31": { "Preprocessor": 2 }, - "32": { "RepExec": 2 }, - "33": { "ScriptingTutorialPart1": 1 }, - "34": { "ScriptingTutorialPart2": 3 }, - "35": { "ScriptKeywords": 1 }, - "36": { "Settingupthegame": 6 }, - "37": { "Templates": 2 }, - "38": { "TemplateVerbcoin": 1 }, - "39": { "Translations": 1 }, - "40": { "Tumbleweed": 1 }, - "41": { "Tumbleweed_extensions": 1 }, - "42": { "Tumbleweed_movement": 1 }, - "43": { "UpgradeTo32": 1 }, - "44": { "UpgradeTo341": 1 }, - "45": { "UpgradeTo35": 1 }, - "46": { "UpgradeTo36": 2 }, - "47": { "UpgradingTo27": 1 } - }, - "above": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 1 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioInScript": 1 }, - "8": { "Character": 6 }, - "9": { "ColoursEditor": 1 }, - "10": { "CustomDialogOptions": 4 }, - "11": { "Dictionary": 2 }, - "12": { "DistGame": 1 }, - "13": { "EditorRoom": 2 }, - "14": { "EditorSprite": 1 }, - "15": { "EditorView": 1 }, - "16": { "EnginePluginRun-timeAPI": 5 }, - "17": { "EventTypes": 2 }, - "18": { "FAQ": 1 }, - "19": { "Gamevariables": 1 }, - "20": { "GeneralSettings": 5 }, - "21": { "Globalfunctions_General": 1 }, - "22": { "Globalfunctions_Message": 2 }, - "23": { "ImportingFunctionsAndVariables": 1 }, - "24": { "Keycodes": 1 }, - "25": { "Lipsync": 2 }, - "26": { "Object": 1 }, - "27": { "Pointers": 1 }, - "28": { "Preprocessor": 1 }, - "29": { "RepExec": 1 }, - "30": { "ScriptAPIOverview": 1 }, - "31": { "ScriptingTutorialPart1": 2 }, - "32": { "ScriptKeywords": 6 }, - "33": { "ScriptModules": 3 }, - "34": { "Set": 1 }, - "35": { "Settingupthegame": 1 }, - "36": { "TextWindowGUI": 1 }, - "37": { "Translations": 1 }, - "38": { "Tumbleweed": 1 }, - "39": { "Tumbleweed_player": 1 }, - "40": { "UnicodeSupport": 1 }, - "41": { "UpgradeTo35": 2 }, - "42": { "UpgradeTo36": 3 }, - "43": { "UpgradingTo27": 1 }, - "44": { "Viewport": 1 }, - "45": { "VoiceSpeech": 1 } - }, - "absolute": { - "0": { "DefaultSetup": 2 }, - "1": { "EditorPreferences": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "File": 2 }, - "5": { "InventoryItem": 1 }, - "6": { "MIDI-playback": 2 } - }, - "absolutely": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "FAQ": 1 }, - "2": { "Mouse": 1 }, - "3": { "Room": 1 } - }, - "absorbs": { - "0": { "GUIControl": 1 } - }, - "abstauber": { - "0": { "Credits": 2 } - }, - "accelerated": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "acceleration": { - "0": { "GraphicsDriver": 1 }, - "1": { "Setup": 1 }, - "2": { "System": 2 } - }, - "accents": { - "0": { "UnicodeSupport": 1 } - }, - "accept": { - "0": { "BuildAndroid": 4 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DistGame": 1 }, - "3": { "GeneralSettings": 3 }, - "4": { "TextParser": 1 }, - "5": { "UnicodeSupport": 1 }, - "6": { "UpgradeTo31": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "acceptable": { - "0": { "EngineConfigFile": 1 }, - "1": { "GUIControl": 1 } - }, - "accepted": { - "0": { "Speech": 2 } - }, - "accepts": { - "0": { "DefaultSetup": 2 }, - "1": { "DynamicSprite": 2 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "Room": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "access": { - "0": { "acintro1": 2 }, - "1": { "acintro8": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Character": 4 }, - "4": { "Copyright": 1 }, - "5": { "CustomProperties": 2 }, - "6": { "DialogScript": 1 }, - "7": { "Dictionary": 1 }, - "8": { "DynamicArrays": 2 }, - "9": { "EditorPlugins": 3 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "GameSavesCompatibility": 4 }, - "12": { "GeneralSettings": 1 }, - "13": { "GlobalArrays": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Palette": 1 }, - "16": { "GlobalVariables": 2 }, - "17": { "GUI": 2 }, - "18": { "ListBox": 3 }, - "19": { "MultipleScripts": 3 }, - "20": { "MusicAndSound": 3 }, - "21": { "OOProgramming": 3 }, - "22": { "Screen": 1 }, - "23": { "ScriptingTutorialPart1": 1 }, - "24": { "ScriptKeywords": 7 }, - "25": { "Set": 1 }, - "26": { "Setup": 1 }, - "27": { "TroubleshootingWindowsZoneID": 1 }, - "28": { "Tumbleweed_door": 1 }, - "29": { "UpgradeTo361": 1 }, - "30": { "UpgradingTo27": 4 } - }, - "accessed": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "Camera": 2 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "Pointers": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "Setup": 1 }, - "9": { "UpgradingTo27": 1 }, - "10": { "Viewport": 2 } - }, - "accesses": { - "0": { "DateTime": 1 } - }, - "accessible": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 2 }, - "2": { "File": 1 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "ImportingFunctionsAndVariables": 1 }, - "7": { "ListBox": 1 }, - "8": { "OOProgramming": 1 }, - "9": { "Room": 1 } - }, - "accessing": { - "0": { "CustomDialogOptions": 1 } - }, - "accessors": { - "0": { "OOProgramming": 1 } - }, - "accident": { - "0": { "Game": 1 } - }, - "accidentally": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "Setup": 1 } - }, - "accomodate": { - "0": { "DynamicSprite": 1 } - }, - "accompanied": { - "0": { "UpgradeTo33": 1 } - }, - "accomplish": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "according": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUIControl": 1 }, - "5": { "Keycodes": 1 }, - "6": { "Object": 1 }, - "7": { "Overlay": 1 }, - "8": { "Pointers": 1 }, - "9": { "Setup": 1 } - }, - "accordingly": { - "0": { "Character": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Plugins": 1 } - }, - "account": { - "0": { "Screen": 2 }, - "1": { "Settingupthegame": 1 }, - "2": { "Viewport": 3 } - }, - "accounting": { - "0": { "System": 4 } - }, - "accross": { - "0": { "EditorPreferences": 1 } - }, - "accuracy": { - "0": { "Lipsync": 1 } - }, - "accurate": { - "0": { "AudioChannel": 1 }, - "1": { "Lipsync": 1 }, - "2": { "RepExec": 1 } - }, - "accurately": { - "0": { "UpgradeTo32": 1 } - }, - "achieve": { - "0": { "DistGame": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "Mouse": 1 }, - "3": { "Tumbleweed_unhandled": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "achieved": { - "0": { "EditorGUI": 1 }, - "1": { "Object": 1 } - }, - "achievements": { - "0": { "DefaultSetup": 1 } - }, - "achieving": { - "0": { "MusicAndSound": 1 } - }, - "acknowledge": { - "0": { "DistGame": 1 } - }, - "acknowledgment": { - "0": { "DistGame": 1 } - }, - "acolor": { - "0": { "CustomDialogOptions": 4 } - }, - "acquired": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "across": { - "0": { "acintro2": 2 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Camera": 3 }, - "4": { "Character": 2 }, - "5": { "DrawingSurface": 1 }, - "6": { "DynamicSprite": 3 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "File": 1 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "Overlay": 1 }, - "11": { "RepExec": 2 }, - "12": { "Room": 1 } - }, - "acsetup": { - "0": { "DefaultSetup": 3 }, - "1": { "DistGame": 1 }, - "2": { "EngineConfigFile": 5 }, - "3": { "UpgradeTo341": 1 } - }, - "acsprset": { - "0": { "EditorSprite": 3 }, - "1": { "UpgradeTo35": 1 } - }, - "act": { - "0": { "acintro9": 1 }, - "1": { "Character": 2 }, - "2": { "FAQ": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Hotspot": 1 }, - "5": { "Object": 2 }, - "6": { "Region": 1 }, - "7": { "Tumbleweed_door": 4 } - }, - "action": { - "0": { "acintro1": 2 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "EditorCursor": 2 }, - "4": { "FAQ": 2 }, - "5": { "GameEventsOrder": 1 }, - "6": { "GlobalArrays": 1 }, - "7": { "Globalfunctions_Event": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "ScriptingTutorialPart2": 2 }, - "10": { "Settingupthegame": 3 }, - "11": { "TemplateBASS": 1 }, - "12": { "TemplateSierraStyle": 1 }, - "13": { "TemplateVerbcoin": 4 }, - "14": { "Tumbleweed": 6 }, - "15": { "Tumbleweed_actions": 13 }, - "16": { "Tumbleweed_door": 1 }, - "17": { "Tumbleweed_extensions": 5 }, - "18": { "Tumbleweed_helper": 2 }, - "19": { "Tumbleweed_movement": 6 }, - "20": { "Tumbleweed_translation": 4 }, - "21": { "UpgradeTo30": 1 } - }, - "actions": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "Game": 1 }, - "7": { "GameEventsOrder": 2 }, - "8": { "Globalfunctions_Room": 1 }, - "9": { "ImportingFunctionsAndVariables": 1 }, - "10": { "Mouse": 1 }, - "11": { "Region": 1 }, - "12": { "Scripting": 2 }, - "13": { "Settingupthegame": 1 }, - "14": { "TemplateVerbcoin": 2 }, - "15": { "Tumbleweed": 3 }, - "16": { "Tumbleweed_actions": 1 }, - "17": { "Tumbleweed_door": 1 }, - "18": { "Tumbleweed_extensions": 1 }, - "19": { "Tumbleweed_helper": 1 }, - "20": { "Tumbleweed_unhandled": 1 }, - "21": { "UpgradeTo35": 1 }, - "22": { "UpgradeTo361": 1 } - }, - "activate": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 1 }, - "3": { "EventTypes": 1 }, - "4": { "GUI": 1 }, - "5": { "Object": 1 } - }, - "activated": { - "0": { "acintro9": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "InventoryItem": 1 }, - "6": { "Region": 1 }, - "7": { "TextParser": 1 }, - "8": { "TroubleshootingWindowsZoneID": 1 }, - "9": { "UpgradeTo361": 2 } - }, - "activating": { - "0": { "Character": 1 }, - "1": { "Hotspot": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "Object": 1 } - }, - "activation": { - "0": { "acintro5": 1 } - }, - "active": { - "0": { "acintro5": 1 }, - "1": { "acintro9": 2 }, - "2": { "Button": 1 }, - "3": { "Camera": 3 }, - "4": { "Character": 5 }, - "5": { "CustomDialogOptions": 9 }, - "6": { "DialogOptionsRenderingInfo": 3 }, - "7": { "EditorCursor": 1 }, - "8": { "EditorInventoryItems": 5 }, - "9": { "EditorRoom": 3 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "Game": 5 }, - "13": { "Gamevariables": 1 }, - "14": { "GeneralSettings": 2 }, - "15": { "Globalfunctions_Room": 1 }, - "16": { "Globalfunctions_Wait": 1 }, - "17": { "GUI": 1 }, - "18": { "Mouse": 3 }, - "19": { "Overlay": 2 }, - "20": { "ScriptAPIOverview": 1 }, - "21": { "Settingupthegame": 1 }, - "22": { "System": 4 }, - "23": { "Translations": 1 }, - "24": { "UpgradeTo34": 3 }, - "25": { "UpgradeTo36": 1 } - }, - "activeItem": { - "0": { "InventoryItem": 3 } - }, - "activeinv": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "actively": { - "0": { "EditorPreferences": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "acts": { - "0": { "Character": 2 }, - "1": { "Tumbleweed_extensions": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "actual": { - "0": { "acintro7": 1 }, - "1": { "Button": 2 }, - "2": { "Character": 5 }, - "3": { "Constants": 1 }, - "4": { "Dialog": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorRoom": 2 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 6 }, - "11": { "ExtenderFunctions": 1 }, - "12": { "Game": 2 }, - "13": { "GeneralSettings": 4 }, - "14": { "GraphicsDriver": 1 }, - "15": { "GUI": 1 }, - "16": { "Label": 1 }, - "17": { "Maths": 1 }, - "18": { "Mouse": 1 }, - "19": { "Multimedia": 1 }, - "20": { "Object": 1 }, - "21": { "OOProgramming": 3 }, - "22": { "Preprocessor": 1 }, - "23": { "ScriptAPIOverview": 1 }, - "24": { "ScriptKeywords": 3 }, - "25": { "Settingupthegame": 4 }, - "26": { "Speech": 2 }, - "27": { "StringFormats": 1 }, - "28": { "TheScriptHeader": 1 }, - "29": { "Translations": 1 }, - "30": { "UpgradeTo335": 1 }, - "31": { "UpgradeTo35": 1 } - }, - "actually": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 2 }, - "5": { "AudioClip": 1 }, - "6": { "AudioInScript": 1 }, - "7": { "BlockingScripts": 2 }, - "8": { "Button": 1 }, - "9": { "Character": 3 }, - "10": { "ColoursEditor": 1 }, - "11": { "DefaultSetup": 1 }, - "12": { "Dialog": 1 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorPlugins": 1 }, - "15": { "EnginePluginDesign-timeAPI": 1 }, - "16": { "EnginePluginRun-timeAPI": 6 }, - "17": { "EnginePlugins": 1 }, - "18": { "FAQ": 1 }, - "19": { "File": 2 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "GeneralSettings": 2 }, - "22": { "Globalfunctions_General": 1 }, - "23": { "Globalfunctions_Palette": 1 }, - "24": { "GUI": 7 }, - "25": { "GUIControl": 1 }, - "26": { "Hotspot": 1 }, - "27": { "ImportingFunctionsAndVariables": 1 }, - "28": { "InventoryItem": 1 }, - "29": { "Keycodes": 1 }, - "30": { "Lipsync": 1 }, - "31": { "ListBox": 2 }, - "32": { "Object": 2 }, - "33": { "OOProgramming": 2 }, - "34": { "RepExec": 1 }, - "35": { "ScriptKeywords": 1 }, - "36": { "Settingupthegame": 2 }, - "37": { "System": 1 }, - "38": { "Tumbleweed_movement": 3 }, - "39": { "UpgradingTo27": 2 }, - "40": { "UpgradingTo271": 1 } - }, - "adapt": { - "0": { "EditorRoom": 1 } - }, - "add": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 3 }, - "4": { "acintro8": 2 }, - "5": { "AnonymousUsageInfo": 1 }, - "6": { "AudioInScript": 1 }, - "7": { "AutonumberSpeechFiles": 1 }, - "8": { "BuildAndroid": 1 }, - "9": { "Character": 3 }, - "10": { "CustomDialogOptions": 3 }, - "11": { "CustomProperties": 1 }, - "12": { "Dialog": 1 }, - "13": { "DialogScript": 2 }, - "14": { "Dictionary": 2 }, - "15": { "DistGame": 3 }, - "16": { "DrawingSurface": 1 }, - "17": { "EditorGUI": 8 }, - "18": { "EditorInventoryItems": 2 }, - "19": { "EditorPlugins": 6 }, - "20": { "EditorView": 5 }, - "21": { "EnginePluginDesign-timeAPI": 3 }, - "22": { "EnginePluginRun-timeAPI": 2 }, - "23": { "EnginePlugins": 1 }, - "24": { "ExtenderFunctions": 2 }, - "25": { "File": 1 }, - "26": { "Game": 1 }, - "27": { "GameSavesCompatibility": 1 }, - "28": { "GeneralSettings": 2 }, - "29": { "Globalfunctions_Event": 3 }, - "30": { "Globalfunctions_General": 1 }, - "31": { "GlobalVariables": 3 }, - "32": { "Introduction": 1 }, - "33": { "InventoryItem": 2 }, - "34": { "Label": 1 }, - "35": { "ListBox": 4 }, - "36": { "MusicAndSound": 3 }, - "37": { "OOProgramming": 1 }, - "38": { "ScriptingTutorialPart1": 6 }, - "39": { "ScriptingTutorialPart2": 5 }, - "40": { "ScriptKeywords": 6 }, - "41": { "Settingupthegame": 4 }, - "42": { "SourceControl": 2 }, - "43": { "TextParser": 4 }, - "44": { "Translations": 4 }, - "45": { "Tumbleweed": 4 }, - "46": { "Tumbleweed_extensions": 6 }, - "47": { "UpgradeTo335": 1 }, - "48": { "UpgradeTo36": 2 }, - "49": { "UpgradeTo361": 2 }, - "50": { "VoiceSpeech": 1 } - }, - "add-ons": { - "0": { "EnginePlugins": 1 } - }, - "addAtIndex": { - "0": { "Character": 2 } - }, - "added": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro8": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "Camera": 1 }, - "6": { "Character": 2 }, - "7": { "Constants": 1 }, - "8": { "ContactingTheDevelopers": 2 }, - "9": { "DefaultSetup": 1 }, - "10": { "Dictionary": 1 }, - "11": { "EditorInventoryItems": 1 }, - "12": { "EditorLogPanel": 1 }, - "13": { "EditorPlugins": 1 }, - "14": { "EditorSprite": 1 }, - "15": { "EditorView": 2 }, - "16": { "EnginePluginDesign-timeAPI": 1 }, - "17": { "EnginePluginRun-timeAPI": 3 }, - "18": { "GameSavesCompatibility": 4 }, - "19": { "GeneralSettings": 2 }, - "20": { "Globalfunctions_Event": 3 }, - "21": { "ListBox": 2 }, - "22": { "MultipleScripts": 1 }, - "23": { "Preprocessor": 1 }, - "24": { "ScriptAPIOverview": 1 }, - "25": { "ScriptingTutorialPart1": 1 }, - "26": { "ScriptKeywords": 2 }, - "27": { "SourceControl": 1 }, - "28": { "StandardEnums": 2 }, - "29": { "SystemLimits": 1 }, - "30": { "Translations": 1 }, - "31": { "Tumbleweed_extensions": 1 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "UpgradeTo30": 2 }, - "34": { "UpgradeTo33": 2 }, - "35": { "UpgradeTo34": 2 }, - "36": { "UpgradeTo341": 2 }, - "37": { "UpgradeTo35": 1 }, - "38": { "UpgradeTo36": 2 }, - "39": { "UpgradeTo361": 1 }, - "40": { "UpgradingTo27": 1 }, - "41": { "UpgradingTo271": 1 } - }, - "adding": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "EditorGUI": 2 }, - "2": { "File": 1 }, - "3": { "GameSavesCompatibility": 7 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Lipsync": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "OOProgramming": 1 }, - "9": { "Plugins": 1 }, - "10": { "Set": 2 }, - "11": { "TextParser": 1 }, - "12": { "Tumbleweed": 1 }, - "13": { "UpgradeTo31": 1 }, - "14": { "UpgradeTo36": 1 } - }, - "addinventory": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "addition": { - "0": { "Button": 1 }, - "1": { "EditorRoom": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "InvWindow": 1 }, - "4": { "Keycodes": 2 }, - "5": { "Label": 1 }, - "6": { "ListBox": 1 }, - "7": { "MIDI-playback": 1 }, - "8": { "Slider": 1 }, - "9": { "TextBox": 1 }, - "10": { "TextWindowGUI": 1 }, - "11": { "Tumbleweed_extensions": 1 }, - "12": { "UpgradeTo34": 1 }, - "13": { "UpgradeTo35": 1 }, - "14": { "UpgradeTo36": 1 } - }, - "additional": { - "0": { "acintro9": 2 }, - "1": { "BuildAndroid": 1 }, - "2": { "Copyright": 1 }, - "3": { "DistGame": 2 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorFont": 1 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "File": 3 }, - "10": { "GameSavesCompatibility": 2 }, - "11": { "GeneralSettings": 1 }, - "12": { "Introduction": 1 }, - "13": { "MIDI-playback": 1 }, - "14": { "Parser": 1 }, - "15": { "Screen": 2 }, - "16": { "ScriptAPIOverview": 1 }, - "17": { "ScriptModules": 1 }, - "18": { "TemplateSierraStyle": 1 }, - "19": { "TemplateVerbcoin": 1 }, - "20": { "Tumbleweed": 1 }, - "21": { "UpgradeTo34": 1 }, - "22": { "UpgradeTo36": 1 }, - "23": { "UpgradingTo271": 1 } - }, - "additionally": { - "0": { "BuildAndroid": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "ScriptModules": 1 }, - "3": { "Translations": 1 } - }, - "additions": { - "0": { "acintro3": 1 }, - "1": { "Constants": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "UpgradingTo27": 2 } - }, - "address": { - "0": { "EnginePluginRun-timeAPI": 16 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "Pointers": 2 }, - "3": { "ScriptKeywords": 2 } - }, - "addressed": { - "0": { "Copyright": 1 }, - "1": { "UpgradeTo31": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "addresses": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "addressing": { - "0": { "ExtenderFunctions": 1 }, - "1": { "MusicAndSound": 1 } - }, - "adds": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "EnginePlugins": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "Tumbleweed_extensions": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "UpgradingTo271": 1 } - }, - "adjust": { - "0": { "acintro1": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioChannel": 5 }, - "3": { "AudioInScript": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "EditorRoom": 2 }, - "7": { "EnginePluginRun-timeAPI": 3 }, - "8": { "FAQ": 1 }, - "9": { "Game": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "ListBox": 1 }, - "12": { "MultipleScripts": 1 }, - "13": { "Screen": 1 }, - "14": { "ScriptAPIOverview": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "Setup": 1 }, - "17": { "System": 1 }, - "18": { "UpgradeTo32": 1 }, - "19": { "UpgradeTo35": 1 } - }, - "adjusted": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 8 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Slider": 2 }, - "6": { "UpgradeTo36": 1 } - }, - "adjusting": { - "0": { "EventTypes": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "Settingupthegame": 1 } - }, - "adjustment": { - "0": { "Game": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "adjustments": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorPlugins": 1 } - }, - "adjusts": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 1 }, - "2": { "TextWindowGUI": 1 } - }, - "administrative": { - "0": { "UpgradeTo335": 1 } - }, - "administrator": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "ado": { - "0": { "acintro1": 1 } - }, - "advance": { - "0": { "acintro8": 1 } - }, - "advanced": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GlobalVariables": 1 }, - "5": { "Overlay": 1 }, - "6": { "ScriptingTutorialPart1": 4 }, - "7": { "ScriptingTutorialPart2": 1 }, - "8": { "Setup": 3 }, - "9": { "UpgradingTo27": 1 } - }, - "advances": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "advantage": { - "0": { "acintro9": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "Dictionary": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "MultipleScripts": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "Set": 1 }, - "8": { "Setup": 1 }, - "9": { "System": 1 }, - "10": { "UpgradeTo31": 1 } - }, - "advantages": { - "0": { "acintro9": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradingTo27": 2 } - }, - "adventure": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "Copyright": 1 }, - "5": { "FAQ": 2 }, - "6": { "Introduction": 1 }, - "7": { "Settingupthegame": 1 } - }, - "adventuregamestudio": { - "0": { "ContactingTheDevelopers": 2 }, - "1": { "Copyright": 1 } - }, - "adventurer": { - "0": { "Hotspot": 1 } - }, - "advisable": { - "0": { "Pointers": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "advise": { - "0": { "Game": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "advised": { - "0": { "Mouse": 2 }, - "1": { "System": 1 } - }, - "aesthetics": { - "0": { "Setup": 1 } - }, - "affect": { - "0": { "AdvancedRoomFeatures": 3 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 2 }, - "3": { "Dictionary": 2 }, - "4": { "EditorRoom": 2 }, - "5": { "EditorSprite": 1 }, - "6": { "Gamevariables": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "RepExec": 2 }, - "9": { "Setup": 1 }, - "10": { "UpgradeTo30": 2 } - }, - "affected": { - "0": { "Character": 5 }, - "1": { "EditorRoom": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 2 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "GUI": 1 }, - "6": { "Object": 4 }, - "7": { "Room": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "Setup": 1 }, - "10": { "SystemRequirements": 1 }, - "11": { "UnicodeSupport": 1 }, - "12": { "UpgradeTo35": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "affecting": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "affects": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "FAQ": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GUI": 1 }, - "6": { "Room": 1 }, - "7": { "Speech": 2 }, - "8": { "System": 1 }, - "9": { "TextBox": 1 } - }, - "after": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "AudioClip": 1 }, - "4": { "AudioInScript": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "BuildAndroid": 4 }, - "7": { "Button": 1 }, - "8": { "Character": 8 }, - "9": { "Constants": 2 }, - "10": { "CustomProperties": 1 }, - "11": { "DefaultSetup": 1 }, - "12": { "DialogOptionsRenderingInfo": 2 }, - "13": { "DrawingSurface": 1 }, - "14": { "DynamicArrays": 1 }, - "15": { "DynamicSprite": 2 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorView": 3 }, - "18": { "EnginePluginDesign-timeAPI": 1 }, - "19": { "EnginePluginRun-timeAPI": 12 }, - "20": { "EventTypes": 7 }, - "21": { "FAQ": 1 }, - "22": { "Game": 5 }, - "23": { "GameSavesCompatibility": 5 }, - "24": { "Globalfunctions_Event": 7 }, - "25": { "Globalfunctions_General": 6 }, - "26": { "Globalfunctions_Screen": 2 }, - "27": { "GUI": 1 }, - "28": { "GUIControl": 1 }, - "29": { "Mouse": 1 }, - "30": { "Object": 1 }, - "31": { "Overlay": 1 }, - "32": { "RepExec": 2 }, - "33": { "ScriptingTutorialPart1": 4 }, - "34": { "ScriptKeywords": 3 }, - "35": { "Setup": 1 }, - "36": { "Speech": 1 }, - "37": { "Templates": 1 }, - "38": { "TextBox": 1 }, - "39": { "Translations": 1 }, - "40": { "Tumbleweed": 3 }, - "41": { "Tumbleweed_door": 2 }, - "42": { "Tumbleweed_movement": 1 }, - "43": { "UnicodeSupport": 1 }, - "44": { "UpgradeTo30": 1 }, - "45": { "UpgradeTo34": 1 }, - "46": { "UpgradeTo35": 1 }, - "47": { "UpgradeTo36": 1 }, - "48": { "UpgradeTo361": 2 } - }, - "afterwards": { - "0": { "AudioClip": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 1 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "StringFormats": 1 }, - "6": { "Tumbleweed": 1 }, - "7": { "Tumbleweed_extensions": 1 } - }, - "again": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro8": 2 }, - "6": { "AudioClip": 1 }, - "7": { "AudioInScript": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 3 }, - "10": { "Button": 1 }, - "11": { "Camera": 2 }, - "12": { "Character": 4 }, - "13": { "ContactingTheDevelopers": 2 }, - "14": { "CustomProperties": 1 }, - "15": { "Debuggingfeatures": 1 }, - "16": { "DefaultSetup": 1 }, - "17": { "Dialog": 2 }, - "18": { "DialogScript": 2 }, - "19": { "Dictionary": 2 }, - "20": { "DistGame": 1 }, - "21": { "DrawingSurface": 1 }, - "22": { "DynamicSprite": 2 }, - "23": { "EditorSprite": 2 }, - "24": { "EnginePluginDesign-timeAPI": 3 }, - "25": { "EnginePluginRun-timeAPI": 6 }, - "26": { "FAQ": 1 }, - "27": { "File": 1 }, - "28": { "Game": 1 }, - "29": { "GameSavesCompatibility": 1 }, - "30": { "Globalfunctions_Event": 1 }, - "31": { "Globalfunctions_General": 3 }, - "32": { "Globalfunctions_Room": 6 }, - "33": { "Globalfunctions_Screen": 3 }, - "34": { "GUIControl": 1 }, - "35": { "Mouse": 2 }, - "36": { "Multimedia": 1 }, - "37": { "Object": 1 }, - "38": { "Overlay": 1 }, - "39": { "RepExec": 1 }, - "40": { "Screen": 1 }, - "41": { "ScriptAPIOverview": 1 }, - "42": { "ScriptingTutorialPart1": 2 }, - "43": { "ScriptingTutorialPart2": 1 }, - "44": { "Settingupthegame": 1 }, - "45": { "Speech": 2 }, - "46": { "TroubleshootingWindowsZoneID": 1 }, - "47": { "Tumbleweed_helper": 1 }, - "48": { "Tumbleweed_player": 2 }, - "49": { "UpgradeTo36": 2 }, - "50": { "Viewport": 1 } - }, - "against": { - "0": { "acintro2": 1 }, - "1": { "File": 1 }, - "2": { "Game": 1 }, - "3": { "ScriptKeywords": 3 }, - "4": { "UpgradeTo35": 1 } - }, - "age": { - "0": { "Character": 2 } - }, - "age-old": { - "0": { "acintro4": 1 } - }, - "ages": { - "0": { "Globalfunctions_General": 1 } - }, - "agf": { - "0": { "EditorCommandLineOptions": 5 }, - "1": { "EditorSprite": 1 } - }, - "agree": { - "0": { "UpgradeTo30": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "ags": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 2 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePlugins": 1 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Plugins": 1 }, - "7": { "RuntimeEngine": 4 }, - "8": { "ScriptModules": 1 } - }, - "ags-help": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "agscircle": { - "0": { "Plugins": 1 } - }, - "agssave": { - "0": { "ListBox": 1 } - }, - "ahead": { - "0": { "acintro4": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_General": 1 } - }, - "aid": { - "0": { "UpgradingTo27": 1 } - }, - "aim": { - "0": { "TemplateVerbcoin": 1 } - }, - "aims": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "TemplateBASS": 1 } - }, - "air": { - "0": { "Globalfunctions_Room": 1 } - }, - "aka": { - "0": { "DefaultSetup": 1 }, - "1": { "FAQ": 1 } - }, - "alarm": { - "0": { "Tumbleweed": 1 } - }, - "alert": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "alerts": { - "0": { "RuntimeEngine": 1 } - }, - "algorithm": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Setup": 1 } - }, - "alias": { - "0": { "DialogScript": 1 } - }, - "alien": { - "0": { "acintro6": 4 } - }, - "align": { - "0": { "acintro6": 1 }, - "1": { "Character": 3 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "Gamevariables": 2 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "Speech": 2 }, - "7": { "StandardEnums": 2 }, - "8": { "UpgradeTo33": 1 } - }, - "aligned": { - "0": { "Button": 2 }, - "1": { "DrawingSurface": 1 }, - "2": { "Gamevariables": 2 }, - "3": { "Label": 1 }, - "4": { "ListBox": 1 }, - "5": { "Multimedia": 1 }, - "6": { "Speech": 2 }, - "7": { "Viewport": 1 } - }, - "alignment": { - "0": { "DrawingSurface": 1 }, - "1": { "Label": 1 }, - "2": { "ListBox": 1 }, - "3": { "StandardEnums": 1 } - }, - "alignments": { - "0": { "StandardEnums": 1 } - }, - "aligns": { - "0": { "Character": 1 } - }, - "alike": { - "0": { "EditorRoom": 1 } - }, - "alive": { - "0": { "Tumbleweed_unhandled": 1 } - }, - "all": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 5 }, - "7": { "acintro8": 7 }, - "8": { "AdvancedRoomFeatures": 4 }, - "9": { "AnonymousUsageInfo": 1 }, - "10": { "AudioChannel": 2 }, - "11": { "AudioClip": 3 }, - "12": { "AudioInScript": 3 }, - "13": { "AutonumberSpeechFiles": 1 }, - "14": { "BackingUpYourGame": 4 }, - "15": { "BlockingScripts": 1 }, - "16": { "Button": 1 }, - "17": { "Camera": 2 }, - "18": { "Character": 12 }, - "19": { "ColoursEditor": 3 }, - "20": { "Constants": 1 }, - "21": { "ContactingTheDevelopers": 2 }, - "22": { "Copyright": 1 }, - "23": { "Credits": 2 }, - "24": { "CustomDialogOptions": 5 }, - "25": { "CustomProperties": 2 }, - "26": { "Debuggingfeatures": 4 }, - "27": { "DefaultSetup": 1 }, - "28": { "Dialog": 1 }, - "29": { "DialogOptionsRenderingInfo": 2 }, - "30": { "DialogScript": 2 }, - "31": { "Dictionary": 3 }, - "32": { "DistGame": 4 }, - "33": { "DrawingSurface": 2 }, - "34": { "DynamicArrays": 3 }, - "35": { "DynamicSprite": 3 }, - "36": { "EditorGUI": 3 }, - "37": { "EditorPlugins": 2 }, - "38": { "EditorRoom": 2 }, - "39": { "EditorSprite": 14 }, - "40": { "EditorView": 6 }, - "41": { "EngineConfigFile": 6 }, - "42": { "EnginePluginDesign-timeAPI": 1 }, - "43": { "EnginePluginRun-timeAPI": 19 }, - "44": { "EnginePlugins": 2 }, - "45": { "EventTypes": 1 }, - "46": { "FAQ": 1 }, - "47": { "File": 6 }, - "48": { "Game": 27 }, - "49": { "GameSavesCompatibility": 7 }, - "50": { "GeneralSettings": 9 }, - "51": { "GlobalArrays": 1 }, - "52": { "Globalfunctions_Event": 2 }, - "53": { "Globalfunctions_General": 7 }, - "54": { "Globalfunctions_Message": 1 }, - "55": { "Globalfunctions_Palette": 1 }, - "56": { "Globalfunctions_Room": 10 }, - "57": { "Globalfunctions_Screen": 2 }, - "58": { "Globalfunctions_Wait": 1 }, - "59": { "GlobalVariables": 2 }, - "60": { "GUI": 7 }, - "61": { "GUIControl": 7 }, - "62": { "Hotspot": 3 }, - "63": { "ImportingFunctionsAndVariables": 2 }, - "64": { "Introduction": 1 }, - "65": { "InvWindow": 1 }, - "66": { "Keycodes": 2 }, - "67": { "Label": 1 }, - "68": { "Lipsync": 1 }, - "69": { "ListBox": 6 }, - "70": { "MIDI-playback": 2 }, - "71": { "Mouse": 2 }, - "72": { "Multimedia": 1 }, - "73": { "MultipleScripts": 4 }, - "74": { "MusicAndSound": 2 }, - "75": { "Object": 5 }, - "76": { "Overlay": 3 }, - "77": { "Parser": 1 }, - "78": { "Plugins": 1 }, - "79": { "Pointers": 7 }, - "80": { "Preprocessor": 4 }, - "81": { "Region": 4 }, - "82": { "RepExec": 1 }, - "83": { "RuntimeEngine": 5 }, - "84": { "Screen": 2 }, - "85": { "ScriptAPIOverview": 1 }, - "86": { "ScriptingTutorialPart1": 5 }, - "87": { "ScriptingTutorialPart2": 5 }, - "88": { "ScriptKeywords": 6 }, - "89": { "Set": 3 }, - "90": { "Settingupthegame": 11 }, - "91": { "Setup": 4 }, - "92": { "Slider": 1 }, - "93": { "Speech": 2 }, - "94": { "StandardEnums": 2 }, - "95": { "StartingOff": 1 }, - "96": { "String": 1 }, - "97": { "System": 3 }, - "98": { "SystemLimits": 1 }, - "99": { "Templates": 6 }, - "100": { "TextBox": 1 }, - "101": { "TextParser": 6 }, - "102": { "TextWindowGUI": 1 }, - "103": { "TheScriptHeader": 3 }, - "104": { "Translations": 3 }, - "105": { "Tumbleweed": 7 }, - "106": { "Tumbleweed_door": 2 }, - "107": { "UnicodeSupport": 4 }, - "108": { "UpgradeTo30": 3 }, - "109": { "UpgradeTo31": 3 }, - "110": { "UpgradeTo32": 2 }, - "111": { "UpgradeTo34": 4 }, - "112": { "UpgradeTo35": 5 }, - "113": { "UpgradeTo36": 10 }, - "114": { "UpgradeTo361": 1 }, - "115": { "UpgradingTo27": 12 }, - "116": { "UpgradingTo271": 1 }, - "117": { "Viewport": 3 } - }, - "all-users": { - "0": { "UpgradeTo335": 1 } - }, - "allocate": { - "0": { "EngineConfigFile": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 3 } - }, - "allocated": { - "0": { "acintro6": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "TemplateVerbcoin": 1 } - }, - "allow": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro9": 1 }, - "5": { "AudioClip": 1 }, - "6": { "Camera": 1 }, - "7": { "Character": 4 }, - "8": { "ColoursEditor": 2 }, - "9": { "Debuggingfeatures": 2 }, - "10": { "DefaultSetup": 1 }, - "11": { "DrawingSurface": 1 }, - "12": { "DynamicSprite": 1 }, - "13": { "EditorCharacter": 1 }, - "14": { "EditorCursor": 2 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorSprite": 1 }, - "18": { "EngineConfigFile": 1 }, - "19": { "EnginePluginDesign-timeAPI": 1 }, - "20": { "EnginePluginRun-timeAPI": 6 }, - "21": { "EventTypes": 2 }, - "22": { "ExtenderFunctions": 1 }, - "23": { "FAQ": 1 }, - "24": { "Game": 4 }, - "25": { "GameSavesCompatibility": 1 }, - "26": { "Gamevariables": 1 }, - "27": { "GeneralSettings": 3 }, - "28": { "Globalfunctions_General": 3 }, - "29": { "Globalfunctions_Palette": 1 }, - "30": { "Globalfunctions_Room": 1 }, - "31": { "GUI": 1 }, - "32": { "InventoryItem": 1 }, - "33": { "Lipsync": 1 }, - "34": { "Mouse": 1 }, - "35": { "MultipleScripts": 2 }, - "36": { "MusicAndSound": 1 }, - "37": { "OOProgramming": 1 }, - "38": { "Pointers": 2 }, - "39": { "ScriptKeywords": 3 }, - "40": { "Settingupthegame": 3 }, - "41": { "SourceControl": 1 }, - "42": { "StringFormats": 1 }, - "43": { "System": 1 }, - "44": { "Templates": 1 }, - "45": { "TemplateVerbcoin": 1 }, - "46": { "UpgradeTo30": 1 }, - "47": { "UpgradeTo335": 1 }, - "48": { "UpgradeTo36": 2 }, - "49": { "UpgradingTo271": 1 } - }, - "allowable": { - "0": { "ListBox": 1 }, - "1": { "String": 2 } - }, - "allowed": { - "0": { "acintro2": 2 }, - "1": { "BlockingScripts": 1 }, - "2": { "Button": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "File": 1 }, - "8": { "GUI": 3 }, - "9": { "Keycodes": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "Translations": 1 }, - "13": { "UpgradeTo335": 1 }, - "14": { "UpgradeTo35": 2 }, - "15": { "UpgradeTo36": 2 }, - "16": { "UpgradeTo361": 1 }, - "17": { "UpgradingTo271": 1 }, - "18": { "Viewport": 1 } - }, - "allowing": { - "0": { "Dialog": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Multimedia": 1 }, - "5": { "ScriptAPIOverview": 1 }, - "6": { "Tumbleweed_movement": 1 }, - "7": { "UpgradeTo32": 1 } - }, - "allows": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro6": 3 }, - "4": { "acintro7": 2 }, - "5": { "acintro9": 1 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "AudioChannel": 3 }, - "8": { "AudioClip": 1 }, - "9": { "Character": 8 }, - "10": { "Copyright": 1 }, - "11": { "Debuggingfeatures": 3 }, - "12": { "Dialog": 2 }, - "13": { "DialogScript": 1 }, - "14": { "Dictionary": 1 }, - "15": { "DistGame": 1 }, - "16": { "DrawingSurface": 4 }, - "17": { "DynamicSprite": 8 }, - "18": { "EditorCharacter": 2 }, - "19": { "EditorCursor": 4 }, - "20": { "EditorDialog": 1 }, - "21": { "EditorFont": 2 }, - "22": { "EditorGUI": 8 }, - "23": { "EditorPlugins": 1 }, - "24": { "EditorRoom": 2 }, - "25": { "EditorSprite": 1 }, - "26": { "EnginePluginRun-timeAPI": 16 }, - "27": { "EventTypes": 5 }, - "28": { "FAQ": 3 }, - "29": { "File": 8 }, - "30": { "Game": 5 }, - "31": { "GameSavesCompatibility": 2 }, - "32": { "Gamevariables": 1 }, - "33": { "GeneralSettings": 3 }, - "34": { "Globalfunctions_Event": 2 }, - "35": { "Globalfunctions_General": 9 }, - "36": { "Globalfunctions_Message": 1 }, - "37": { "Globalfunctions_Room": 8 }, - "38": { "GlobalVariables": 1 }, - "39": { "GUI": 8 }, - "40": { "GUIControl": 11 }, - "41": { "Hotspot": 2 }, - "42": { "Introduction": 1 }, - "43": { "Keycodes": 1 }, - "44": { "Lipsync": 3 }, - "45": { "ListBox": 5 }, - "46": { "Mouse": 3 }, - "47": { "Multimedia": 1 }, - "48": { "MultipleScripts": 1 }, - "49": { "MusicAndSound": 5 }, - "50": { "Object": 1 }, - "51": { "Overlay": 3 }, - "52": { "Parser": 1 }, - "53": { "Region": 3 }, - "54": { "Room": 2 }, - "55": { "ScriptingTutorial": 1 }, - "56": { "ScriptingTutorialPart1": 1 }, - "57": { "ScriptingTutorialPart2": 1 }, - "58": { "ScriptKeywords": 3 }, - "59": { "Set": 1 }, - "60": { "Settingupthegame": 11 }, - "61": { "Setup": 2 }, - "62": { "SourceControl": 1 }, - "63": { "Speech": 1 }, - "64": { "System": 1 }, - "65": { "SystemLimits": 1 }, - "66": { "TemplateSierraStyle": 1 }, - "67": { "TheScriptHeader": 1 }, - "68": { "Tumbleweed": 2 }, - "69": { "UpgradeTo30": 1 }, - "70": { "UpgradeTo32": 2 }, - "71": { "UpgradeTo33": 1 }, - "72": { "UpgradeTo35": 1 }, - "73": { "UpgradeTo36": 1 }, - "74": { "UpgradingTo27": 1 }, - "75": { "UpgradingTo271": 1 } - }, - "almost": { - "0": { "acintro8": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "GameEventsOrder": 1 }, - "3": { "GameSavesCompatibility": 3 }, - "4": { "Globalfunctions_Wait": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "Tumbleweed": 1 }, - "8": { "Tumbleweed_movement": 1 }, - "9": { "UnicodeSupport": 1 }, - "10": { "UpgradeTo35": 2 } - }, - "alone": { - "0": { "EditorLogPanel": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Keycodes": 1 }, - "3": { "Plugins": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "along": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "Character": 2 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "DistGame": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorSprite": 2 }, - "9": { "Globalfunctions_General": 2 }, - "10": { "GUIControl": 1 }, - "11": { "Keycodes": 1 }, - "12": { "Overlay": 1 }, - "13": { "Slider": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "VoiceSpeech": 1 } - }, - "alongside": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "alot": { - "0": { "Overlay": 1 } - }, - "alpha": { - "0": { "acintro1": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DialogOptionsRenderingInfo": 2 }, - "3": { "DynamicSprite": 7 }, - "4": { "EditorSprite": 5 }, - "5": { "EnginePluginRun-timeAPI": 17 }, - "6": { "GeneralSettings": 6 }, - "7": { "GraphicsDriver": 2 }, - "8": { "System": 2 }, - "9": { "UpgradeTo33": 6 } - }, - "alpha-blended": { - "0": { "EditorSprite": 2 } - }, - "alphabet": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "String": 2 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 2 } - }, - "alphabetic": { - "0": { "Credits": 1 } - }, - "alphabetical": { - "0": { "EditorRoom": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "alphabets": { - "0": { "UnicodeSupport": 2 } - }, - "already": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "AutonumberSpeechFiles": 2 }, - "7": { "BlockingScripts": 1 }, - "8": { "BuildAndroid": 1 }, - "9": { "Character": 2 }, - "10": { "ContactingTheDevelopers": 2 }, - "11": { "Dialog": 2 }, - "12": { "DynamicArrays": 1 }, - "13": { "DynamicSprite": 1 }, - "14": { "EditorPlugins": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EditorView": 1 }, - "17": { "EnginePluginRun-timeAPI": 1 }, - "18": { "FAQ": 2 }, - "19": { "File": 1 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "InvWindow": 2 }, - "22": { "ListBox": 2 }, - "23": { "MusicAndSound": 1 }, - "24": { "Pointers": 1 }, - "25": { "RepExec": 2 }, - "26": { "ScriptAPIOverview": 1 }, - "27": { "ScriptingTutorialPart1": 2 }, - "28": { "Set": 3 }, - "29": { "SystemRequirements": 1 }, - "30": { "TemplateBASS": 1 }, - "31": { "Templates": 1 }, - "32": { "Tumbleweed": 1 }, - "33": { "Tumbleweed_translation": 1 }, - "34": { "UpgradeTo35": 1 }, - "35": { "UpgradeTo361": 1 } - }, - "alright": { - "0": { "BuildAndroid": 1 } - }, - "alsa": { - "0": { "EngineConfigFile": 1 } - }, - "also": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 2 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 4 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioChannel": 14 }, - "8": { "AudioClip": 11 }, - "9": { "AudioInScript": 1 }, - "10": { "BlockingScripts": 1 }, - "11": { "BuildAndroid": 1 }, - "12": { "Button": 15 }, - "13": { "Camera": 18 }, - "14": { "Character": 98 }, - "15": { "ColoursEditor": 1 }, - "16": { "Constants": 1 }, - "17": { "CustomDialogOptions": 2 }, - "18": { "CustomProperties": 1 }, - "19": { "DateTime": 8 }, - "20": { "Debuggingfeatures": 2 }, - "21": { "DefaultSetup": 3 }, - "22": { "Dialog": 11 }, - "23": { "DialogOptionsRenderingInfo": 12 }, - "24": { "DialogScript": 3 }, - "25": { "Dictionary": 9 }, - "26": { "DistGame": 8 }, - "27": { "DrawingSurface": 21 }, - "28": { "DynamicArrays": 4 }, - "29": { "DynamicSprite": 25 }, - "30": { "EditorCharacter": 2 }, - "31": { "EditorCommandLineOptions": 1 }, - "32": { "EditorCursor": 1 }, - "33": { "EditorGUI": 9 }, - "34": { "EditorInventoryItems": 5 }, - "35": { "EditorLogPanel": 3 }, - "36": { "EditorPlugins": 1 }, - "37": { "EditorRoom": 8 }, - "38": { "EditorSprite": 4 }, - "39": { "EditorView": 2 }, - "40": { "EngineConfigFile": 2 }, - "41": { "EnginePluginRun-timeAPI": 4 }, - "42": { "EventTypes": 2 }, - "43": { "ExtenderFunctions": 1 }, - "44": { "FAQ": 2 }, - "45": { "File": 20 }, - "46": { "Game": 47 }, - "47": { "GameSavesCompatibility": 6 }, - "48": { "Gamevariables": 1 }, - "49": { "GeneralSettings": 7 }, - "50": { "Globalfunctions_Event": 6 }, - "51": { "Globalfunctions_General": 49 }, - "52": { "Globalfunctions_Message": 6 }, - "53": { "Globalfunctions_Palette": 3 }, - "54": { "Globalfunctions_Room": 19 }, - "55": { "Globalfunctions_Screen": 5 }, - "56": { "Globalfunctions_Wait": 6 }, - "57": { "GlobalVariables": 2 }, - "58": { "GraphicsDriver": 1 }, - "59": { "GUI": 27 }, - "60": { "GUIControl": 21 }, - "61": { "Hotspot": 16 }, - "62": { "ImportingFunctionsAndVariables": 3 }, - "63": { "Introduction": 4 }, - "64": { "InventoryItem": 13 }, - "65": { "InvWindow": 9 }, - "66": { "Label": 4 }, - "67": { "ListBox": 23 }, - "68": { "Maths": 20 }, - "69": { "MIDI-playback": 3 }, - "70": { "Mouse": 24 }, - "71": { "Multimedia": 8 }, - "72": { "MultipleScripts": 2 }, - "73": { "MusicAndSound": 4 }, - "74": { "Object": 42 }, - "75": { "OOProgramming": 3 }, - "76": { "Overlay": 19 }, - "77": { "Parser": 4 }, - "78": { "Region": 14 }, - "79": { "RepExec": 1 }, - "80": { "Room": 13 }, - "81": { "RuntimeEngine": 3 }, - "82": { "Screen": 8 }, - "83": { "ScriptAPIOverview": 3 }, - "84": { "ScriptingTutorialPart1": 2 }, - "85": { "ScriptingTutorialPart2": 2 }, - "86": { "ScriptKeywords": 10 }, - "87": { "ScriptModules": 1 }, - "88": { "Set": 8 }, - "89": { "Settingupthegame": 8 }, - "90": { "Setup": 2 }, - "91": { "Slider": 7 }, - "92": { "SourceControl": 1 }, - "93": { "Speech": 11 }, - "94": { "StandardTypes": 1 }, - "95": { "String": 15 }, - "96": { "System": 21 }, - "97": { "SystemLimits": 1 }, - "98": { "TemplateBASS": 2 }, - "99": { "Templates": 3 }, - "100": { "TemplateSierraStyle": 3 }, - "101": { "TemplateVerbcoin": 1 }, - "102": { "TextBox": 4 }, - "103": { "TheScriptHeader": 2 }, - "104": { "Translations": 5 }, - "105": { "TroubleshootingWindowsZoneID": 1 }, - "106": { "Tumbleweed": 4 }, - "107": { "Tumbleweed_actions": 6 }, - "108": { "Tumbleweed_door": 8 }, - "109": { "Tumbleweed_extensions": 2 }, - "110": { "Tumbleweed_helper": 4 }, - "111": { "Tumbleweed_movement": 11 }, - "112": { "Tumbleweed_player": 3 }, - "113": { "Tumbleweed_translation": 6 }, - "114": { "UpgradeTo31": 1 }, - "115": { "UpgradeTo32": 2 }, - "116": { "UpgradeTo33": 1 }, - "117": { "UpgradeTo34": 1 }, - "118": { "UpgradeTo35": 4 }, - "119": { "UpgradeTo36": 6 }, - "120": { "UpgradeTo361": 1 }, - "121": { "UpgradingTo27": 1 }, - "122": { "ViewFrame": 7 }, - "123": { "Viewport": 15 }, - "124": { "VoiceSpeech": 1 } - }, - "alt": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "UpgradeTo36": 3 } - }, - "alter": { - "0": { "Character": 1 }, - "1": { "GUIControl": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "altered": { - "0": { "UpgradeTo34": 1 } - }, - "altering": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "alternate": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Room": 1 }, - "3": { "System": 1 }, - "4": { "TroubleshootingWindowsZoneID": 10 }, - "5": { "UpgradeTo30": 1 }, - "6": { "VoiceSpeech": 2 } - }, - "alternative": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "alternatively": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Dialog": 1 }, - "2": { "EditorRoom": 2 }, - "3": { "Settingupthegame": 1 } - }, - "although": { - "0": { "acintro5": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "FAQ": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "System": 1 }, - "7": { "TemplateBASS": 1 }, - "8": { "TheScriptHeader": 1 } - }, - "altogether": { - "0": { "UnicodeSupport": 1 } - }, - "always": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 2 }, - "6": { "AudioChannel": 1 }, - "7": { "AudioInScript": 2 }, - "8": { "BlockingScripts": 3 }, - "9": { "Camera": 2 }, - "10": { "Character": 13 }, - "11": { "Debuggingfeatures": 1 }, - "12": { "DefaultSetup": 1 }, - "13": { "DialogOptionsRenderingInfo": 1 }, - "14": { "DistGame": 2 }, - "15": { "DynamicSprite": 2 }, - "16": { "EditorCursor": 1 }, - "17": { "EditorGUI": 1 }, - "18": { "EditorPreferences": 3 }, - "19": { "EditorRoom": 1 }, - "20": { "EditorView": 1 }, - "21": { "EngineConfigFile": 1 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 9 }, - "24": { "FAQ": 1 }, - "25": { "Game": 2 }, - "26": { "GameEventsOrder": 2 }, - "27": { "Gamevariables": 1 }, - "28": { "GeneralSettings": 5 }, - "29": { "Globalfunctions_Event": 8 }, - "30": { "Globalfunctions_General": 4 }, - "31": { "Globalfunctions_Room": 4 }, - "32": { "Globalfunctions_Wait": 1 }, - "33": { "GraphicsDriver": 1 }, - "34": { "GUIControl": 1 }, - "35": { "Hotspot": 1 }, - "36": { "Introduction": 1 }, - "37": { "MultipleScripts": 3 }, - "38": { "MusicAndSound": 2 }, - "39": { "OOProgramming": 2 }, - "40": { "Overlay": 2 }, - "41": { "Pointers": 1 }, - "42": { "RepExec": 21 }, - "43": { "Screen": 1 }, - "44": { "Scripting": 1 }, - "45": { "ScriptingTutorialPart1": 2 }, - "46": { "ScriptKeywords": 3 }, - "47": { "Settingupthegame": 3 }, - "48": { "Setup": 2 }, - "49": { "Speech": 6 }, - "50": { "StartingOff": 1 }, - "51": { "SystemLimits": 2 }, - "52": { "Tumbleweed": 2 }, - "53": { "Tumbleweed_extensions": 1 }, - "54": { "UpgradeTo30": 1 }, - "55": { "UpgradeTo31": 1 }, - "56": { "UpgradeTo32": 2 }, - "57": { "UpgradeTo34": 2 }, - "58": { "UpgradeTo35": 2 }, - "59": { "UpgradeTo36": 1 }, - "60": { "UpgradeTo361": 1 }, - "61": { "UpgradingTo27": 1 }, - "62": { "Viewport": 2 } - }, - "am": { - "0": { "Character": 1 }, - "1": { "DialogScript": 1 }, - "2": { "FAQ": 1 }, - "3": { "ScriptKeywords": 4 } - }, - "ambient": { - "0": { "Character": 6 }, - "1": { "Gamevariables": 3 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "MusicAndSound": 1 }, - "4": { "Object": 6 }, - "5": { "UpgradeTo32": 1 } - }, - "ambiera": { - "0": { "Credits": 1 } - }, - "amendments": { - "0": { "BlockingScripts": 1 } - }, - "among": { - "0": { "AudioInScript": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GUI": 1 }, - "3": { "Overlay": 6 }, - "4": { "Setup": 1 }, - "5": { "TheScriptHeader": 1 }, - "6": { "UpgradeTo36": 4 } - }, - "amongst": { - "0": { "EditorGUI": 1 } - }, - "amount": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 3 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorView": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "File": 1 }, - "7": { "GameSavesCompatibility": 1 }, - "8": { "Gamevariables": 2 }, - "9": { "Globalfunctions_Room": 2 }, - "10": { "Globalfunctions_Screen": 2 }, - "11": { "Region": 1 }, - "12": { "Setup": 2 }, - "13": { "TextWindowGUI": 1 } - }, - "an": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 8 }, - "4": { "acintro5": 5 }, - "5": { "acintro6": 5 }, - "6": { "acintro7": 7 }, - "7": { "acintro8": 5 }, - "8": { "acintro9": 7 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "AnonymousUsageInfo": 2 }, - "11": { "AudioClip": 4 }, - "12": { "AudioInScript": 3 }, - "13": { "BlockingScripts": 1 }, - "14": { "BuildAndroid": 1 }, - "15": { "Button": 4 }, - "16": { "Camera": 2 }, - "17": { "Character": 25 }, - "18": { "Constants": 1 }, - "19": { "ContactingTheDevelopers": 3 }, - "20": { "Copyright": 2 }, - "21": { "CustomDialogOptions": 5 }, - "22": { "CustomProperties": 1 }, - "23": { "DateTime": 6 }, - "24": { "DefaultSetup": 2 }, - "25": { "Dialog": 6 }, - "26": { "DialogOptionsRenderingInfo": 2 }, - "27": { "DialogScript": 5 }, - "28": { "Dictionary": 1 }, - "29": { "DistGame": 9 }, - "30": { "DrawingSurface": 4 }, - "31": { "DynamicArrays": 5 }, - "32": { "DynamicSprite": 12 }, - "33": { "EditorCommandLineOptions": 1 }, - "34": { "EditorCursor": 3 }, - "35": { "EditorDialog": 1 }, - "36": { "EditorFont": 2 }, - "37": { "EditorGUI": 4 }, - "38": { "EditorInventoryItems": 4 }, - "39": { "EditorPlugins": 3 }, - "40": { "EditorRoom": 6 }, - "41": { "EditorSprite": 3 }, - "42": { "EditorView": 4 }, - "43": { "EngineConfigFile": 1 }, - "44": { "EnginePluginDesign-timeAPI": 1 }, - "45": { "EnginePluginRun-timeAPI": 36 }, - "46": { "EventTypes": 5 }, - "47": { "ExtenderFunctions": 2 }, - "48": { "FAQ": 9 }, - "49": { "File": 11 }, - "50": { "Game": 10 }, - "51": { "GameSavesCompatibility": 8 }, - "52": { "GeneralSettings": 14 }, - "53": { "GlobalArrays": 2 }, - "54": { "Globalfunctions_Event": 7 }, - "55": { "Globalfunctions_General": 19 }, - "56": { "Globalfunctions_Message": 1 }, - "57": { "Globalfunctions_Room": 7 }, - "58": { "Globalfunctions_Screen": 3 }, - "59": { "Globalfunctions_Wait": 1 }, - "60": { "GlobalVariables": 1 }, - "61": { "GUI": 7 }, - "62": { "GUIControl": 2 }, - "63": { "Hotspot": 2 }, - "64": { "ImportingFunctionsAndVariables": 3 }, - "65": { "Introduction": 2 }, - "66": { "InventoryItem": 5 }, - "67": { "InvWindow": 3 }, - "68": { "Lipsync": 4 }, - "69": { "ListBox": 3 }, - "70": { "Maths": 11 }, - "71": { "MIDI-playback": 2 }, - "72": { "Mouse": 2 }, - "73": { "Multimedia": 3 }, - "74": { "MultipleScripts": 1 }, - "75": { "MusicAndSound": 13 }, - "76": { "Object": 11 }, - "77": { "OOProgramming": 5 }, - "78": { "Overlay": 8 }, - "79": { "Plugins": 1 }, - "80": { "Pointers": 20 }, - "81": { "Preprocessor": 3 }, - "82": { "Region": 2 }, - "83": { "RepExec": 1 }, - "84": { "Room": 3 }, - "85": { "RuntimeEngine": 3 }, - "86": { "ScriptAPIOverview": 1 }, - "87": { "ScriptingLanguage": 1 }, - "88": { "ScriptingTutorialPart1": 15 }, - "89": { "ScriptingTutorialPart2": 1 }, - "90": { "ScriptKeywords": 14 }, - "91": { "ScriptModules": 4 }, - "92": { "Set": 4 }, - "93": { "Settingupthegame": 18 }, - "94": { "Slider": 1 }, - "95": { "SourceControl": 2 }, - "96": { "StandardTypes": 2 }, - "97": { "String": 10 }, - "98": { "SystemLimits": 2 }, - "99": { "Templates": 3 }, - "100": { "TemplateSierraStyle": 1 }, - "101": { "TemplateVerbcoin": 1 }, - "102": { "TextParser": 5 }, - "103": { "Translations": 2 }, - "104": { "TroubleshootingWindowsZoneID": 5 }, - "105": { "Tumbleweed": 12 }, - "106": { "Tumbleweed_actions": 2 }, - "107": { "Tumbleweed_door": 1 }, - "108": { "Tumbleweed_extensions": 8 }, - "109": { "Tumbleweed_movement": 4 }, - "110": { "UnicodeSupport": 3 }, - "111": { "UpgradeTo30": 1 }, - "112": { "UpgradeTo31": 2 }, - "113": { "UpgradeTo32": 8 }, - "114": { "UpgradeTo34": 3 }, - "115": { "UpgradeTo35": 4 }, - "116": { "UpgradeTo36": 6 }, - "117": { "UpgradeTo361": 1 }, - "118": { "UpgradingTo27": 9 }, - "119": { "Viewport": 3 }, - "120": { "VoiceSpeech": 1 } - }, - "analogue": { - "0": { "System": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "anchor": { - "0": { "EditorRoom": 2 } - }, - "ancient": { - "0": { "Object": 1 } - }, - "android": { - "0": { "BuildAndroid": 6 }, - "1": { "GeneralSettings": 1 } - }, - "anew": { - "0": { "UpgradeTo36": 1 } - }, - "angle": { - "0": { "DynamicSprite": 8 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "Maths": 29 }, - "3": { "Tumbleweed_extensions": 1 } - }, - "angled": { - "0": { "Tumbleweed": 1 } - }, - "anim": { - "0": { "Gamevariables": 1 } - }, - "animate": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 3 }, - "3": { "Button": 2 }, - "4": { "Character": 7 }, - "5": { "EditorCursor": 3 }, - "6": { "EditorView": 3 }, - "7": { "GeneralSettings": 1 }, - "8": { "Lipsync": 1 }, - "9": { "Object": 4 }, - "10": { "Settingupthegame": 5 } - }, - "animated": { - "0": { "acintro9": 1 }, - "1": { "Button": 6 }, - "2": { "Character": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 } - }, - "animates": { - "0": { "acintro9": 1 }, - "1": { "Character": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "Settingupthegame": 2 } - }, - "animating": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 5 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 2 }, - "5": { "Gamevariables": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Room": 2 }, - "9": { "Mouse": 1 }, - "10": { "Object": 5 }, - "11": { "ObsoleteScriptAPI": 1 } - }, - "animating-background": { - "0": { "Globalfunctions_Room": 1 } - }, - "animation": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 6 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "Button": 18 }, - "5": { "Character": 75 }, - "6": { "EditorSprite": 1 }, - "7": { "EditorView": 11 }, - "8": { "ExtenderFunctions": 2 }, - "9": { "FAQ": 1 }, - "10": { "Game": 1 }, - "11": { "GeneralSettings": 6 }, - "12": { "Globalfunctions_General": 2 }, - "13": { "Globalfunctions_Palette": 1 }, - "14": { "Lipsync": 5 }, - "15": { "Mouse": 2 }, - "16": { "Multimedia": 5 }, - "17": { "Object": 20 }, - "18": { "RepExec": 2 }, - "19": { "ScriptingTutorialPart2": 2 }, - "20": { "Settingupthegame": 13 }, - "21": { "Speech": 8 }, - "22": { "SystemLimits": 1 }, - "23": { "UpgradeTo33": 4 }, - "24": { "UpgradeTo34": 1 } - }, - "animations": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 8 }, - "2": { "Button": 1 }, - "3": { "Character": 5 }, - "4": { "DefaultSetup": 1 }, - "5": { "EditorView": 6 }, - "6": { "FAQ": 1 }, - "7": { "Game": 1 }, - "8": { "GameEventsOrder": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Globalfunctions_General": 3 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Object": 1 }, - "14": { "RepExec": 1 }, - "15": { "Settingupthegame": 3 }, - "16": { "Setup": 1 }, - "17": { "UpgradeTo35": 1 }, - "18": { "UpgradeTo36": 1 }, - "19": { "ViewFrame": 1 } - }, - "animspeed": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "annoyance": { - "0": { "UpgradeTo31": 1 } - }, - "annoyed": { - "0": { "UpgradeTo35": 1 } - }, - "annoying": { - "0": { "Globalfunctions_General": 1 } - }, - "anonymous": { - "0": { "AnonymousUsageInfo": 1 } - }, - "another": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 1 }, - "6": { "AdvancedRoomFeatures": 3 }, - "7": { "AudioInScript": 1 }, - "8": { "Character": 4 }, - "9": { "Debuggingfeatures": 2 }, - "10": { "Dictionary": 1 }, - "11": { "DistGame": 1 }, - "12": { "DynamicArrays": 2 }, - "13": { "DynamicSprite": 2 }, - "14": { "EditorCharacter": 1 }, - "15": { "EditorFont": 1 }, - "16": { "EditorGUI": 1 }, - "17": { "EditorInventoryItems": 2 }, - "18": { "EditorPreferences": 1 }, - "19": { "EditorSprite": 1 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "EventTypes": 2 }, - "22": { "File": 1 }, - "23": { "GameSavesCompatibility": 3 }, - "24": { "GeneralSettings": 2 }, - "25": { "Globalfunctions_Event": 2 }, - "26": { "Globalfunctions_General": 1 }, - "27": { "Globalfunctions_Room": 1 }, - "28": { "ImportingFunctionsAndVariables": 1 }, - "29": { "Keycodes": 1 }, - "30": { "Multimedia": 1 }, - "31": { "MultipleScripts": 2 }, - "32": { "Overlay": 2 }, - "33": { "Pointers": 5 }, - "34": { "Preprocessor": 1 }, - "35": { "ScriptingTutorialPart2": 3 }, - "36": { "ScriptKeywords": 3 }, - "37": { "ScriptModules": 1 }, - "38": { "Set": 1 }, - "39": { "Settingupthegame": 3 }, - "40": { "TheScriptHeader": 1 }, - "41": { "TroubleshootingWindowsZoneID": 1 }, - "42": { "Tumbleweed": 1 }, - "43": { "UpgradeTo34": 1 }, - "44": { "UpgradeTo35": 1 }, - "45": { "UpgradeTo36": 2 }, - "46": { "Viewport": 1 } - }, - "answer": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "FAQ": 1 }, - "2": { "SystemLimits": 1 } - }, - "answered": { - "0": { "ContactingTheDevelopers": 1 } - }, - "answers": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "FAQ": 1 } - }, - "anti-alias": { - "0": { "EngineConfigFile": 1 } - }, - "anti-aliased": { - "0": { "EngineConfigFile": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "anti-aliasing": { - "0": { "Credits": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "Settingupthegame": 1 }, - "4": { "Setup": 1 } - }, - "anti-virus": { - "0": { "DistGame": 1 } - }, - "antialias": { - "0": { "EngineConfigFile": 2 } - }, - "antialiased": { - "0": { "EditorSprite": 1 } - }, - "antialiasing": { - "0": { "Gamevariables": 1 } - }, - "anticipate": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "antiviruses": { - "0": { "GeneralSettings": 1 } - }, - "any": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 3 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AudioChannel": 3 }, - "7": { "AudioClip": 3 }, - "8": { "BackingUpYourGame": 4 }, - "9": { "BlockingScripts": 2 }, - "10": { "Button": 3 }, - "11": { "Camera": 5 }, - "12": { "Character": 15 }, - "13": { "Constants": 1 }, - "14": { "ContactingTheDevelopers": 2 }, - "15": { "Copyright": 6 }, - "16": { "Credits": 1 }, - "17": { "CustomDialogOptions": 4 }, - "18": { "CustomProperties": 1 }, - "19": { "Debuggingfeatures": 2 }, - "20": { "DefaultSetup": 2 }, - "21": { "Dialog": 2 }, - "22": { "DialogScript": 1 }, - "23": { "Dictionary": 1 }, - "24": { "DistGame": 3 }, - "25": { "DrawingSurface": 2 }, - "26": { "DynamicArrays": 1 }, - "27": { "DynamicSprite": 6 }, - "28": { "EditorCommandLineOptions": 1 }, - "29": { "EditorDialog": 2 }, - "30": { "EditorGUI": 1 }, - "31": { "EditorInventoryItems": 1 }, - "32": { "EditorPlugins": 4 }, - "33": { "EditorRoom": 2 }, - "34": { "EditorSprite": 3 }, - "35": { "EngineConfigFile": 2 }, - "36": { "EnginePluginDesign-timeAPI": 9 }, - "37": { "EnginePluginRun-timeAPI": 37 }, - "38": { "EnginePlugins": 1 }, - "39": { "EventTypes": 5 }, - "40": { "ExtenderFunctions": 2 }, - "41": { "FAQ": 5 }, - "42": { "File": 8 }, - "43": { "Game": 9 }, - "44": { "GameSavesCompatibility": 7 }, - "45": { "Gamevariables": 1 }, - "46": { "GeneralSettings": 8 }, - "47": { "GlobalArrays": 1 }, - "48": { "Globalfunctions_Event": 2 }, - "49": { "Globalfunctions_General": 13 }, - "50": { "Globalfunctions_Screen": 2 }, - "51": { "Globalfunctions_Wait": 1 }, - "52": { "GlobalVariables": 1 }, - "53": { "GraphicsDriver": 4 }, - "54": { "GUI": 5 }, - "55": { "GUIControl": 3 }, - "56": { "ImportingFunctionsAndVariables": 1 }, - "57": { "Keycodes": 3 }, - "58": { "Lipsync": 1 }, - "59": { "ListBox": 2 }, - "60": { "MIDI-playback": 1 }, - "61": { "Mouse": 2 }, - "62": { "Multimedia": 3 }, - "63": { "MultipleScripts": 2 }, - "64": { "MusicAndSound": 5 }, - "65": { "Object": 5 }, - "66": { "Overlay": 4 }, - "67": { "Plugins": 2 }, - "68": { "Pointers": 4 }, - "69": { "Region": 2 }, - "70": { "RepExec": 3 }, - "71": { "Room": 1 }, - "72": { "RuntimeEngine": 2 }, - "73": { "Screen": 3 }, - "74": { "ScriptAPIOverview": 2 }, - "75": { "ScriptingTutorialPart1": 4 }, - "76": { "ScriptingTutorialPart2": 1 }, - "77": { "ScriptKeywords": 9 }, - "78": { "Set": 1 }, - "79": { "Settingupthegame": 6 }, - "80": { "SourceControl": 1 }, - "81": { "Speech": 2 }, - "82": { "StandardEnums": 1 }, - "83": { "String": 1 }, - "84": { "System": 3 }, - "85": { "TemplateBASS": 1 }, - "86": { "Templates": 2 }, - "87": { "TemplateSierraStyle": 1 }, - "88": { "TextParser": 2 }, - "89": { "Translations": 4 }, - "90": { "TroubleshootingWindowsZoneID": 3 }, - "91": { "Tumbleweed": 4 }, - "92": { "Tumbleweed_door": 1 }, - "93": { "Tumbleweed_movement": 1 }, - "94": { "Tumbleweed_unhandled": 1 }, - "95": { "UnicodeSupport": 6 }, - "96": { "UpgradeTo30": 3 }, - "97": { "UpgradeTo31": 3 }, - "98": { "UpgradeTo32": 1 }, - "99": { "UpgradeTo33": 2 }, - "100": { "UpgradeTo335": 1 }, - "101": { "UpgradeTo34": 5 }, - "102": { "UpgradeTo341": 1 }, - "103": { "UpgradeTo35": 5 }, - "104": { "UpgradeTo36": 11 }, - "105": { "UpgradeTo361": 2 }, - "106": { "UpgradingTo27": 3 }, - "107": { "UpgradingTo271": 2 }, - "108": { "Viewport": 3 }, - "109": { "VoiceSpeech": 2 } - }, - "anymore": { - "0": { "Multimedia": 1 }, - "1": { "Pointers": 1 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "anything": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro9": 1 }, - "4": { "AnonymousUsageInfo": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "Camera": 1 }, - "8": { "Character": 2 }, - "9": { "EditorPlugins": 2 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 6 }, - "12": { "Globalfunctions_Event": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "GUIControl": 1 }, - "16": { "Hotspot": 1 }, - "17": { "InventoryItem": 1 }, - "18": { "Object": 1 }, - "19": { "Overlay": 1 }, - "20": { "Pointers": 1 }, - "21": { "Preprocessor": 1 }, - "22": { "ScriptingTutorialPart1": 1 }, - "23": { "ScriptingTutorialPart2": 1 }, - "24": { "Settingupthegame": 1 }, - "25": { "String": 2 }, - "26": { "TextParser": 1 }, - "27": { "Translations": 1 }, - "28": { "UpgradeTo335": 1 }, - "29": { "UpgradeTo34": 1 }, - "30": { "UpgradingTo27": 2 }, - "31": { "Viewport": 1 } - }, - "anytime": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Mouse": 1 }, - "5": { "Pointers": 1 }, - "6": { "Tumbleweed_door": 1 }, - "7": { "UpgradeTo34": 1 }, - "8": { "UpgradeTo35": 2 }, - "9": { "Viewport": 2 }, - "10": { "VoiceSpeech": 1 } - }, - "anyway": { - "0": { "acintro3": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "UpgradeTo35": 1 }, - "5": { "UpgradeTo361": 1 } - }, - "anywhere": { - "0": { "acintro4": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DynamicArrays": 1 }, - "5": { "FAQ": 1 }, - "6": { "GlobalArrays": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "StandardEnums": 1 }, - "9": { "System": 1 }, - "10": { "TemplateVerbcoin": 1 }, - "11": { "Translations": 1 } - }, - "anyword": { - "0": { "TextParser": 2 } - }, - "apart": { - "0": { "EventTypes": 1 } - }, - "app": { - "0": { "BuildAndroid": 3 }, - "1": { "File": 1 }, - "2": { "GeneralSettings": 2 } - }, - "appdata": { - "0": { "EngineConfigFile": 1 } - }, - "appear": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 3 }, - "2": { "acintro4": 3 }, - "3": { "acintro6": 1 }, - "4": { "acintro8": 2 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "BuildAndroid": 1 }, - "7": { "Character": 1 }, - "8": { "CustomProperties": 1 }, - "9": { "DefaultSetup": 2 }, - "10": { "EditorView": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 2 }, - "14": { "Globalfunctions_Message": 1 }, - "15": { "GUI": 1 }, - "16": { "Lipsync": 1 }, - "17": { "Settingupthegame": 1 }, - "18": { "Setup": 1 }, - "19": { "SourceControl": 1 }, - "20": { "TemplateBASS": 1 }, - "21": { "Templates": 1 }, - "22": { "TheScriptHeader": 1 }, - "23": { "Tumbleweed_movement": 1 } - }, - "appearance": { - "0": { "DefaultSetup": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUIControl": 1 }, - "3": { "ListBox": 1 }, - "4": { "Mouse": 3 }, - "5": { "Speech": 1 }, - "6": { "UpgradeTo33": 1 } - }, - "appeared": { - "0": { "acintro2": 1 } - }, - "appearing": { - "0": { "acintro8": 1 }, - "1": { "Lipsync": 1 } - }, - "appears": { - "0": { "acintro4": 3 }, - "1": { "EditorPlugins": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "Lipsync": 1 }, - "4": { "Object": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "SourceControl": 1 }, - "7": { "Templates": 1 } - }, - "append": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "appended": { - "0": { "GeneralSettings": 1 }, - "1": { "ListBox": 1 } - }, - "apple": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ScriptKeywords": 20 }, - "2": { "TextParser": 2 } - }, - "apples": { - "0": { "ScriptKeywords": 2 } - }, - "applicable": { - "0": { "GUI": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "application": { - "0": { "acintro9": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Lipsync": 4 }, - "3": { "TroubleshootingWindowsZoneID": 2 } - }, - "applications": { - "0": { "File": 4 }, - "1": { "Lipsync": 1 }, - "2": { "SourceControl": 1 } - }, - "applied": { - "0": { "Camera": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 2 }, - "3": { "EditorFont": 2 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorPreferences": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EngineConfigFile": 3 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 3 }, - "10": { "GUIControl": 1 }, - "11": { "Mouse": 4 }, - "12": { "Object": 1 }, - "13": { "OOProgramming": 1 }, - "14": { "Overlay": 1 }, - "15": { "Pointers": 1 }, - "16": { "RuntimeEngine": 1 }, - "17": { "Screen": 2 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Setup": 1 }, - "20": { "StandardEnums": 1 }, - "21": { "System": 5 }, - "22": { "Translations": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 1 } - }, - "applies": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "EventTypes": 1 }, - "5": { "Game": 1 }, - "6": { "GlobalVariables": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "Object": 1 }, - "9": { "RuntimeEngine": 3 }, - "10": { "Settingupthegame": 1 }, - "11": { "UpgradingTo271": 1 } - }, - "apply": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "DefaultSetup": 2 }, - "3": { "DynamicSprite": 2 }, - "4": { "FAQ": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "MIDI-playback": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Setup": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "applying": { - "0": { "Globalfunctions_Screen": 1 } - }, - "appreciated": { - "0": { "DistGame": 1 } - }, - "approach": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "GameSavesCompatibility": 2 }, - "3": { "GUI": 1 }, - "4": { "GUIControl": 1 }, - "5": { "Object": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "UpgradeTo35": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "approaching": { - "0": { "Tumbleweed_door": 1 } - }, - "appropriate": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "BlockingScripts": 2 }, - "3": { "Character": 7 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "EditorInventoryItems": 1 }, - "7": { "EnginePluginRun-timeAPI": 3 }, - "8": { "GameSavesCompatibility": 2 }, - "9": { "GlobalVariables": 1 }, - "10": { "GUI": 1 }, - "11": { "Lipsync": 1 }, - "12": { "Multimedia": 1 }, - "13": { "MultipleScripts": 1 }, - "14": { "Object": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "Speech": 2 }, - "17": { "UnicodeSupport": 1 }, - "18": { "UpgradeTo34": 1 } - }, - "appropriately": { - "0": { "acintro2": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "approved": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "arbitrary": { - "0": { "AudioChannel": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "GUI": 1 }, - "7": { "Overlay": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "Viewport": 1 } - }, - "arc-cosine": { - "0": { "Maths": 2 } - }, - "arc-sine": { - "0": { "Maths": 2 } - }, - "arc-tan": { - "0": { "Maths": 3 } - }, - "arcade": { - "0": { "TemplateSierraStyle": 1 } - }, - "architecture": { - "0": { "Plugins": 1 } - }, - "architectures": { - "0": { "Plugins": 1 } - }, - "archive": { - "0": { "MIDI-playback": 1 }, - "1": { "Templates": 1 }, - "2": { "Tumbleweed_movement": 1 } - }, - "arctangent": { - "0": { "Maths": 1 } - }, - "area": { - "0": { "acintro2": 26 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 2 }, - "4": { "AdvancedRoomFeatures": 8 }, - "5": { "Button": 2 }, - "6": { "Camera": 1 }, - "7": { "Character": 18 }, - "8": { "CustomDialogOptions": 2 }, - "9": { "DialogOptionsRenderingInfo": 15 }, - "10": { "DrawingSurface": 4 }, - "11": { "DynamicSprite": 4 }, - "12": { "EditorPlugins": 2 }, - "13": { "EditorRoom": 6 }, - "14": { "EditorSprite": 1 }, - "15": { "EnginePluginRun-timeAPI": 10 }, - "16": { "FAQ": 2 }, - "17": { "GameSavesCompatibility": 1 }, - "18": { "GeneralSettings": 2 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Globalfunctions_Room": 28 }, - "21": { "Mouse": 1 }, - "22": { "Object": 6 }, - "23": { "Overlay": 2 }, - "24": { "ScriptingTutorialPart1": 1 }, - "25": { "Settingupthegame": 2 }, - "26": { "System": 1 }, - "27": { "Tumbleweed_movement": 1 }, - "28": { "UpgradeTo35": 2 } - }, - "area's": { - "0": { "Globalfunctions_Room": 1 } - }, - "areanum": { - "0": { "Globalfunctions_Room": 2 } - }, - "areas": { - "0": { "acintro2": 15 }, - "1": { "acintro3": 3 }, - "2": { "acintro4": 1 }, - "3": { "AdvancedRoomFeatures": 5 }, - "4": { "AudioClip": 1 }, - "5": { "Character": 12 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorRoom": 8 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "FAQ": 2 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 3 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "Hotspot": 1 }, - "16": { "Object": 6 }, - "17": { "Region": 1 }, - "18": { "Settingupthegame": 3 }, - "19": { "SystemLimits": 2 }, - "20": { "Tumbleweed_movement": 1 }, - "21": { "UpgradeTo35": 4 } - }, - "aren't": { - "0": { "acintro7": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Globalfunctions_General": 1 } - }, - "arg": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "args": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "argument": { - "0": { "CustomDialogOptions": 2 }, - "1": { "EditorPlugins": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "EventTypes": 2 }, - "4": { "Game": 2 }, - "5": { "Globalfunctions_Event": 4 }, - "6": { "StringFormats": 1 }, - "7": { "Translations": 1 }, - "8": { "UpgradeTo36": 6 } - }, - "arguments": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "EventTypes": 2 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "ImportingFunctionsAndVariables": 1 }, - "5": { "RuntimeEngine": 2 }, - "6": { "UpgradeTo36": 1 } - }, - "arithmetic": { - "0": { "ScriptKeywords": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "arose": { - "0": { "SystemLimits": 1 } - }, - "around": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro9": 1 }, - "6": { "AdvancedRoomFeatures": 2 }, - "7": { "Camera": 2 }, - "8": { "Character": 6 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "DrawingSurface": 1 }, - "11": { "EditorCursor": 1 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorRoom": 1 }, - "14": { "EditorView": 1 }, - "15": { "EnginePluginRun-timeAPI": 1 }, - "16": { "GameSavesCompatibility": 2 }, - "17": { "GeneralSettings": 1 }, - "18": { "Globalfunctions_Palette": 2 }, - "19": { "Globalfunctions_Room": 3 }, - "20": { "GUI": 2 }, - "21": { "GUIControl": 3 }, - "22": { "Introduction": 1 }, - "23": { "ListBox": 2 }, - "24": { "Mouse": 1 }, - "25": { "MusicAndSound": 1 }, - "26": { "Overlay": 2 }, - "27": { "ScriptAPIOverview": 1 }, - "28": { "Settingupthegame": 3 }, - "29": { "Slider": 1 }, - "30": { "System": 1 }, - "31": { "Tumbleweed": 1 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "UnicodeSupport": 1 }, - "34": { "UpgradeTo34": 2 }, - "35": { "UpgradeTo35": 5 }, - "36": { "ViewFrame": 1 }, - "37": { "Viewport": 1 } - }, - "arr": { - "0": { "DynamicArrays": 2 }, - "1": { "GameSavesCompatibility": 7 }, - "2": { "ImportingFunctionsAndVariables": 6 } - }, - "arrOfInts": { - "0": { "DynamicArrays": 11 } - }, - "arrange": { - "0": { "GUIControl": 1 } - }, - "arranged": { - "0": { "acintro2": 1 }, - "1": { "Camera": 1 }, - "2": { "FAQ": 1 }, - "3": { "Viewport": 1 } - }, - "arrangement": { - "0": { "Globalfunctions_General": 1 } - }, - "array": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 3 }, - "2": { "Camera": 4 }, - "3": { "Character": 3 }, - "4": { "Dictionary": 7 }, - "5": { "DynamicArrays": 37 }, - "6": { "EnginePluginDesign-timeAPI": 2 }, - "7": { "EnginePluginRun-timeAPI": 5 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 16 }, - "10": { "GlobalArrays": 2 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "GUI": 1 }, - "13": { "ListBox": 3 }, - "14": { "ObsoleteScriptAPI": 2 }, - "15": { "OOProgramming": 1 }, - "16": { "Pointers": 7 }, - "17": { "Screen": 1 }, - "18": { "ScriptKeywords": 4 }, - "19": { "Set": 5 }, - "20": { "String": 1 }, - "21": { "SystemLimits": 1 }, - "22": { "Tumbleweed_door": 1 }, - "23": { "UpgradingTo27": 3 }, - "24": { "Viewport": 3 } - }, - "array's": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "GlobalArrays": 1 } - }, - "arrays": { - "0": { "Dictionary": 1 }, - "1": { "DynamicArrays": 5 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 8 }, - "4": { "GlobalArrays": 4 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "OOProgramming": 1 }, - "7": { "Pointers": 2 }, - "8": { "Scripting": 1 }, - "9": { "ScriptKeywords": 3 }, - "10": { "UpgradeTo30": 1 }, - "11": { "UpgradeTo34": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "arrives": { - "0": { "Debuggingfeatures": 1 } - }, - "arrow": { - "0": { "acintro2": 1 }, - "1": { "Character": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "InvWindow": 2 }, - "6": { "Keycodes": 4 }, - "7": { "Pointers": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "System": 1 } - }, - "arrows": { - "0": { "CustomDialogOptions": 2 }, - "1": { "EditorRoom": 1 }, - "2": { "InvWindow": 1 }, - "3": { "ListBox": 8 } - }, - "art": { - "0": { "Credits": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "article": { - "0": { "acintro3": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Multimedia": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "UnicodeSupport": 1 } - }, - "artist": { - "0": { "Settingupthegame": 1 } - }, - "artist's": { - "0": { "Settingupthegame": 1 } - }, - "arts": { - "0": { "EngineConfigFile": 1 } - }, - "as-is": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StartingOff": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "asc": { - "0": { "acintro7": 1 }, - "1": { "FAQ": 2 }, - "2": { "ImportingFunctionsAndVariables": 4 }, - "3": { "KeyboardShortcuts": 1 }, - "4": { "OOProgramming": 1 }, - "5": { "RepExec": 1 }, - "6": { "ScriptingTutorialPart2": 2 }, - "7": { "Tumbleweed": 2 }, - "8": { "Tumbleweed_door": 1 }, - "9": { "Tumbleweed_unhandled": 1 } - }, - "ascender": { - "0": { "UpgradeTo36": 1 } - }, - "ash": { - "0": { "FAQ": 1 }, - "1": { "ImportingFunctionsAndVariables": 3 }, - "2": { "KeyboardShortcuts": 1 }, - "3": { "OOProgramming": 1 } - }, - "ask": { - "0": { "acintro8": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Globalfunctions_Room": 2 }, - "5": { "OOProgramming": 1 }, - "6": { "Pointers": 1 }, - "7": { "Translations": 2 } - }, - "asked": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "asking": { - "0": { "ContactingTheDevelopers": 2 }, - "1": { "EditorSprite": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 3 } - }, - "asks": { - "0": { "acintro1": 1 } - }, - "aspect": { - "0": { "Camera": 4 }, - "1": { "DefaultSetup": 4 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Multimedia": 2 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Setup": 4 }, - "6": { "Tumbleweed": 1 }, - "7": { "UpgradeTo32": 1 }, - "8": { "Viewport": 4 } - }, - "aspects": { - "0": { "acintro2": 2 }, - "1": { "Game": 1 }, - "2": { "Mouse": 1 }, - "3": { "Templates": 1 } - }, - "asset": { - "0": { "DrawingSurface": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo35": 5 } - }, - "assets": { - "0": { "MusicAndSound": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "assign": { - "0": { "acintro7": 1 }, - "1": { "Button": 2 }, - "2": { "ColoursEditor": 2 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "Dictionary": 1 }, - "5": { "DynamicArrays": 5 }, - "6": { "DynamicSprite": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EditorView": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "FAQ": 2 }, - "12": { "Game": 1 }, - "13": { "Globalfunctions_Message": 1 }, - "14": { "Pointers": 2 }, - "15": { "ScriptKeywords": 3 }, - "16": { "Speech": 1 }, - "17": { "Tumbleweed_actions": 1 }, - "18": { "UpgradingTo271": 2 }, - "19": { "Viewport": 2 } - }, - "assigned": { - "0": { "acintro6": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Button": 1 }, - "3": { "Camera": 1 }, - "4": { "Character": 1 }, - "5": { "Dictionary": 2 }, - "6": { "DynamicArrays": 3 }, - "7": { "DynamicSprite": 3 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 3 }, - "10": { "FAQ": 1 }, - "11": { "GameSavesCompatibility": 5 }, - "12": { "GUI": 3 }, - "13": { "MusicAndSound": 1 }, - "14": { "Object": 3 }, - "15": { "Pointers": 2 }, - "16": { "ScriptKeywords": 4 }, - "17": { "Settingupthegame": 1 }, - "18": { "Speech": 2 }, - "19": { "String": 1 }, - "20": { "TextWindowGUI": 2 }, - "21": { "Tumbleweed_translation": 1 }, - "22": { "UpgradeTo36": 1 } - }, - "assigning": { - "0": { "FAQ": 2 }, - "1": { "Globalfunctions_Message": 1 }, - "2": { "Pointers": 1 } - }, - "assignment": { - "0": { "ColoursEditor": 1 } - }, - "assigns": { - "0": { "DynamicSprite": 2 }, - "1": { "Game": 2 }, - "2": { "Pointers": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "assist": { - "0": { "ScriptKeywords": 1 } - }, - "assistance": { - "0": { "acintro1": 1 } - }, - "associated": { - "0": { "BlockingScripts": 1 }, - "1": { "Dictionary": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 } - }, - "association": { - "0": { "Lipsync": 1 } - }, - "associations": { - "0": { "Lipsync": 1 } - }, - "assume": { - "0": { "EngineConfigFile": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "ScriptKeywords": 1 } - }, - "assumes": { - "0": { "Game": 1 }, - "1": { "TextWindowGUI": 1 } - }, - "assuming": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Game": 1 }, - "3": { "ListBox": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "TextParser": 1 }, - "6": { "TextWindowGUI": 1 } - }, - "assumption": { - "0": { "AudioInScript": 1 } - }, - "assumptions": { - "0": { "EditorPlugins": 1 } - }, - "asterisk": { - "0": { "Pointers": 3 } - }, - "ate": { - "0": { "RepExec": 1 } - }, - "attach": { - "0": { "EditorGUI": 1 }, - "1": { "RuntimeEngine": 2 }, - "2": { "System": 1 } - }, - "attached": { - "0": { "GUI": 1 }, - "1": { "Room": 1 }, - "2": { "RuntimeEngine": 3 } - }, - "attachment": { - "0": { "ContactingTheDevelopers": 1 } - }, - "attempt": { - "0": { "acintro3": 1 }, - "1": { "Character": 3 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "File": 3 }, - "7": { "Game": 4 }, - "8": { "GUI": 1 }, - "9": { "Object": 1 }, - "10": { "Pointers": 1 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "UpgradeTo30": 1 }, - "15": { "UpgradeTo335": 1 }, - "16": { "UpgradeTo35": 1 }, - "17": { "UpgradingTo27": 1 } - }, - "attempting": { - "0": { "BuildAndroid": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "TroubleshootingWindowsZoneID": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "attempts": { - "0": { "GUIControl": 1 }, - "1": { "Mouse": 1 }, - "2": { "SourceControl": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "attribute": { - "0": { "EditorGUI": 1 }, - "1": { "EditorPlugins": 3 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "OOProgramming": 16 }, - "4": { "ScriptKeywords": 3 }, - "5": { "String": 1 }, - "6": { "TroubleshootingWindowsZoneID": 1 } - }, - "attribute's": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "attributes": { - "0": { "EditorGUI": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "OOProgramming": 3 } - }, - "au": { - "0": { "Lipsync": 1 } - }, - "audible": { - "0": { "DistGame": 1 } - }, - "audio": { - "0": { "AudioChannel": 41 }, - "1": { "AudioClip": 35 }, - "2": { "AudioInScript": 11 }, - "3": { "Constants": 1 }, - "4": { "Credits": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "DistGame": 10 }, - "7": { "EngineConfigFile": 2 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Game": 18 }, - "10": { "GeneralSettings": 3 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Lipsync": 4 }, - "13": { "MIDI-playback": 3 }, - "14": { "Multimedia": 10 }, - "15": { "MusicAndSound": 25 }, - "16": { "ScriptAPIOverview": 3 }, - "17": { "ScriptingTutorialPart2": 1 }, - "18": { "Setup": 1 }, - "19": { "Slider": 1 }, - "20": { "System": 5 }, - "21": { "UpgradeTo32": 22 }, - "22": { "ViewFrame": 3 }, - "23": { "VoiceSpeech": 1 } - }, - "audio-related": { - "0": { "GeneralSettings": 1 } - }, - "audiochannels": { - "0": { "Game": 1 } - }, - "audioclip": { - "0": { "Tumbleweed_movement": 1 } - }, - "authentic": { - "0": { "acintro1": 1 }, - "1": { "Tumbleweed_unhandled": 1 } - }, - "authenticate": { - "0": { "OOProgramming": 1 } - }, - "author": { - "0": { "Copyright": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Plugins": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "Tumbleweed_unhandled": 1 }, - "6": { "VoiceSpeech": 1 } - }, - "author's": { - "0": { "Setup": 1 } - }, - "authors": { - "0": { "Copyright": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "authorship": { - "0": { "ScriptModules": 1 } - }, - "auto": { - "0": { "EditorLogPanel": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "FAQ": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "Globalfunctions_General": 1 } - }, - "auto-complete": { - "0": { "acintro7": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "UpgradingTo27": 2 } - }, - "auto-numbered": { - "0": { "AutonumberSpeechFiles": 1 } - }, - "auto-tracking": { - "0": { "Camera": 6 } - }, - "autocomplete": { - "0": { "OOProgramming": 2 }, - "1": { "StandardEnums": 2 }, - "2": { "UpgradingTo27": 2 } - }, - "autogenerated": { - "0": { "Pointers": 3 } - }, - "autolock": { - "0": { "EngineConfigFile": 1 }, - "1": { "Mouse": 1 } - }, - "automated": { - "0": { "EventTypes": 1 }, - "1": { "Overlay": 1 } - }, - "automatic": { - "0": { "acintro9": 2 }, - "1": { "AudioClip": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 3 }, - "4": { "Dialog": 1 }, - "5": { "DialogOptionsRenderingInfo": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "Game": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 1 }, - "10": { "Hotspot": 1 }, - "11": { "InventoryItem": 1 }, - "12": { "Mouse": 1 }, - "13": { "Object": 1 }, - "14": { "Pointers": 1 }, - "15": { "UpgradeTo36": 1 }, - "16": { "UpgradeTo361": 1 }, - "17": { "Viewport": 1 } - }, - "automatically": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 3 }, - "3": { "acintro9": 1 }, - "4": { "AudioClip": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "BuildAndroid": 1 }, - "7": { "Button": 1 }, - "8": { "Camera": 9 }, - "9": { "Character": 12 }, - "10": { "CustomDialogOptions": 1 }, - "11": { "Dialog": 3 }, - "12": { "DialogOptionsRenderingInfo": 1 }, - "13": { "DynamicArrays": 2 }, - "14": { "DynamicSprite": 3 }, - "15": { "EditorGUI": 5 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "EnginePluginRun-timeAPI": 5 }, - "19": { "File": 2 }, - "20": { "Game": 12 }, - "21": { "GameSavesCompatibility": 1 }, - "22": { "Gamevariables": 1 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_Event": 1 }, - "25": { "Globalfunctions_General": 4 }, - "26": { "Globalfunctions_Message": 2 }, - "27": { "Globalfunctions_Room": 2 }, - "28": { "GUI": 3 }, - "29": { "GUIControl": 1 }, - "30": { "Hotspot": 1 }, - "31": { "ImportingFunctionsAndVariables": 1 }, - "32": { "InventoryItem": 1 }, - "33": { "Label": 1 }, - "34": { "ListBox": 1 }, - "35": { "MIDI-playback": 1 }, - "36": { "Mouse": 2 }, - "37": { "Multimedia": 1 }, - "38": { "MultipleScripts": 1 }, - "39": { "MusicAndSound": 3 }, - "40": { "Object": 4 }, - "41": { "Overlay": 5 }, - "42": { "Pointers": 1 }, - "43": { "Screen": 2 }, - "44": { "ScriptingTutorialPart1": 1 }, - "45": { "ScriptKeywords": 1 }, - "46": { "Set": 1 }, - "47": { "Settingupthegame": 1 }, - "48": { "Speech": 1 }, - "49": { "StandardEnums": 3 }, - "50": { "TextParser": 1 }, - "51": { "Translations": 2 }, - "52": { "Tumbleweed": 1 }, - "53": { "UpgradeTo32": 2 }, - "54": { "UpgradeTo33": 1 }, - "55": { "UpgradeTo335": 1 }, - "56": { "UpgradeTo341": 1 }, - "57": { "UpgradeTo35": 2 }, - "58": { "UpgradeTo36": 1 }, - "59": { "UpgradeTo361": 1 }, - "60": { "UpgradingTo27": 3 } - }, - "automation": { - "0": { "EditorCommandLineOptions": 2 } - }, - "autotimer": { - "0": { "Game": 1 } - }, - "available": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 2 }, - "5": { "acintro8": 3 }, - "6": { "acintro9": 3 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AudioClip": 6 }, - "9": { "AudioInScript": 2 }, - "10": { "Character": 1 }, - "11": { "Constants": 2 }, - "12": { "Copyright": 1 }, - "13": { "Credits": 1 }, - "14": { "Debuggingfeatures": 1 }, - "15": { "DefaultSetup": 3 }, - "16": { "Dialog": 2 }, - "17": { "DialogScript": 3 }, - "18": { "DistGame": 3 }, - "19": { "EditorCursor": 1 }, - "20": { "EditorGUI": 2 }, - "21": { "EditorPlugins": 1 }, - "22": { "EditorRoom": 4 }, - "23": { "EditorSprite": 2 }, - "24": { "EnginePluginRun-timeAPI": 3 }, - "25": { "Game": 2 }, - "26": { "GameSavesCompatibility": 1 }, - "27": { "Gamevariables": 2 }, - "28": { "GeneralSettings": 6 }, - "29": { "Globalfunctions_Event": 4 }, - "30": { "Globalfunctions_General": 2 }, - "31": { "Globalfunctions_Message": 1 }, - "32": { "GlobalVariables": 1 }, - "33": { "GraphicsDriver": 3 }, - "34": { "Introduction": 2 }, - "35": { "Lipsync": 1 }, - "36": { "Multimedia": 3 }, - "37": { "MusicAndSound": 2 }, - "38": { "ObsoleteScriptAPI": 1 }, - "39": { "OOProgramming": 1 }, - "40": { "Plugins": 2 }, - "41": { "Room": 1 }, - "42": { "RuntimeEngine": 3 }, - "43": { "ScriptAPIOverview": 2 }, - "44": { "ScriptingTutorialPart1": 3 }, - "45": { "ScriptKeywords": 2 }, - "46": { "Settingupthegame": 9 }, - "47": { "Setup": 6 }, - "48": { "SourceControl": 1 }, - "49": { "Speech": 3 }, - "50": { "StandardTypes": 1 }, - "51": { "System": 3 }, - "52": { "Templates": 1 }, - "53": { "UpgradeTo34": 1 }, - "54": { "UpgradeTo36": 2 }, - "55": { "UpgradingTo27": 1 } - }, - "average": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 1 } - }, - "avoid": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 2 }, - "2": { "DistGame": 2 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Gamevariables": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Multimedia": 1 }, - "9": { "ScriptKeywords": 1 } - }, - "awarding": { - "0": { "Game": 1 } - }, - "aware": { - "0": { "DefaultSetup": 1 }, - "1": { "DistGame": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "System": 1 }, - "6": { "UnicodeSupport": 1 }, - "7": { "UpgradeTo30": 1 } - }, - "away": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro8": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AudioChannel": 1 }, - "5": { "Character": 10 }, - "6": { "EditorInventoryItems": 1 }, - "7": { "EngineConfigFile": 1 }, - "8": { "EnginePluginRun-timeAPI": 3 }, - "9": { "Globalfunctions_General": 2 }, - "10": { "Maths": 1 }, - "11": { "Mouse": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "Settingupthegame": 2 }, - "14": { "Templates": 1 }, - "15": { "TextParser": 3 }, - "16": { "Tumbleweed": 1 } - }, - "awful": { - "0": { "StringFormats": 1 } - }, - "axialis": { - "0": { "DistGame": 1 } - }, - "axis": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Screen": 1 } - }, - "back": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 4 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 2 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AudioChannel": 1 }, - "9": { "AudioClip": 1 }, - "10": { "BackingUpYourGame": 3 }, - "11": { "Button": 1 }, - "12": { "Camera": 2 }, - "13": { "Character": 11 }, - "14": { "ColoursEditor": 1 }, - "15": { "CustomDialogOptions": 1 }, - "16": { "DefaultSetup": 1 }, - "17": { "Dialog": 3 }, - "18": { "DialogScript": 1 }, - "19": { "DistGame": 1 }, - "20": { "DrawingSurface": 1 }, - "21": { "DynamicSprite": 3 }, - "22": { "EditorGUI": 1 }, - "23": { "EngineConfigFile": 2 }, - "24": { "EnginePluginDesign-timeAPI": 1 }, - "25": { "EnginePluginRun-timeAPI": 6 }, - "26": { "FAQ": 1 }, - "27": { "File": 12 }, - "28": { "GameSavesCompatibility": 2 }, - "29": { "GeneralSettings": 1 }, - "30": { "Globalfunctions_General": 2 }, - "31": { "Globalfunctions_Message": 1 }, - "32": { "Globalfunctions_Room": 3 }, - "33": { "Globalfunctions_Screen": 3 }, - "34": { "GUI": 5 }, - "35": { "GUIControl": 3 }, - "36": { "Hotspot": 4 }, - "37": { "InventoryItem": 1 }, - "38": { "Lipsync": 1 }, - "39": { "ListBox": 2 }, - "40": { "Maths": 1 }, - "41": { "Mouse": 2 }, - "42": { "Multimedia": 1 }, - "43": { "Object": 5 }, - "44": { "Overlay": 1 }, - "45": { "Region": 2 }, - "46": { "RepExec": 1 }, - "47": { "ScriptAPIOverview": 1 }, - "48": { "SourceControl": 1 }, - "49": { "System": 1 }, - "50": { "TemplateVerbcoin": 1 }, - "51": { "TroubleshootingWindowsZoneID": 2 }, - "52": { "UnicodeSupport": 2 }, - "53": { "UpgradeTo36": 1 }, - "54": { "Viewport": 2 } - }, - "backcolor": { - "0": { "Globalfunctions_Message": 1 } - }, - "backend": { - "0": { "Credits": 1 } - }, - "background": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 15 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 4 }, - "4": { "acintro6": 3 }, - "5": { "acintro7": 3 }, - "6": { "AdvancedRoomFeatures": 15 }, - "7": { "Camera": 4 }, - "8": { "Character": 8 }, - "9": { "ColoursEditor": 4 }, - "10": { "DrawingSurface": 13 }, - "11": { "DynamicSprite": 14 }, - "12": { "EditorFont": 1 }, - "13": { "EditorGUI": 5 }, - "14": { "EditorPreferences": 3 }, - "15": { "EditorRoom": 12 }, - "16": { "EngineConfigFile": 2 }, - "17": { "EnginePluginRun-timeAPI": 9 }, - "18": { "FAQ": 2 }, - "19": { "Game": 1 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "Gamevariables": 6 }, - "22": { "GeneralSettings": 3 }, - "23": { "Globalfunctions_General": 5 }, - "24": { "Globalfunctions_Message": 2 }, - "25": { "Globalfunctions_Palette": 2 }, - "26": { "Globalfunctions_Room": 7 }, - "27": { "Globalfunctions_Screen": 2 }, - "28": { "Globalfunctions_Wait": 1 }, - "29": { "GUI": 4 }, - "30": { "MusicAndSound": 1 }, - "31": { "Object": 7 }, - "32": { "RepExec": 3 }, - "33": { "Room": 9 }, - "34": { "Screen": 2 }, - "35": { "Settingupthegame": 5 }, - "36": { "Slider": 5 }, - "37": { "Speech": 1 }, - "38": { "System": 1 }, - "39": { "SystemRequirements": 1 }, - "40": { "TemplateVerbcoin": 2 }, - "41": { "UpgradeTo30": 1 }, - "42": { "UpgradeTo31": 1 }, - "43": { "UpgradeTo35": 2 }, - "44": { "Viewport": 1 } - }, - "background's": { - "0": { "Room": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "backgroundNumber": { - "0": { "Room": 1 } - }, - "backgrounds": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 3 }, - "3": { "acintro7": 1 }, - "4": { "AdvancedRoomFeatures": 5 }, - "5": { "ColoursEditor": 1 }, - "6": { "DrawingSurface": 3 }, - "7": { "EditorPreferences": 1 }, - "8": { "EditorRoom": 2 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_Room": 2 }, - "12": { "Settingupthegame": 3 }, - "13": { "System": 1 }, - "14": { "UpgradeTo30": 1 }, - "15": { "UpgradeTo361": 1 } - }, - "backing": { - "0": { "MusicAndSound": 1 } - }, - "backspace": { - "0": { "EditorGUI": 1 } - }, - "backup": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 6 }, - "3": { "EditorPreferences": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "UnicodeSupport": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "backward": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "UnicodeSupport": 1 }, - "4": { "UpgradeTo35": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "backwards": { - "0": { "acintro5": 1 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "File": 1 }, - "5": { "GeneralSettings": 2 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "InventoryItem": 1 }, - "10": { "Object": 1 }, - "11": { "RepExec": 1 }, - "12": { "Room": 1 }, - "13": { "UnicodeSupport": 1 }, - "14": { "UpgradeTo32": 1 }, - "15": { "UpgradeTo335": 1 }, - "16": { "UpgradeTo34": 1 }, - "17": { "UpgradeTo36": 1 }, - "18": { "UpgradingTo27": 1 }, - "19": { "UpgradingTo271": 1 } - }, - "backwards-compatible": { - "0": { "DrawingSurface": 1 }, - "1": { "Game": 1 }, - "2": { "UpgradeTo31": 1 } - }, - "bad": { - "0": { "Character": 1 }, - "1": { "EditorInventoryItems": 1 } - }, - "badGuyHealth": { - "0": { "ScriptKeywords": 1 } - }, - "badWord": { - "0": { "Parser": 3 }, - "1": { "TextParser": 3 } - }, - "badly": { - "0": { "acintro1": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "balance": { - "0": { "AudioChannel": 2 } - }, - "ball": { - "0": { "ScriptKeywords": 6 } - }, - "bandwidth": { - "0": { "DistGame": 1 } - }, - "bank": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "bar": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 2 }, - "4": { "EditorGUI": 2 }, - "5": { "EditorRoom": 2 }, - "6": { "Gamevariables": 1 }, - "7": { "Globalfunctions_General": 5 }, - "8": { "Globalfunctions_Message": 10 }, - "9": { "GUI": 1 }, - "10": { "Lipsync": 3 }, - "11": { "Settingupthegame": 2 }, - "12": { "TemplateBASS": 2 }, - "13": { "Tumbleweed_actions": 1 }, - "14": { "Tumbleweed_extensions": 1 }, - "15": { "Tumbleweed_translation": 1 }, - "16": { "UpgradeTo35": 2 } - }, - "bar's": { - "0": { "Globalfunctions_Message": 2 } - }, - "bare": { - "0": { "acintro3": 1 }, - "1": { "EditorPlugins": 1 } - }, - "base": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Maths": 5 }, - "4": { "Object": 1 }, - "5": { "Pointers": 1 }, - "6": { "Speech": 1 }, - "7": { "Templates": 1 }, - "8": { "TemplateVerbcoin": 1 } - }, - "based": { - "0": { "Character": 1 }, - "1": { "Credits": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "Dictionary": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Introduction": 1 }, - "7": { "Lipsync": 1 }, - "8": { "Object": 1 }, - "9": { "Pointers": 1 }, - "10": { "ScriptAPIOverview": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "Speech": 2 }, - "14": { "StandardEnums": 2 }, - "15": { "StringFormats": 1 }, - "16": { "Templates": 1 }, - "17": { "TemplateVerbcoin": 1 }, - "18": { "UpgradeTo36": 1 }, - "19": { "VoiceSpeech": 1 } - }, - "basedir": { - "0": { "MIDI-playback": 2 } - }, - "baseline": { - "0": { "acintro2": 5 }, - "1": { "acintro4": 2 }, - "2": { "Character": 7 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "Object": 7 }, - "7": { "Overlay": 1 } - }, - "baselines": { - "0": { "acintro4": 1 }, - "1": { "Character": 2 }, - "2": { "FAQ": 1 }, - "3": { "Object": 1 } - }, - "bash": { - "0": { "EditorCommandLineOptions": 1 } - }, - "basic": { - "0": { "acintro9": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorPlugins": 3 }, - "5": { "Game": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "OOProgramming": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "UpgradeTo32": 1 } - }, - "basically": { - "0": { "acintro4": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Templates": 1 } - }, - "basics": { - "0": { "acintro3": 1 }, - "1": { "acintro9": 1 }, - "2": { "ScriptingTutorial": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "ScriptingTutorialPart2": 1 } - }, - "battery": { - "0": { "EventTypes": 2 } - }, - "battle": { - "0": { "MusicAndSound": 1 } - }, - "bear": { - "0": { "GUIControl": 1 } - }, - "beat": { - "0": { "AudioChannel": 2 } - }, - "beauty": { - "0": { "TextParser": 1 } - }, - "became": { - "0": { "DistGame": 1 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradeTo35": 2 } - }, - "because": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 2 }, - "4": { "acintro8": 2 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AudioChannel": 2 }, - "7": { "AudioInScript": 3 }, - "8": { "BlockingScripts": 1 }, - "9": { "Character": 2 }, - "10": { "Constants": 1 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "DefaultSetup": 1 }, - "13": { "DialogScript": 1 }, - "14": { "DynamicSprite": 4 }, - "15": { "EditorCursor": 1 }, - "16": { "EditorPlugins": 2 }, - "17": { "EditorSprite": 1 }, - "18": { "EngineConfigFile": 1 }, - "19": { "EnginePluginDesign-timeAPI": 2 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "EventTypes": 1 }, - "22": { "File": 3 }, - "23": { "Game": 4 }, - "24": { "GameSavesCompatibility": 6 }, - "25": { "GeneralSettings": 2 }, - "26": { "GlobalArrays": 1 }, - "27": { "Globalfunctions_General": 2 }, - "28": { "Hotspot": 1 }, - "29": { "ListBox": 1 }, - "30": { "Maths": 2 }, - "31": { "Multimedia": 3 }, - "32": { "MusicAndSound": 3 }, - "33": { "Object": 2 }, - "34": { "Overlay": 2 }, - "35": { "Pointers": 2 }, - "36": { "Region": 1 }, - "37": { "RepExec": 2 }, - "38": { "ScriptingTutorialPart1": 1 }, - "39": { "Settingupthegame": 5 }, - "40": { "Speech": 1 }, - "41": { "Translations": 1 }, - "42": { "TroubleshootingWindowsZoneID": 1 }, - "43": { "Tumbleweed": 1 }, - "44": { "Tumbleweed_translation": 1 }, - "45": { "UpgradeTo30": 2 }, - "46": { "UpgradeTo31": 1 }, - "47": { "UpgradeTo35": 3 }, - "48": { "UpgradeTo36": 2 }, - "49": { "UpgradeTo361": 2 }, - "50": { "Viewport": 2 } - }, - "become": { - "0": { "acintro2": 1 }, - "1": { "acintro5": 1 }, - "2": { "EditorSprite": 2 }, - "3": { "GameEventsOrder": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Globalfunctions_Room": 1 }, - "7": { "GUI": 2 }, - "8": { "MultipleScripts": 1 }, - "9": { "ScriptingTutorialPart2": 1 }, - "10": { "UpgradeTo30": 1 }, - "11": { "UpgradeTo31": 1 }, - "12": { "UpgradingTo27": 1 }, - "13": { "VoiceSpeech": 1 } - }, - "becomes": { - "0": { "AudioClip": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Mouse": 1 }, - "6": { "Object": 2 }, - "7": { "Pointers": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "becoming": { - "0": { "EditorFont": 1 }, - "1": { "Settingupthegame": 1 } - }, - "bed": { - "0": { "DateTime": 1 } - }, - "been": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 2 }, - "3": { "Character": 4 }, - "4": { "ContactingTheDevelopers": 3 }, - "5": { "CustomProperties": 1 }, - "6": { "Dialog": 1 }, - "7": { "DialogScript": 1 }, - "8": { "DynamicSprite": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorInventoryItems": 1 }, - "11": { "EditorRoom": 1 }, - "12": { "EnginePluginDesign-timeAPI": 2 }, - "13": { "EnginePluginRun-timeAPI": 15 }, - "14": { "File": 4 }, - "15": { "Game": 2 }, - "16": { "GeneralSettings": 1 }, - "17": { "Globalfunctions_Event": 3 }, - "18": { "Globalfunctions_General": 6 }, - "19": { "Globalfunctions_Room": 6 }, - "20": { "Globalfunctions_Screen": 1 }, - "21": { "GUI": 1 }, - "22": { "Hotspot": 1 }, - "23": { "Introduction": 1 }, - "24": { "InventoryItem": 1 }, - "25": { "ListBox": 1 }, - "26": { "Multimedia": 3 }, - "27": { "MusicAndSound": 2 }, - "28": { "Object": 2 }, - "29": { "Pointers": 1 }, - "30": { "Region": 1 }, - "31": { "RepExec": 3 }, - "32": { "ScriptingTutorialPart1": 1 }, - "33": { "ScriptKeywords": 1 }, - "34": { "String": 1 }, - "35": { "SystemLimits": 1 }, - "36": { "TroubleshootingWindowsZoneID": 1 }, - "37": { "Tumbleweed": 2 }, - "38": { "Tumbleweed_actions": 2 }, - "39": { "Tumbleweed_movement": 11 }, - "40": { "Tumbleweed_translation": 1 }, - "41": { "UnicodeSupport": 1 }, - "42": { "UpgradeTo30": 7 }, - "43": { "UpgradeTo32": 1 }, - "44": { "UpgradeTo33": 3 }, - "45": { "UpgradeTo34": 1 }, - "46": { "UpgradeTo36": 7 }, - "47": { "UpgradeTo361": 1 }, - "48": { "UpgradingTo27": 5 }, - "49": { "UpgradingTo271": 4 }, - "50": { "ViewFrame": 1 } - }, - "before": { - "0": { "acintro1": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 7 }, - "5": { "acintro8": 2 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioInScript": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Button": 1 }, - "11": { "Character": 20 }, - "12": { "ColoursEditor": 1 }, - "13": { "ContactingTheDevelopers": 2 }, - "14": { "CustomDialogOptions": 3 }, - "15": { "Debuggingfeatures": 1 }, - "16": { "Dialog": 1 }, - "17": { "DialogScript": 1 }, - "18": { "DrawingSurface": 2 }, - "19": { "DynamicArrays": 2 }, - "20": { "EditorCommandLineOptions": 1 }, - "21": { "EditorDialog": 1 }, - "22": { "EditorPreferences": 1 }, - "23": { "EditorView": 1 }, - "24": { "EngineConfigFile": 1 }, - "25": { "EnginePluginDesign-timeAPI": 1 }, - "26": { "EnginePluginRun-timeAPI": 22 }, - "27": { "EventTypes": 3 }, - "28": { "FAQ": 2 }, - "29": { "Game": 5 }, - "30": { "Gamevariables": 2 }, - "31": { "GeneralSettings": 5 }, - "32": { "Globalfunctions_Event": 7 }, - "33": { "Globalfunctions_General": 3 }, - "34": { "Globalfunctions_Message": 1 }, - "35": { "Globalfunctions_Room": 2 }, - "36": { "GlobalVariables": 1 }, - "37": { "ListBox": 2 }, - "38": { "Mouse": 4 }, - "39": { "Multimedia": 2 }, - "40": { "MultipleScripts": 2 }, - "41": { "Object": 5 }, - "42": { "OOProgramming": 1 }, - "43": { "Overlay": 1 }, - "44": { "Parser": 1 }, - "45": { "Pointers": 1 }, - "46": { "Preprocessor": 1 }, - "47": { "RepExec": 3 }, - "48": { "Screen": 2 }, - "49": { "ScriptAPIOverview": 1 }, - "50": { "ScriptingTutorialPart1": 1 }, - "51": { "ScriptKeywords": 5 }, - "52": { "Settingupthegame": 3 }, - "53": { "Speech": 3 }, - "54": { "System": 7 }, - "55": { "TemplateVerbcoin": 1 }, - "56": { "TextWindowGUI": 1 }, - "57": { "Tumbleweed_movement": 8 }, - "58": { "UnicodeSupport": 1 }, - "59": { "UpgradeTo30": 4 }, - "60": { "UpgradeTo31": 2 }, - "61": { "UpgradeTo34": 2 }, - "62": { "UpgradeTo36": 1 }, - "63": { "UpgradingTo27": 3 } - }, - "begin": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Button": 1 }, - "4": { "Camera": 1 }, - "5": { "Character": 1 }, - "6": { "CustomProperties": 1 }, - "7": { "DialogScript": 2 }, - "8": { "FAQ": 1 }, - "9": { "Object": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "StringFormats": 1 }, - "12": { "SystemLimits": 1 }, - "13": { "Translations": 2 } - }, - "beginner": { - "0": { "FAQ": 1 } - }, - "beginner's": { - "0": { "TheScriptHeader": 1 } - }, - "beginners": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "beginning": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "Camera": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "EnginePlugins": 1 }, - "5": { "File": 2 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Preprocessor": 1 }, - "9": { "Screen": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "UpgradingTo27": 1 }, - "12": { "Viewport": 1 } - }, - "begins": { - "0": { "Button": 1 }, - "1": { "Character": 1 }, - "2": { "Game": 1 }, - "3": { "Object": 1 }, - "4": { "TroubleshootingWindowsZoneID": 1 } - }, - "begun": { - "0": { "Speech": 1 } - }, - "behave": { - "0": { "Character": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "UpgradeTo34": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "behaves": { - "0": { "AudioClip": 2 }, - "1": { "GUI": 1 } - }, - "behavior": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 1 }, - "3": { "Camera": 2 }, - "4": { "Character": 4 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "DialogOptionsRenderingInfo": 1 }, - "8": { "EditorLogPanel": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EventTypes": 1 }, - "11": { "ExtenderFunctions": 1 }, - "12": { "Game": 2 }, - "13": { "Globalfunctions_General": 4 }, - "14": { "Globalfunctions_Room": 1 }, - "15": { "GUI": 3 }, - "16": { "Keycodes": 1 }, - "17": { "Object": 2 }, - "18": { "Overlay": 1 }, - "19": { "Room": 2 }, - "20": { "Screen": 1 }, - "21": { "Speech": 1 }, - "22": { "TemplateBASS": 1 }, - "23": { "TemplateSierraStyle": 1 }, - "24": { "TheScriptHeader": 1 }, - "25": { "Tumbleweed": 1 }, - "26": { "Tumbleweed_extensions": 1 }, - "27": { "Tumbleweed_movement": 1 }, - "28": { "UpgradeTo34": 1 }, - "29": { "UpgradeTo35": 1 }, - "30": { "UpgradeTo36": 4 }, - "31": { "UpgradeTo361": 1 }, - "32": { "Viewport": 2 } - }, - "behaviors": { - "0": { "EditorGUI": 2 }, - "1": { "TemplateBASS": 1 } - }, - "behind": { - "0": { "acintro2": 5 }, - "1": { "acintro4": 2 }, - "2": { "acintro7": 1 }, - "3": { "acintro9": 1 }, - "4": { "Character": 6 }, - "5": { "EditorFont": 1 }, - "6": { "FAQ": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_Room": 1 }, - "9": { "GUI": 1 }, - "10": { "GUIControl": 3 }, - "11": { "ImportingFunctionsAndVariables": 1 }, - "12": { "MultipleScripts": 1 }, - "13": { "Object": 4 }, - "14": { "Overlay": 1 }, - "15": { "RepExec": 1 }, - "16": { "Settingupthegame": 1 }, - "17": { "UpgradeTo35": 1 } - }, - "being": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "AnonymousUsageInfo": 1 }, - "3": { "AudioChannel": 1 }, - "4": { "Character": 5 }, - "5": { "Constants": 1 }, - "6": { "ContactingTheDevelopers": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "DialogScript": 1 }, - "9": { "DistGame": 1 }, - "10": { "DrawingSurface": 1 }, - "11": { "EditorFont": 1 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorLogPanel": 1 }, - "14": { "EditorSprite": 3 }, - "15": { "EnginePluginDesign-timeAPI": 1 }, - "16": { "EnginePluginRun-timeAPI": 14 }, - "17": { "File": 1 }, - "18": { "Game": 3 }, - "19": { "GeneralSettings": 3 }, - "20": { "Globalfunctions_Event": 1 }, - "21": { "Globalfunctions_General": 1 }, - "22": { "Globalfunctions_Palette": 1 }, - "23": { "Globalfunctions_Room": 2 }, - "24": { "GUI": 3 }, - "25": { "GUIControl": 1 }, - "26": { "Lipsync": 1 }, - "27": { "MIDI-playback": 1 }, - "28": { "Mouse": 1 }, - "29": { "Multimedia": 1 }, - "30": { "MultipleScripts": 1 }, - "31": { "MusicAndSound": 1 }, - "32": { "Object": 4 }, - "33": { "OOProgramming": 1 }, - "34": { "ScriptKeywords": 1 }, - "35": { "Settingupthegame": 1 }, - "36": { "Speech": 2 }, - "37": { "StartingOff": 1 }, - "38": { "System": 3 }, - "39": { "TemplateBASS": 1 }, - "40": { "TemplateSierraStyle": 1 }, - "41": { "TemplateVerbcoin": 2 }, - "42": { "TextParser": 1 }, - "43": { "TroubleshootingWindowsZoneID": 2 }, - "44": { "Tumbleweed": 1 }, - "45": { "Tumbleweed_actions": 2 }, - "46": { "Tumbleweed_door": 4 }, - "47": { "Tumbleweed_movement": 4 }, - "48": { "Tumbleweed_translation": 3 }, - "49": { "UpgradeTo32": 1 }, - "50": { "UpgradeTo34": 1 }, - "51": { "UpgradeTo36": 2 }, - "52": { "UpgradingTo27": 1 }, - "53": { "UpgradingTo271": 1 } - }, - "belonging": { - "0": { "DialogOptionsRenderingInfo": 1 } - }, - "belongs": { - "0": { "ScriptKeywords": 2 }, - "1": { "TheScriptHeader": 1 } - }, - "below": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro5": 1 }, - "3": { "BackingUpYourGame": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 2 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "DialogScript": 2 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EnginePluginRun-timeAPI": 8 }, - "12": { "File": 3 }, - "13": { "Game": 5 }, - "14": { "GameSavesCompatibility": 2 }, - "15": { "GeneralSettings": 3 }, - "16": { "Globalfunctions_Event": 1 }, - "17": { "Globalfunctions_General": 5 }, - "18": { "Globalfunctions_Message": 1 }, - "19": { "Globalfunctions_Room": 1 }, - "20": { "GUI": 1 }, - "21": { "ImportingFunctionsAndVariables": 1 }, - "22": { "InvWindow": 1 }, - "23": { "KeyboardShortcuts": 1 }, - "24": { "Label": 1 }, - "25": { "Lipsync": 1 }, - "26": { "ListBox": 1 }, - "27": { "Object": 2 }, - "28": { "Plugins": 2 }, - "29": { "Preprocessor": 3 }, - "30": { "ScriptKeywords": 1 }, - "31": { "ScriptModules": 1 }, - "32": { "Settingupthegame": 2 }, - "33": { "Slider": 1 }, - "34": { "StartingOff": 1 }, - "35": { "System": 1 }, - "36": { "Templates": 2 }, - "37": { "TextBox": 1 }, - "38": { "TextWindowGUI": 1 }, - "39": { "TheScriptHeader": 1 }, - "40": { "Translations": 1 }, - "41": { "Tumbleweed": 1 }, - "42": { "UnicodeSupport": 1 }, - "43": { "UpgradeTo30": 1 }, - "44": { "UpgradeTo33": 1 }, - "45": { "UpgradeTo35": 2 }, - "46": { "Viewport": 1 } - }, - "bending": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "Settingupthegame": 1 } - }, - "bending-down": { - "0": { "acintro7": 1 } - }, - "benefit": { - "0": { "acintro3": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "Character": 1 }, - "3": { "Multimedia": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "UpgradingTo27": 1 }, - "6": { "UpgradingTo271": 1 } - }, - "benefits": { - "0": { "UpgradeTo36": 1 }, - "1": { "UpgradingTo27": 2 } - }, - "berries": { - "0": { "ScriptKeywords": 3 } - }, - "beside": { - "0": { "acintro5": 1 }, - "1": { "TextParser": 1 } - }, - "best": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "Character": 1 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "GUI": 1 }, - "9": { "ImportingFunctionsAndVariables": 1 }, - "10": { "Object": 1 }, - "11": { "Pointers": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "SystemRequirements": 1 }, - "14": { "TheScriptHeader": 1 }, - "15": { "UpgradeTo30": 1 }, - "16": { "UpgradingTo27": 1 } - }, - "beta": { - "0": { "Credits": 1 }, - "1": { "Introduction": 1 } - }, - "better": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro9": 1 }, - "4": { "AnonymousUsageInfo": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "DialogScript": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "ImportingFunctionsAndVariables": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "ScriptAPIOverview": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "UpgradingTo27": 2 } - }, - "between": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 1 }, - "6": { "acintro9": 1 }, - "7": { "AudioChannel": 2 }, - "8": { "Camera": 1 }, - "9": { "Character": 5 }, - "10": { "CustomDialogOptions": 1 }, - "11": { "DateTime": 1 }, - "12": { "DefaultSetup": 1 }, - "13": { "DistGame": 1 }, - "14": { "DynamicSprite": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorFont": 1 }, - "17": { "EditorGUI": 2 }, - "18": { "EditorLogPanel": 1 }, - "19": { "EditorRoom": 1 }, - "20": { "EngineConfigFile": 1 }, - "21": { "EnginePluginRun-timeAPI": 3 }, - "22": { "FAQ": 1 }, - "23": { "File": 1 }, - "24": { "Game": 3 }, - "25": { "GameSavesCompatibility": 1 }, - "26": { "GeneralSettings": 5 }, - "27": { "Globalfunctions_Event": 1 }, - "28": { "Globalfunctions_General": 13 }, - "29": { "GUI": 2 }, - "30": { "ImportingFunctionsAndVariables": 1 }, - "31": { "Lipsync": 1 }, - "32": { "ListBox": 1 }, - "33": { "MIDI-playback": 1 }, - "34": { "MusicAndSound": 1 }, - "35": { "Object": 1 }, - "36": { "Pointers": 1 }, - "37": { "Preprocessor": 3 }, - "38": { "Region": 1 }, - "39": { "RepExec": 2 }, - "40": { "Screen": 1 }, - "41": { "ScriptingTutorialPart1": 3 }, - "42": { "ScriptingTutorialPart2": 1 }, - "43": { "ScriptKeywords": 1 }, - "44": { "Settingupthegame": 2 }, - "45": { "Setup": 1 }, - "46": { "Slider": 1 }, - "47": { "Speech": 1 }, - "48": { "System": 2 }, - "49": { "SystemLimits": 2 }, - "50": { "Translations": 1 }, - "51": { "Tumbleweed": 2 }, - "52": { "Tumbleweed_actions": 1 }, - "53": { "Tumbleweed_helper": 2 }, - "54": { "UnicodeSupport": 1 }, - "55": { "UpgradeTo34": 1 }, - "56": { "UpgradeTo35": 3 }, - "57": { "UpgradeTo36": 6 }, - "58": { "Viewport": 1 } - }, - "beware": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Settingupthegame": 1 } - }, - "beyond": { - "0": { "Camera": 1 }, - "1": { "Character": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "bg": { - "0": { "ExtenderFunctions": 2 } - }, - "bgspeech": { - "0": { "Character": 1 }, - "1": { "Gamevariables": 2 } - }, - "big": { - "0": { "Button": 1 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "FAQ": 2 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Pointers": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "TextParser": 1 }, - "8": { "UpgradeTo34": 1 }, - "9": { "UpgradeTo341": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "UpgradeTo36": 1 } - }, - "bigarray": { - "0": { "ScriptKeywords": 2 } - }, - "bigger": { - "0": { "acintro2": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "FAQ": 1 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "ScriptingTutorialPart1": 2 } - }, - "biggest": { - "0": { "EditorPreferences": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "billion": { - "0": { "SystemLimits": 5 }, - "1": { "VoiceSpeech": 1 } - }, - "billions": { - "0": { "UpgradeTo35": 1 } - }, - "binaries": { - "0": { "EnginePlugins": 2 } - }, - "binary": { - "0": { "DistGame": 3 }, - "1": { "File": 1 } - }, - "bird": { - "0": { "RepExec": 6 } - }, - "birthday": { - "0": { "DialogScript": 1 } - }, - "bit": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro8": 3 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 4 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "GameEventsOrder": 1 }, - "9": { "GameSavesCompatibility": 2 }, - "10": { "Globalfunctions_Screen": 1 }, - "11": { "ImportingFunctionsAndVariables": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Pointers": 3 }, - "14": { "ScriptingTutorialPart1": 1 }, - "15": { "ScriptKeywords": 1 }, - "16": { "SystemLimits": 1 }, - "17": { "Tumbleweed": 1 }, - "18": { "Tumbleweed_extensions": 2 }, - "19": { "Tumbleweed_translation": 1 }, - "20": { "UpgradeTo30": 1 }, - "21": { "UpgradeTo32": 2 } - }, - "bitmap": { - "0": { "acintro6": 1 }, - "1": { "AdvancedRoomFeatures": 2 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorFont": 3 }, - "6": { "EditorRoom": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginRun-timeAPI": 34 }, - "9": { "Settingupthegame": 1 }, - "10": { "UnicodeSupport": 2 }, - "11": { "UpgradeTo34": 1 } - }, - "bitmap's": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "bitmaps": { - "0": { "EnginePluginRun-timeAPI": 8 } - }, - "bits": { - "0": { "AudioInScript": 1 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "Translations": 2 } - }, - "bitwise": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Globalfunctions_Wait": 1 }, - "2": { "Keycodes": 3 }, - "3": { "StandardEnums": 2 }, - "4": { "UpgradeTo36": 1 } - }, - "black": { - "0": { "acintro2": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "EditorFont": 1 }, - "5": { "FAQ": 2 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Palette": 1 }, - "9": { "Globalfunctions_Screen": 7 }, - "10": { "Multimedia": 1 }, - "11": { "Overlay": 1 }, - "12": { "Setup": 1 }, - "13": { "System": 3 }, - "14": { "UpgradeTo32": 1 } - }, - "blacks": { - "0": { "Gamevariables": 1 } - }, - "blank": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 1 }, - "3": { "CustomProperties": 1 }, - "4": { "DynamicSprite": 2 }, - "5": { "EditorCursor": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "Game": 7 }, - "9": { "GeneralSettings": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "TextBox": 1 }, - "12": { "Translations": 5 }, - "13": { "TroubleshootingWindowsZoneID": 1 } - }, - "blended": { - "0": { "EditorSprite": 4 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "System": 1 } - }, - "blending": { - "0": { "EditorFont": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 4 }, - "3": { "GraphicsDriver": 2 }, - "4": { "System": 1 }, - "5": { "UpgradeTo33": 5 } - }, - "blink": { - "0": { "Character": 3 }, - "1": { "Viewport": 1 } - }, - "blinking": { - "0": { "Character": 12 }, - "1": { "Settingupthegame": 2 } - }, - "blits": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "bloating": { - "0": { "DistGame": 1 } - }, - "block": { - "0": { "acintro3": 1 }, - "1": { "Character": 3 }, - "2": { "DialogScript": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "KeyboardShortcuts": 1 }, - "5": { "Object": 5 }, - "6": { "RepExec": 1 }, - "7": { "ScriptingTutorialPart1": 2 }, - "8": { "ScriptingTutorialPart2": 3 }, - "9": { "ScriptKeywords": 3 }, - "10": { "Settingupthegame": 2 }, - "11": { "UpgradeTo30": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "blocked": { - "0": { "BlockingScripts": 4 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "RepExec": 2 }, - "3": { "TroubleshootingWindowsZoneID": 2 } - }, - "blocking": { - "0": { "acintro9": 1 }, - "1": { "BlockingScripts": 5 }, - "2": { "Button": 1 }, - "3": { "Character": 18 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "FAQ": 1 }, - "7": { "Game": 4 }, - "8": { "Globalfunctions_Event": 4 }, - "9": { "Globalfunctions_General": 8 }, - "10": { "Globalfunctions_Message": 2 }, - "11": { "Globalfunctions_Screen": 2 }, - "12": { "GUIControl": 1 }, - "13": { "Object": 11 }, - "14": { "RepExec": 3 }, - "15": { "ScriptingLanguage": 1 }, - "16": { "Speech": 4 }, - "17": { "Tumbleweed_movement": 8 }, - "18": { "UpgradeTo30": 1 } - }, - "blocks": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 1 }, - "3": { "Object": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "blue": { - "0": { "acintro2": 3 }, - "1": { "acintro4": 4 }, - "2": { "Character": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 3 }, - "6": { "Game": 2 }, - "7": { "Gamevariables": 1 }, - "8": { "Globalfunctions_General": 2 }, - "9": { "Globalfunctions_Palette": 2 }, - "10": { "Globalfunctions_Screen": 2 }, - "11": { "Lipsync": 3 }, - "12": { "Object": 1 }, - "13": { "Region": 2 }, - "14": { "Tumbleweed": 1 } - }, - "blurred": { - "0": { "GeneralSettings": 1 } - }, - "bmp": { - "0": { "ColoursEditor": 1 }, - "1": { "DynamicSprite": 15 }, - "2": { "EnginePluginRun-timeAPI": 12 } - }, - "board": { - "0": { "Plugins": 1 }, - "1": { "ScriptModules": 1 } - }, - "body": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "bold": { - "0": { "Gamevariables": 1 } - }, - "bolt": { - "0": { "EditorCharacter": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EventTypes": 1 }, - "3": { "Settingupthegame": 2 } - }, - "bolted-on": { - "0": { "UpgradeTo31": 1 } - }, - "bonus": { - "0": { "acintro4": 1 } - }, - "book": { - "0": { "File": 1 }, - "1": { "Settingupthegame": 1 } - }, - "bool": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 1 }, - "2": { "Button": 2 }, - "3": { "Camera": 1 }, - "4": { "Character": 20 }, - "5": { "Dialog": 3 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "Dictionary": 3 }, - "8": { "DrawingSurface": 1 }, - "9": { "DynamicSprite": 2 }, - "10": { "EnginePluginRun-timeAPI": 6 }, - "11": { "File": 3 }, - "12": { "Game": 11 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "GUI": 3 }, - "15": { "GUIControl": 3 }, - "16": { "Hotspot": 3 }, - "17": { "InventoryItem": 2 }, - "18": { "ListBox": 5 }, - "19": { "Mouse": 4 }, - "20": { "Object": 11 }, - "21": { "Overlay": 6 }, - "22": { "Parser": 1 }, - "23": { "Region": 2 }, - "24": { "Room": 3 }, - "25": { "Screen": 2 }, - "26": { "ScriptKeywords": 4 }, - "27": { "Set": 4 }, - "28": { "Speech": 2 }, - "29": { "String": 7 }, - "30": { "System": 9 }, - "31": { "TemplateBASS": 1 }, - "32": { "TemplateVerbcoin": 1 }, - "33": { "TextBox": 1 }, - "34": { "Tumbleweed_actions": 1 }, - "35": { "Tumbleweed_helper": 1 }, - "36": { "Tumbleweed_movement": 4 }, - "37": { "Tumbleweed_player": 1 }, - "38": { "ViewFrame": 1 }, - "39": { "Viewport": 3 } - }, - "boolean": { - "0": { "EditorInventoryItems": 2 }, - "1": { "ScriptKeywords": 1 } - }, - "border": { - "0": { "Camera": 1 }, - "1": { "EditorGUI": 3 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Message": 3 }, - "4": { "GUI": 2 }, - "5": { "ListBox": 5 }, - "6": { "Speech": 1 }, - "7": { "TemplateVerbcoin": 2 }, - "8": { "TextBox": 2 }, - "9": { "Tumbleweed": 1 } - }, - "bordercolor": { - "0": { "Globalfunctions_Message": 1 } - }, - "borderless": { - "0": { "DefaultSetup": 2 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Setup": 3 } - }, - "borders": { - "0": { "DefaultSetup": 1 }, - "1": { "FAQ": 1 }, - "2": { "Gamevariables": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "Multimedia": 1 }, - "5": { "Setup": 2 }, - "6": { "System": 2 } - }, - "borderwidth": { - "0": { "Globalfunctions_Message": 1 } - }, - "bored": { - "0": { "acintro8": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "boring": { - "0": { "acintro3": 1 } - }, - "both": { - "0": { "acintro2": 1 }, - "1": { "acintro9": 2 }, - "2": { "AudioChannel": 1 }, - "3": { "BuildAndroid": 2 }, - "4": { "Character": 3 }, - "5": { "Copyright": 2 }, - "6": { "Dictionary": 1 }, - "7": { "DistGame": 2 }, - "8": { "EditorDialog": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "FAQ": 1 }, - "12": { "Game": 2 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "Globalfunctions_Screen": 2 }, - "15": { "GUI": 1 }, - "16": { "Keycodes": 1 }, - "17": { "Lipsync": 1 }, - "18": { "Mouse": 1 }, - "19": { "Multimedia": 2 }, - "20": { "MusicAndSound": 1 }, - "21": { "Object": 1 }, - "22": { "Overlay": 2 }, - "23": { "Parser": 1 }, - "24": { "Pointers": 1 }, - "25": { "RuntimeEngine": 1 }, - "26": { "Screen": 3 }, - "27": { "ScriptingTutorialPart2": 3 }, - "28": { "ScriptKeywords": 2 }, - "29": { "ScriptModules": 1 }, - "30": { "Set": 1 }, - "31": { "Settingupthegame": 2 }, - "32": { "Setup": 1 }, - "33": { "Speech": 1 }, - "34": { "System": 1 }, - "35": { "TemplateBASS": 2 }, - "36": { "TextBox": 1 }, - "37": { "TextParser": 2 }, - "38": { "UpgradeTo35": 6 }, - "39": { "UpgradeTo36": 4 } - }, - "bothered": { - "0": { "acintro2": 1 } - }, - "bottom": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Character": 3 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "DialogOptionsRenderingInfo": 3 }, - "8": { "DrawingSurface": 2 }, - "9": { "DynamicSprite": 2 }, - "10": { "EditorGUI": 1 }, - "11": { "EditorRoom": 1 }, - "12": { "EditorSprite": 1 }, - "13": { "EnginePluginRun-timeAPI": 2 }, - "14": { "EventTypes": 2 }, - "15": { "GeneralSettings": 2 }, - "16": { "Globalfunctions_General": 2 }, - "17": { "Globalfunctions_Room": 1 }, - "18": { "GUIControl": 2 }, - "19": { "InvWindow": 1 }, - "20": { "Lipsync": 3 }, - "21": { "ListBox": 1 }, - "22": { "Mouse": 1 }, - "23": { "MultipleScripts": 1 }, - "24": { "Object": 1 }, - "25": { "Room": 2 }, - "26": { "ScriptingTutorialPart1": 1 }, - "27": { "Setup": 1 }, - "28": { "Translations": 1 } - }, - "bottom-center": { - "0": { "Character": 2 } - }, - "bottom-middle": { - "0": { "EditorRoom": 1 } - }, - "bottom-right": { - "0": { "acintro1": 1 }, - "1": { "Camera": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "Mouse": 1 } - }, - "bound": { - "0": { "Button": 1 }, - "1": { "GUI": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "boundaries": { - "0": { "Button": 1 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 } - }, - "bounding": { - "0": { "GeneralSettings": 1 }, - "1": { "Mouse": 2 } - }, - "bounds": { - "0": { "Camera": 3 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Mouse": 2 }, - "4": { "Viewport": 2 } - }, - "bowl": { - "0": { "InventoryItem": 2 } - }, - "box": { - "0": { "acintro1": 3 }, - "1": { "acintro3": 2 }, - "2": { "acintro6": 2 }, - "3": { "acintro8": 2 }, - "4": { "acintro9": 2 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "Character": 1 }, - "7": { "ColoursEditor": 1 }, - "8": { "CustomProperties": 3 }, - "9": { "Dialog": 2 }, - "10": { "DialogOptionsRenderingInfo": 3 }, - "11": { "DialogScript": 1 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorCursor": 1 }, - "14": { "EditorGUI": 9 }, - "15": { "EditorRoom": 1 }, - "16": { "EditorSprite": 1 }, - "17": { "EnginePluginRun-timeAPI": 1 }, - "18": { "Game": 3 }, - "19": { "Gamevariables": 5 }, - "20": { "GeneralSettings": 2 }, - "21": { "Globalfunctions_General": 4 }, - "22": { "Globalfunctions_Message": 9 }, - "23": { "GUIControl": 3 }, - "24": { "Hotspot": 1 }, - "25": { "InventoryItem": 1 }, - "26": { "Lipsync": 3 }, - "27": { "ListBox": 26 }, - "28": { "Mouse": 1 }, - "29": { "MusicAndSound": 1 }, - "30": { "Object": 1 }, - "31": { "Room": 2 }, - "32": { "RuntimeEngine": 1 }, - "33": { "ScriptingTutorialPart1": 1 }, - "34": { "ScriptKeywords": 1 }, - "35": { "Settingupthegame": 4 }, - "36": { "Templates": 4 }, - "37": { "TextBox": 9 }, - "38": { "TextParser": 2 }, - "39": { "Translations": 1 }, - "40": { "UpgradingTo27": 1 } - }, - "box's": { - "0": { "ListBox": 4 }, - "1": { "Parser": 1 }, - "2": { "TextBox": 2 }, - "3": { "TextParser": 1 } - }, - "box-out": { - "0": { "Globalfunctions_Screen": 1 } - }, - "boxes": { - "0": { "acintro8": 1 }, - "1": { "acintro9": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "Lipsync": 3 }, - "5": { "ListBox": 2 }, - "6": { "RuntimeEngine": 1 } - }, - "braces": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "bracket": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "Tumbleweed": 1 }, - "2": { "Tumbleweed_extensions": 2 } - }, - "brackets": { - "0": { "acintro3": 1 }, - "1": { "ScriptingTutorialPart1": 5 }, - "2": { "ScriptKeywords": 2 }, - "3": { "TextParser": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "branch": { - "0": { "MusicAndSound": 1 } - }, - "break": { - "0": { "acintro2": 1 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "DialogScript": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GameSavesCompatibility": 11 }, - "6": { "Globalfunctions_Wait": 4 }, - "7": { "ScriptKeywords": 17 }, - "8": { "SourceControl": 1 }, - "9": { "System": 1 }, - "10": { "Translations": 1 }, - "11": { "UpgradeTo34": 1 } - }, - "breaking": { - "0": { "FAQ": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "UpgradeTo30": 1 }, - "3": { "UpgradeTo341": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "breakpoint": { - "0": { "Debuggingfeatures": 2 } - }, - "breaks": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Object": 1 } - }, - "breeze": { - "0": { "Settingupthegame": 1 } - }, - "brick": { - "0": { "TextParser": 4 } - }, - "brief": { - "0": { "ScriptModules": 1 }, - "1": { "SystemLimits": 1 } - }, - "briefly": { - "0": { "acintro1": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 2 }, - "3": { "DialogScript": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "Mouse": 1 }, - "6": { "Templates": 1 } - }, - "bright": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_Palette": 1 } - }, - "brightening": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Object": 1 }, - "3": { "Region": 1 } - }, - "brighter": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "brightness": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Object": 1 }, - "4": { "System": 2 } - }, - "bring": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "Parser": 1 }, - "7": { "UpgradingTo27": 1 } - }, - "brings": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "broken": { - "0": { "UpgradeTo361": 1 } - }, - "browse": { - "0": { "EditorView": 1 } - }, - "browser": { - "0": { "DistGame": 1 } - }, - "browsers": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "btn": { - "0": { "Tumbleweed_actions": 1 } - }, - "btnBigButton": { - "0": { "GUIControl": 4 } - }, - "btnConfirm": { - "0": { "GUIControl": 10 } - }, - "btnController": { - "0": { "Button": 2 } - }, - "btnDeathAnim": { - "0": { "Button": 4 } - }, - "btnInteract": { - "0": { "TemplateVerbcoin": 1 } - }, - "btnInvDown": { - "0": { "InvWindow": 2 } - }, - "btnInvUp": { - "0": { "InvWindow": 2 } - }, - "btnLook": { - "0": { "TemplateVerbcoin": 1 } - }, - "btnOK": { - "0": { "Button": 4 }, - "1": { "UpgradingTo271": 1 } - }, - "btnOptions": { - "0": { "GUIControl": 1 } - }, - "btnPickup": { - "0": { "TemplateVerbcoin": 1 } - }, - "btnPlay": { - "0": { "Button": 4 } - }, - "btnPlay's": { - "0": { "Button": 4 } - }, - "btnRestart": { - "0": { "Button": 2 } - }, - "btnSave": { - "0": { "MultipleScripts": 1 } - }, - "btnSaveGame": { - "0": { "GUIControl": 6 } - }, - "btnScrnshot": { - "0": { "DynamicSprite": 4 } - }, - "btnScrollUp": { - "0": { "InvWindow": 3 } - }, - "btnSelectedInv": { - "0": { "Button": 2 } - }, - "btnTalk": { - "0": { "TemplateVerbcoin": 1 } - }, - "bubble": { - "0": { "Character": 6 }, - "1": { "Gamevariables": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 } - }, - "buf": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "buffer": { - "0": { "EditorLogPanel": 1 }, - "1": { "EnginePluginDesign-timeAPI": 8 }, - "2": { "EnginePluginRun-timeAPI": 28 }, - "3": { "File": 4 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "UpgradingTo271": 1 } - }, - "buffer's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "buffered": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "buffers": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "bufsize": { - "0": { "EnginePluginDesign-timeAPI": 7 }, - "1": { "EnginePluginRun-timeAPI": 4 } - }, - "bug": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Credits": 1 }, - "3": { "ScriptKeywords": 2 } - }, - "buggy": { - "0": { "Globalfunctions_Screen": 1 } - }, - "bugs": { - "0": { "AudioInScript": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "System": 1 } - }, - "build": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 7 }, - "2": { "DrawingSurface": 1 }, - "3": { "EditorCommandLineOptions": 1 }, - "4": { "EditorPreferences": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "FAQ": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "InventoryItem": 1 }, - "11": { "Lipsync": 2 }, - "12": { "MusicAndSound": 2 }, - "13": { "TemplateVerbcoin": 1 }, - "14": { "Translations": 1 }, - "15": { "UpgradeTo30": 1 }, - "16": { "UpgradeTo36": 1 } - }, - "building": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorPreferences": 2 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Preprocessor": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "builds": { - "0": { "TroubleshootingWindowsZoneID": 1 }, - "1": { "UpgradeTo36": 2 } - }, - "built": { - "0": { "DistGame": 2 }, - "1": { "EnginePlugins": 1 }, - "2": { "MIDI-playback": 1 }, - "3": { "Plugins": 1 }, - "4": { "Tumbleweed_door": 1 }, - "5": { "UpgradeTo30": 1 } - }, - "built-in": { - "0": { "acintro5": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DynamicArrays": 1 }, - "4": { "EngineConfigFile": 2 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 5 }, - "7": { "ExtenderFunctions": 2 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 6 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "ListBox": 2 }, - "13": { "Pointers": 5 }, - "14": { "ScriptingTutorialPart1": 2 }, - "15": { "ScriptingTutorialPart2": 3 }, - "16": { "Settingupthegame": 1 }, - "17": { "TemplateVerbcoin": 1 }, - "18": { "UpgradeTo34": 5 }, - "19": { "UpgradingTo271": 1 } - }, - "bulk": { - "0": { "GraphicsDriver": 1 } - }, - "bullet": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 3 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Object": 1 } - }, - "bunch": { - "0": { "FAQ": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "bundle": { - "0": { "MIDI-playback": 1 } - }, - "bundled": { - "0": { "AudioClip": 1 } - }, - "burdensome": { - "0": { "GraphicsDriver": 1 } - }, - "busy": { - "0": { "AudioClip": 2 }, - "1": { "BlockingScripts": 2 } - }, - "button": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 7 }, - "3": { "acintro4": 6 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 4 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 1 }, - "9": { "AdvancedRoomFeatures": 2 }, - "10": { "BuildAndroid": 1 }, - "11": { "Button": 37 }, - "12": { "CustomDialogOptions": 3 }, - "13": { "CustomProperties": 4 }, - "14": { "Debuggingfeatures": 2 }, - "15": { "DialogOptionsRenderingInfo": 1 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorFont": 1 }, - "18": { "EditorGUI": 16 }, - "19": { "EditorLogPanel": 1 }, - "20": { "EditorRoom": 6 }, - "21": { "EditorSprite": 5 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 6 }, - "24": { "EventTypes": 4 }, - "25": { "FAQ": 10 }, - "26": { "Game": 2 }, - "27": { "Globalfunctions_Event": 8 }, - "28": { "Globalfunctions_General": 5 }, - "29": { "Globalfunctions_Wait": 8 }, - "30": { "GUI": 3 }, - "31": { "GUIControl": 13 }, - "32": { "InventoryItem": 1 }, - "33": { "InvWindow": 5 }, - "34": { "Lipsync": 2 }, - "35": { "Mouse": 5 }, - "36": { "MultipleScripts": 1 }, - "37": { "MusicAndSound": 1 }, - "38": { "Preprocessor": 1 }, - "39": { "RepExec": 1 }, - "40": { "Room": 2 }, - "41": { "Settingupthegame": 14 }, - "42": { "Setup": 1 }, - "43": { "Speech": 1 }, - "44": { "TemplateBASS": 1 }, - "45": { "TemplateVerbcoin": 3 }, - "46": { "TroubleshootingWindowsZoneID": 2 }, - "47": { "Tumbleweed": 3 }, - "48": { "Tumbleweed_actions": 2 }, - "49": { "Tumbleweed_extensions": 2 }, - "50": { "Tumbleweed_helper": 1 }, - "51": { "Tumbleweed_movement": 1 }, - "52": { "Tumbleweed_translation": 4 } - }, - "button's": { - "0": { "Button": 18 }, - "1": { "FAQ": 1 }, - "2": { "GeneralSettings": 1 } - }, - "buttonSprite": { - "0": { "DynamicSprite": 8 } - }, - "buttonValue": { - "0": { "UpgradingTo271": 1 } - }, - "buttons": { - "0": { "acintro2": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "EditorGUI": 4 }, - "4": { "EditorLogPanel": 1 }, - "5": { "FAQ": 2 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GUIControl": 1 }, - "9": { "InvWindow": 1 }, - "10": { "Mouse": 2 }, - "11": { "TemplateVerbcoin": 3 }, - "12": { "Tumbleweed_actions": 3 }, - "13": { "Tumbleweed_helper": 1 }, - "14": { "Tumbleweed_translation": 6 }, - "15": { "UpgradingTo27": 1 } - }, - "bypassed": { - "0": { "Tumbleweed_actions": 1 } - }, - "bypassing": { - "0": { "Game": 1 } - }, - "byte": { - "0": { "EnginePluginDesign-timeAPI": 3 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "File": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "UnicodeSupport": 2 } - }, - "byte-by-byte": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "bytes": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 19 }, - "2": { "File": 7 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "Translations": 1 } - }, - "cBird": { - "0": { "RepExec": 6 } - }, - "cBman": { - "0": { "Tumbleweed": 2 } - }, - "cChar": { - "0": { "EditorInventoryItems": 2 }, - "1": { "EventTypes": 8 }, - "2": { "GlobalArrays": 3 }, - "3": { "Tumbleweed_unhandled": 1 } - }, - "cEgo": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 2 }, - "2": { "Character": 98 }, - "3": { "Dialog": 1 }, - "4": { "ExtenderFunctions": 4 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_General": 6 }, - "7": { "Globalfunctions_Screen": 1 }, - "8": { "Globalfunctions_Wait": 2 }, - "9": { "ScriptingTutorialPart1": 5 }, - "10": { "ScriptingTutorialPart2": 3 }, - "11": { "ScriptKeywords": 16 }, - "12": { "TextWindowGUI": 1 }, - "13": { "Tumbleweed_player": 2 }, - "14": { "UpgradingTo27": 2 }, - "15": { "VoiceSpeech": 1 } - }, - "cHotspot": { - "0": { "EventTypes": 8 } - }, - "cJack": { - "0": { "InvWindow": 1 } - }, - "cJoe": { - "0": { "FAQ": 1 } - }, - "cJohn": { - "0": { "ScriptKeywords": 4 } - }, - "cMan": { - "0": { "Character": 15 } - }, - "cMary": { - "0": { "DynamicArrays": 1 }, - "1": { "ScriptKeywords": 4 } - }, - "cMerchant": { - "0": { "acintro8": 3 } - }, - "cMichael": { - "0": { "VoiceSpeech": 1 } - }, - "cMyFriend": { - "0": { "Pointers": 3 } - }, - "cNPC": { - "0": { "Character": 1 }, - "1": { "Dialog": 1 } - }, - "cObject": { - "0": { "EventTypes": 8 } - }, - "cPirate": { - "0": { "Camera": 5 } - }, - "cPlayerChar": { - "0": { "Pointers": 2 } - }, - "cRoger": { - "0": { "DynamicArrays": 1 }, - "1": { "GeneralSettings": 1 } - }, - "cSomeguy": { - "0": { "Character": 3 } - }, - "cThomas": { - "0": { "DynamicArrays": 1 } - }, - "cVillager": { - "0": { "DynamicArrays": 1 } - }, - "cache": { - "0": { "DefaultSetup": 9 }, - "1": { "EngineConfigFile": 8 }, - "2": { "EnginePluginRun-timeAPI": 6 }, - "3": { "Game": 7 }, - "4": { "RuntimeEngine": 2 }, - "5": { "Setup": 9 } - }, - "cached": { - "0": { "DrawingSurface": 1 } - }, - "caches": { - "0": { "EngineConfigFile": 1 }, - "1": { "Game": 4 } - }, - "caching": { - "0": { "DefaultSetup": 1 } - }, - "calculate": { - "0": { "acintro4": 1 }, - "1": { "DateTime": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_General": 3 } - }, - "calculated": { - "0": { "Character": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Message": 2 }, - "3": { "InvWindow": 2 }, - "4": { "Object": 2 }, - "5": { "Speech": 2 } - }, - "calculates": { - "0": { "Maths": 15 } - }, - "calculating": { - "0": { "UpgradeTo36": 1 } - }, - "calculation": { - "0": { "Game": 1 } - }, - "calculations": { - "0": { "Character": 1 } - }, - "call": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro8": 2 }, - "4": { "BlockingScripts": 1 }, - "5": { "Character": 15 }, - "6": { "Dialog": 1 }, - "7": { "DialogOptionsRenderingInfo": 3 }, - "8": { "DialogScript": 1 }, - "9": { "Dictionary": 4 }, - "10": { "DrawingSurface": 2 }, - "11": { "DynamicSprite": 5 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorPlugins": 2 }, - "14": { "EnginePluginRun-timeAPI": 37 }, - "15": { "ExtenderFunctions": 4 }, - "16": { "FAQ": 4 }, - "17": { "File": 1 }, - "18": { "Gamevariables": 1 }, - "19": { "GeneralSettings": 1 }, - "20": { "Globalfunctions_Event": 5 }, - "21": { "Globalfunctions_General": 20 }, - "22": { "Globalfunctions_Message": 1 }, - "23": { "Globalfunctions_Palette": 1 }, - "24": { "Globalfunctions_Room": 4 }, - "25": { "Globalfunctions_Screen": 2 }, - "26": { "GUI": 1 }, - "27": { "Hotspot": 1 }, - "28": { "Mouse": 1 }, - "29": { "Multimedia": 1 }, - "30": { "MultipleScripts": 1 }, - "31": { "MusicAndSound": 1 }, - "32": { "Object": 2 }, - "33": { "OOProgramming": 1 }, - "34": { "Parser": 3 }, - "35": { "Pointers": 2 }, - "36": { "Region": 1 }, - "37": { "Room": 1 }, - "38": { "ScriptingTutorialPart1": 1 }, - "39": { "ScriptingTutorialPart2": 4 }, - "40": { "ScriptKeywords": 4 }, - "41": { "String": 2 }, - "42": { "SystemLimits": 2 }, - "43": { "TextParser": 1 }, - "44": { "Tumbleweed": 1 }, - "45": { "UpgradeTo30": 1 }, - "46": { "UpgradeTo361": 3 }, - "47": { "UpgradingTo27": 5 }, - "48": { "UpgradingTo271": 1 } - }, - "callback": { - "0": { "EnginePluginRun-timeAPI": 9 }, - "1": { "EventTypes": 1 }, - "2": { "Globalfunctions_Event": 2 }, - "3": { "UpgradeTo34": 1 }, - "4": { "UpgradeTo36": 3 } - }, - "callbacks": { - "0": { "GameEventsOrder": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "ScriptAPIOverview": 1 }, - "3": { "UpgradeTo34": 1 }, - "4": { "UpgradeTo36": 1 }, - "5": { "UpgradeTo361": 4 } - }, - "called": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 3 }, - "2": { "acintro4": 1 }, - "3": { "acintro8": 1 }, - "4": { "AudioInScript": 1 }, - "5": { "AutonumberSpeechFiles": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "Button": 1 }, - "8": { "Character": 11 }, - "9": { "Constants": 1 }, - "10": { "CustomDialogOptions": 9 }, - "11": { "DateTime": 1 }, - "12": { "Dialog": 1 }, - "13": { "DialogScript": 2 }, - "14": { "DistGame": 3 }, - "15": { "DynamicSprite": 3 }, - "16": { "EditorGUI": 4 }, - "17": { "EditorPlugins": 2 }, - "18": { "EditorRoom": 1 }, - "19": { "EditorSprite": 4 }, - "20": { "EditorView": 2 }, - "21": { "EngineConfigFile": 1 }, - "22": { "EnginePluginDesign-timeAPI": 6 }, - "23": { "EnginePluginRun-timeAPI": 19 }, - "24": { "EventTypes": 1 }, - "25": { "ExtenderFunctions": 5 }, - "26": { "FAQ": 1 }, - "27": { "File": 1 }, - "28": { "Game": 13 }, - "29": { "GameEventsOrder": 2 }, - "30": { "GeneralSettings": 5 }, - "31": { "Globalfunctions_Event": 20 }, - "32": { "Globalfunctions_General": 8 }, - "33": { "GlobalVariables": 1 }, - "34": { "GUI": 3 }, - "35": { "ImportingFunctionsAndVariables": 1 }, - "36": { "InventoryItem": 1 }, - "37": { "Label": 1 }, - "38": { "Lipsync": 2 }, - "39": { "Mouse": 1 }, - "40": { "Multimedia": 1 }, - "41": { "MultipleScripts": 3 }, - "42": { "MusicAndSound": 6 }, - "43": { "Object": 3 }, - "44": { "Pointers": 2 }, - "45": { "RepExec": 2 }, - "46": { "RuntimeEngine": 2 }, - "47": { "ScriptingTutorialPart1": 6 }, - "48": { "ScriptKeywords": 5 }, - "49": { "Settingupthegame": 3 }, - "50": { "SourceControl": 1 }, - "51": { "TemplateBASS": 1 }, - "52": { "TextParser": 1 }, - "53": { "Translations": 2 }, - "54": { "TroubleshootingWindowsZoneID": 1 }, - "55": { "Tumbleweed": 6 }, - "56": { "Tumbleweed_actions": 1 }, - "57": { "Tumbleweed_door": 2 }, - "58": { "Tumbleweed_extensions": 2 }, - "59": { "Tumbleweed_movement": 3 }, - "60": { "Tumbleweed_translation": 2 }, - "61": { "UnicodeSupport": 1 }, - "62": { "UpgradeTo30": 1 }, - "63": { "UpgradeTo31": 1 }, - "64": { "UpgradeTo32": 2 }, - "65": { "UpgradeTo34": 7 }, - "66": { "UpgradeTo341": 1 }, - "67": { "UpgradeTo35": 3 }, - "68": { "UpgradeTo36": 8 }, - "69": { "UpgradeTo361": 1 }, - "70": { "UpgradingTo27": 3 }, - "71": { "UpgradingTo271": 1 }, - "72": { "Viewport": 1 } - }, - "caller": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "ScriptKeywords": 1 } - }, - "calling": { - "0": { "AudioInScript": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 4 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "DrawingSurface": 2 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorCommandLineOptions": 1 }, - "7": { "EditorLogPanel": 1 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginDesign-timeAPI": 2 }, - "10": { "EnginePluginRun-timeAPI": 10 }, - "11": { "EventTypes": 1 }, - "12": { "Globalfunctions_General": 3 }, - "13": { "Globalfunctions_Message": 1 }, - "14": { "Globalfunctions_Room": 3 }, - "15": { "Globalfunctions_Screen": 1 }, - "16": { "GUIControl": 3 }, - "17": { "Hotspot": 1 }, - "18": { "Multimedia": 1 }, - "19": { "Object": 3 }, - "20": { "Region": 2 }, - "21": { "Room": 1 }, - "22": { "ScriptKeywords": 2 }, - "23": { "Speech": 1 }, - "24": { "TextWindowGUI": 1 }, - "25": { "Translations": 1 }, - "26": { "Tumbleweed_translation": 1 }, - "27": { "UpgradeTo30": 1 } - }, - "calls": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 9 }, - "6": { "File": 1 }, - "7": { "Game": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_General": 3 }, - "10": { "Globalfunctions_Screen": 1 }, - "11": { "Keycodes": 1 }, - "12": { "Preprocessor": 1 }, - "13": { "Settingupthegame": 3 }, - "14": { "StandardEnums": 1 }, - "15": { "SystemLimits": 1 }, - "16": { "UpgradeTo36": 1 }, - "17": { "UpgradingTo27": 1 } - }, - "calm": { - "0": { "MusicAndSound": 1 } - }, - "came": { - "0": { "MusicAndSound": 1 }, - "1": { "UpgradeTo32": 2 } - }, - "camera": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Camera": 44 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 4 }, - "4": { "Globalfunctions_Room": 3 }, - "5": { "Screen": 5 }, - "6": { "ScriptAPIOverview": 1 }, - "7": { "UpgradeTo35": 10 }, - "8": { "Viewport": 16 } - }, - "camera's": { - "0": { "Camera": 10 }, - "1": { "Globalfunctions_Room": 2 }, - "2": { "Screen": 2 }, - "3": { "UpgradeTo35": 3 }, - "4": { "Viewport": 3 } - }, - "cameras": { - "0": { "Camera": 10 }, - "1": { "Game": 3 }, - "2": { "Viewport": 1 } - }, - "can": { - "0": { "acintro1": 11 }, - "1": { "acintro2": 8 }, - "2": { "acintro3": 12 }, - "3": { "acintro4": 9 }, - "4": { "acintro5": 8 }, - "5": { "acintro6": 6 }, - "6": { "acintro7": 18 }, - "7": { "acintro8": 11 }, - "8": { "acintro9": 11 }, - "9": { "AdvancedRoomFeatures": 17 }, - "10": { "AnonymousUsageInfo": 3 }, - "11": { "AudioChannel": 3 }, - "12": { "AudioClip": 3 }, - "13": { "AudioInScript": 7 }, - "14": { "AutonumberSpeechFiles": 1 }, - "15": { "BlockingScripts": 2 }, - "16": { "BuildAndroid": 2 }, - "17": { "Button": 8 }, - "18": { "Camera": 10 }, - "19": { "Character": 55 }, - "20": { "ColoursEditor": 7 }, - "21": { "Constants": 4 }, - "22": { "ContactingTheDevelopers": 3 }, - "23": { "Copyright": 4 }, - "24": { "CustomDialogOptions": 4 }, - "25": { "CustomProperties": 6 }, - "26": { "DateTime": 2 }, - "27": { "Debuggingfeatures": 7 }, - "28": { "DefaultSetup": 1 }, - "29": { "Dialog": 10 }, - "30": { "DialogOptionsRenderingInfo": 19 }, - "31": { "DialogScript": 4 }, - "32": { "DistGame": 14 }, - "33": { "DrawingSurface": 19 }, - "34": { "DynamicArrays": 4 }, - "35": { "DynamicSprite": 13 }, - "36": { "EditorCharacter": 2 }, - "37": { "EditorCommandLineOptions": 7 }, - "38": { "EditorCursor": 2 }, - "39": { "EditorDialog": 2 }, - "40": { "EditorFont": 4 }, - "41": { "EditorGUI": 20 }, - "42": { "EditorInventoryItems": 7 }, - "43": { "EditorLogPanel": 6 }, - "44": { "EditorPlugins": 6 }, - "45": { "EditorPreferences": 1 }, - "46": { "EditorRoom": 19 }, - "47": { "EditorSprite": 7 }, - "48": { "EditorView": 10 }, - "49": { "EngineConfigFile": 2 }, - "50": { "EnginePluginDesign-timeAPI": 6 }, - "51": { "EnginePluginRun-timeAPI": 47 }, - "52": { "EnginePlugins": 2 }, - "53": { "EventTypes": 6 }, - "54": { "FAQ": 3 }, - "55": { "File": 13 }, - "56": { "Game": 13 }, - "57": { "GameSavesCompatibility": 10 }, - "58": { "Gamevariables": 4 }, - "59": { "GeneralSettings": 17 }, - "60": { "Globalfunctions_Event": 6 }, - "61": { "Globalfunctions_General": 23 }, - "62": { "Globalfunctions_Message": 9 }, - "63": { "Globalfunctions_Palette": 3 }, - "64": { "Globalfunctions_Room": 10 }, - "65": { "Globalfunctions_Screen": 5 }, - "66": { "Globalfunctions_Wait": 1 }, - "67": { "GlobalVariables": 4 }, - "68": { "GraphicsDriver": 1 }, - "69": { "GUI": 6 }, - "70": { "GUIControl": 2 }, - "71": { "Hotspot": 2 }, - "72": { "ImportingFunctionsAndVariables": 4 }, - "73": { "Introduction": 3 }, - "74": { "InventoryItem": 2 }, - "75": { "InvWindow": 10 }, - "76": { "Keycodes": 1 }, - "77": { "Label": 1 }, - "78": { "Lipsync": 7 }, - "79": { "ListBox": 9 }, - "80": { "Maths": 1 }, - "81": { "MIDI-playback": 3 }, - "82": { "Mouse": 4 }, - "83": { "Multimedia": 8 }, - "84": { "MultipleScripts": 8 }, - "85": { "MusicAndSound": 11 }, - "86": { "Object": 17 }, - "87": { "OOProgramming": 4 }, - "88": { "Overlay": 3 }, - "89": { "Parser": 2 }, - "90": { "Plugins": 1 }, - "91": { "Pointers": 6 }, - "92": { "Preprocessor": 2 }, - "93": { "Region": 2 }, - "94": { "RepExec": 2 }, - "95": { "Room": 5 }, - "96": { "RuntimeEngine": 2 }, - "97": { "ScriptAPIOverview": 7 }, - "98": { "ScriptingTutorialPart1": 29 }, - "99": { "ScriptingTutorialPart2": 10 }, - "100": { "ScriptKeywords": 21 }, - "101": { "ScriptModules": 7 }, - "102": { "Settingupthegame": 45 }, - "103": { "Setup": 4 }, - "104": { "Slider": 3 }, - "105": { "SourceControl": 4 }, - "106": { "Speech": 9 }, - "107": { "StandardTypes": 1 }, - "108": { "String": 10 }, - "109": { "StringFormats": 2 }, - "110": { "System": 8 }, - "111": { "SystemLimits": 3 }, - "112": { "Templates": 3 }, - "113": { "TemplateSierraStyle": 1 }, - "114": { "TemplateVerbcoin": 1 }, - "115": { "TextParser": 7 }, - "116": { "Translations": 8 }, - "117": { "TroubleshootingWindowsZoneID": 2 }, - "118": { "Tumbleweed": 9 }, - "119": { "Tumbleweed_door": 4 }, - "120": { "Tumbleweed_extensions": 5 }, - "121": { "Tumbleweed_movement": 2 }, - "122": { "Tumbleweed_player": 1 }, - "123": { "Tumbleweed_translation": 6 }, - "124": { "Tumbleweed_unhandled": 1 }, - "125": { "UnicodeSupport": 2 }, - "126": { "UpgradeTo30": 4 }, - "127": { "UpgradeTo31": 1 }, - "128": { "UpgradeTo32": 4 }, - "129": { "UpgradeTo34": 10 }, - "130": { "UpgradeTo341": 2 }, - "131": { "UpgradeTo35": 5 }, - "132": { "UpgradeTo36": 8 }, - "133": { "UpgradeTo361": 1 }, - "134": { "UpgradingTo27": 7 }, - "135": { "UpgradingTo271": 5 }, - "136": { "VoiceSpeech": 4 } - }, - "can't": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 1 }, - "4": { "ContactingTheDevelopers": 2 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "DistGame": 2 }, - "7": { "FAQ": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Room": 1 }, - "12": { "Multimedia": 2 }, - "13": { "MusicAndSound": 1 }, - "14": { "Parser": 1 }, - "15": { "Pointers": 1 }, - "16": { "TextParser": 1 }, - "17": { "Tumbleweed_door": 1 }, - "18": { "Tumbleweed_unhandled": 1 }, - "19": { "UpgradeTo31": 1 }, - "20": { "UpgradingTo27": 1 } - }, - "cancel": { - "0": { "Tumbleweed_movement": 2 } - }, - "canceled": { - "0": { "Game": 1 }, - "1": { "Tumbleweed_movement": 11 } - }, - "cannot": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 2 }, - "2": { "acintro9": 1 }, - "3": { "AudioClip": 2 }, - "4": { "AudioInScript": 2 }, - "5": { "Character": 3 }, - "6": { "CustomProperties": 1 }, - "7": { "DefaultSetup": 2 }, - "8": { "Dictionary": 1 }, - "9": { "DistGame": 2 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicArrays": 3 }, - "12": { "EditorCursor": 1 }, - "13": { "EditorFont": 2 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EditorSprite": 3 }, - "17": { "EnginePluginRun-timeAPI": 4 }, - "18": { "File": 1 }, - "19": { "Game": 2 }, - "20": { "GameSavesCompatibility": 2 }, - "21": { "GlobalArrays": 1 }, - "22": { "Globalfunctions_Event": 2 }, - "23": { "Globalfunctions_General": 5 }, - "24": { "Globalfunctions_Room": 1 }, - "25": { "GlobalVariables": 1 }, - "26": { "GUI": 2 }, - "27": { "GUIControl": 1 }, - "28": { "Lipsync": 1 }, - "29": { "MusicAndSound": 1 }, - "30": { "Object": 5 }, - "31": { "OOProgramming": 1 }, - "32": { "Overlay": 2 }, - "33": { "Pointers": 2 }, - "34": { "Preprocessor": 1 }, - "35": { "Region": 1 }, - "36": { "RepExec": 2 }, - "37": { "Room": 4 }, - "38": { "Screen": 1 }, - "39": { "ScriptKeywords": 6 }, - "40": { "Set": 1 }, - "41": { "Settingupthegame": 2 }, - "42": { "Setup": 1 }, - "43": { "Speech": 2 }, - "44": { "System": 1 }, - "45": { "TroubleshootingWindowsZoneID": 1 }, - "46": { "Tumbleweed_door": 1 }, - "47": { "UpgradeTo34": 1 }, - "48": { "UpgradeTo35": 1 }, - "49": { "UpgradeTo36": 2 }, - "50": { "UpgradingTo271": 1 } - }, - "canvas": { - "0": { "DynamicSprite": 1 }, - "1": { "Multimedia": 1 } - }, - "capabilities": { - "0": { "GlobalVariables": 1 }, - "1": { "ScriptingLanguage": 1 }, - "2": { "Setup": 1 } - }, - "capable": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "capital": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "capitalized": { - "0": { "Translations": 1 } - }, - "capped": { - "0": { "Globalfunctions_General": 1 } - }, - "capslock": { - "0": { "UpgradeTo36": 1 } - }, - "caption": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Message": 4 } - }, - "captions": { - "0": { "Speech": 1 } - }, - "capture": { - "0": { "Camera": 4 }, - "1": { "Globalfunctions_General": 1 } - }, - "captured": { - "0": { "Camera": 1 }, - "1": { "Viewport": 1 } - }, - "captures": { - "0": { "Camera": 1 } - }, - "card": { - "0": { "DefaultSetup": 1 }, - "1": { "FAQ": 1 }, - "2": { "GraphicsDriver": 4 }, - "3": { "Setup": 1 }, - "4": { "Speech": 1 } - }, - "cards": { - "0": { "acintro1": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "care": { - "0": { "GameEventsOrder": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "Tumbleweed_helper": 1 } - }, - "careful": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "StringFormats": 1 }, - "5": { "UpgradeTo30": 1 } - }, - "carriage": { - "0": { "File": 1 } - }, - "carried": { - "0": { "Character": 1 } - }, - "carries": { - "0": { "Globalfunctions_Room": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "Settingupthegame": 1 } - }, - "carry": { - "0": { "acintro5": 3 }, - "1": { "acintro7": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "Settingupthegame": 2 } - }, - "carrying": { - "0": { "acintro5": 1 }, - "1": { "Game": 1 } - }, - "case": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 2 }, - "4": { "AudioChannel": 2 }, - "5": { "BlockingScripts": 1 }, - "6": { "Button": 7 }, - "7": { "Camera": 1 }, - "8": { "Character": 28 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "DefaultSetup": 1 }, - "11": { "Dictionary": 3 }, - "12": { "DynamicArrays": 1 }, - "13": { "DynamicSprite": 3 }, - "14": { "EditorRoom": 1 }, - "15": { "EditorSprite": 2 }, - "16": { "EnginePluginRun-timeAPI": 17 }, - "17": { "EventTypes": 2 }, - "18": { "FAQ": 3 }, - "19": { "Game": 3 }, - "20": { "GameSavesCompatibility": 4 }, - "21": { "Gamevariables": 1 }, - "22": { "GeneralSettings": 2 }, - "23": { "GlobalArrays": 1 }, - "24": { "Globalfunctions_Event": 1 }, - "25": { "Globalfunctions_General": 4 }, - "26": { "Globalfunctions_Room": 1 }, - "27": { "Globalfunctions_Wait": 1 }, - "28": { "GraphicsDriver": 1 }, - "29": { "GUI": 3 }, - "30": { "InvWindow": 1 }, - "31": { "MIDI-playback": 1 }, - "32": { "Object": 6 }, - "33": { "Overlay": 2 }, - "34": { "Preprocessor": 1 }, - "35": { "RepExec": 1 }, - "36": { "Screen": 1 }, - "37": { "ScriptingTutorialPart1": 5 }, - "38": { "ScriptingTutorialPart2": 1 }, - "39": { "ScriptKeywords": 16 }, - "40": { "Set": 3 }, - "41": { "Settingupthegame": 1 }, - "42": { "Setup": 1 }, - "43": { "Speech": 2 }, - "44": { "String": 10 }, - "45": { "System": 2 }, - "46": { "Templates": 1 }, - "47": { "Translations": 1 }, - "48": { "TroubleshootingWindowsZoneID": 1 }, - "49": { "Tumbleweed": 1 }, - "50": { "Tumbleweed_actions": 1 }, - "51": { "Tumbleweed_extensions": 1 }, - "52": { "Tumbleweed_translation": 1 }, - "53": { "UnicodeSupport": 2 }, - "54": { "UpgradeTo30": 1 }, - "55": { "UpgradeTo35": 2 }, - "56": { "UpgradeTo361": 1 }, - "57": { "UpgradingTo27": 1 }, - "58": { "UpgradingTo271": 1 }, - "59": { "Viewport": 3 }, - "60": { "VoiceSpeech": 1 } - }, - "case-insensitive": { - "0": { "Dictionary": 2 }, - "1": { "Set": 2 } - }, - "case-sensitive": { - "0": { "Dictionary": 2 }, - "1": { "Set": 1 }, - "2": { "String": 2 } - }, - "caseSensitive": { - "0": { "String": 8 } - }, - "cases": { - "0": { "acintro4": 1 }, - "1": { "Character": 2 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "EditorPreferences": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 2 }, - "6": { "Maths": 1 }, - "7": { "MIDI-playback": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "Translations": 2 }, - "10": { "UpgradeTo34": 3 }, - "11": { "UpgradeTo35": 1 } - }, - "cast": { - "0": { "EnginePluginRun-timeAPI": 5 }, - "1": { "GUI": 1 }, - "2": { "Pointers": 1 } - }, - "categorical": { - "0": { "EditorRoom": 1 } - }, - "category": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorRoom": 1 }, - "2": { "EditorSprite": 2 }, - "3": { "File": 1 }, - "4": { "ScriptAPIOverview": 1 } - }, - "catnap": { - "0": { "Lipsync": 1 } - }, - "cause": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 2 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "EditorCursor": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "Game": 1 }, - "8": { "GameSavesCompatibility": 2 }, - "9": { "Globalfunctions_Palette": 2 }, - "10": { "GUI": 1 }, - "11": { "Lipsync": 1 }, - "12": { "ScriptAPIOverview": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "TheScriptHeader": 1 }, - "15": { "Translations": 1 }, - "16": { "TroubleshootingWindowsZoneID": 1 }, - "17": { "Tumbleweed_extensions": 1 }, - "18": { "Tumbleweed_unhandled": 1 }, - "19": { "UpgradingTo271": 1 }, - "20": { "VoiceSpeech": 1 } - }, - "caused": { - "0": { "TroubleshootingWindowsZoneID": 1 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "causes": { - "0": { "acintro2": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "GUI": 1 }, - "6": { "ListBox": 1 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "Tumbleweed_extensions": 1 } - }, - "causing": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "UpgradeTo35": 3 } - }, - "cave": { - "0": { "Tumbleweed": 1 } - }, - "caveats": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "cd": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "cells": { - "0": { "acintro6": 1 }, - "1": { "InvWindow": 2 } - }, - "center": { - "0": { "acintro5": 1 }, - "1": { "Camera": 1 }, - "2": { "Character": 1 }, - "3": { "DrawingSurface": 5 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GUI": 2 }, - "9": { "Mouse": 1 }, - "10": { "Multimedia": 1 }, - "11": { "Object": 1 }, - "12": { "Screen": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Viewport": 2 } - }, - "centered": { - "0": { "AudioChannel": 1 }, - "1": { "Button": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "DynamicSprite": 2 }, - "5": { "Gamevariables": 2 }, - "6": { "Globalfunctions_Message": 1 }, - "7": { "Screen": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "Viewport": 1 } - }, - "central": { - "0": { "acintro6": 1 }, - "1": { "Character": 1 } - }, - "certain": { - "0": { "acintro3": 1 }, - "1": { "AudioChannel": 2 }, - "2": { "AudioInScript": 1 }, - "3": { "Constants": 1 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "Dialog": 2 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorPlugins": 1 }, - "10": { "EngineConfigFile": 2 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "EventTypes": 1 }, - "14": { "FAQ": 2 }, - "15": { "Game": 3 }, - "16": { "GameEventsOrder": 2 }, - "17": { "GeneralSettings": 1 }, - "18": { "GlobalArrays": 2 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "Globalfunctions_Wait": 1 }, - "21": { "GUIControl": 1 }, - "22": { "RuntimeEngine": 1 }, - "23": { "Setup": 2 }, - "24": { "System": 1 }, - "25": { "Translations": 2 }, - "26": { "Tumbleweed_extensions": 1 }, - "27": { "Tumbleweed_movement": 1 }, - "28": { "UpgradeTo35": 1 }, - "29": { "UpgradeTo36": 1 } - }, - "certainly": { - "0": { "GraphicsDriver": 1 }, - "1": { "Pointers": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "cfg": { - "0": { "DefaultSetup": 3 }, - "1": { "DistGame": 1 }, - "2": { "EngineConfigFile": 5 }, - "3": { "MIDI-playback": 4 }, - "4": { "UpgradeTo341": 1 } - }, - "ch": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Globalfunctions_Event": 3 }, - "2": { "Lipsync": 1 }, - "3": { "Tumbleweed_movement": 1 }, - "4": { "Tumbleweed_player": 1 }, - "5": { "UpgradeTo36": 3 } - }, - "chUnderMouse": { - "0": { "Pointers": 6 } - }, - "chain": { - "0": { "Globalfunctions_General": 1 } - }, - "chainsaw": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "chan": { - "0": { "AudioInScript": 4 }, - "1": { "MusicAndSound": 2 } - }, - "chance": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Plugins": 1 } - }, - "chances": { - "0": { "SystemLimits": 1 } - }, - "change": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 2 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "AudioChannel": 2 }, - "10": { "AudioInScript": 1 }, - "11": { "Button": 8 }, - "12": { "Camera": 3 }, - "13": { "Character": 50 }, - "14": { "ColoursEditor": 1 }, - "15": { "CustomProperties": 1 }, - "16": { "Debuggingfeatures": 1 }, - "17": { "DefaultSetup": 2 }, - "18": { "Dialog": 1 }, - "19": { "DialogOptionsRenderingInfo": 1 }, - "20": { "Dictionary": 3 }, - "21": { "DynamicArrays": 2 }, - "22": { "DynamicSprite": 3 }, - "23": { "EditorCommandLineOptions": 1 }, - "24": { "EditorGUI": 5 }, - "25": { "EditorPlugins": 2 }, - "26": { "EditorSprite": 1 }, - "27": { "EngineConfigFile": 2 }, - "28": { "EnginePluginRun-timeAPI": 2 }, - "29": { "EventTypes": 4 }, - "30": { "FAQ": 3 }, - "31": { "Game": 17 }, - "32": { "GameSavesCompatibility": 7 }, - "33": { "Gamevariables": 2 }, - "34": { "GeneralSettings": 2 }, - "35": { "Globalfunctions_General": 7 }, - "36": { "Globalfunctions_Message": 1 }, - "37": { "Globalfunctions_Palette": 3 }, - "38": { "Globalfunctions_Room": 1 }, - "39": { "Globalfunctions_Screen": 2 }, - "40": { "Globalfunctions_Wait": 1 }, - "41": { "GUI": 5 }, - "42": { "Hotspot": 2 }, - "43": { "InventoryItem": 5 }, - "44": { "InvWindow": 1 }, - "45": { "Label": 3 }, - "46": { "Lipsync": 1 }, - "47": { "ListBox": 3 }, - "48": { "Mouse": 16 }, - "49": { "MusicAndSound": 8 }, - "50": { "Object": 23 }, - "51": { "ObsoleteScriptAPI": 1 }, - "52": { "Overlay": 4 }, - "53": { "Region": 8 }, - "54": { "Room": 3 }, - "55": { "RuntimeEngine": 2 }, - "56": { "ScriptingTutorialPart1": 3 }, - "57": { "ScriptKeywords": 1 }, - "58": { "ScriptModules": 1 }, - "59": { "Set": 1 }, - "60": { "Settingupthegame": 12 }, - "61": { "Setup": 1 }, - "62": { "Speech": 2 }, - "63": { "String": 1 }, - "64": { "System": 4 }, - "65": { "TemplateVerbcoin": 1 }, - "66": { "TextBox": 2 }, - "67": { "TheScriptHeader": 1 }, - "68": { "Translations": 2 }, - "69": { "TroubleshootingWindowsZoneID": 1 }, - "70": { "Tumbleweed": 6 }, - "71": { "Tumbleweed_actions": 1 }, - "72": { "Tumbleweed_door": 2 }, - "73": { "Tumbleweed_movement": 1 }, - "74": { "UpgradeTo30": 5 }, - "75": { "UpgradeTo31": 2 }, - "76": { "UpgradeTo33": 2 }, - "77": { "UpgradeTo34": 3 }, - "78": { "UpgradeTo341": 1 }, - "79": { "UpgradeTo35": 3 }, - "80": { "UpgradeTo36": 6 }, - "81": { "UpgradingTo27": 1 }, - "82": { "UpgradingTo271": 3 }, - "83": { "Viewport": 2 } - }, - "changed": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro6": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "Camera": 1 }, - "5": { "Character": 8 }, - "6": { "CustomProperties": 1 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorInventoryItems": 1 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EnginePluginRun-timeAPI": 2 }, - "12": { "Game": 3 }, - "13": { "GameSavesCompatibility": 2 }, - "14": { "GeneralSettings": 3 }, - "15": { "Globalfunctions_General": 2 }, - "16": { "Globalfunctions_Palette": 1 }, - "17": { "GUI": 1 }, - "18": { "Hotspot": 2 }, - "19": { "InventoryItem": 2 }, - "20": { "Mouse": 2 }, - "21": { "Object": 6 }, - "22": { "OOProgramming": 1 }, - "23": { "Preprocessor": 1 }, - "24": { "RepExec": 1 }, - "25": { "Room": 2 }, - "26": { "ScriptKeywords": 1 }, - "27": { "Settingupthegame": 1 }, - "28": { "Slider": 1 }, - "29": { "Speech": 2 }, - "30": { "String": 6 }, - "31": { "System": 1 }, - "32": { "TheScriptHeader": 1 }, - "33": { "Tumbleweed": 2 }, - "34": { "UpgradeTo30": 1 }, - "35": { "UpgradeTo31": 3 }, - "36": { "UpgradeTo32": 2 }, - "37": { "UpgradeTo34": 2 }, - "38": { "UpgradeTo35": 4 }, - "39": { "UpgradeTo36": 1 }, - "40": { "UpgradingTo27": 4 }, - "41": { "ViewFrame": 1 }, - "42": { "Viewport": 1 } - }, - "changes": { - "0": { "acintro3": 1 }, - "1": { "Character": 5 }, - "2": { "Constants": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "DynamicSprite": 2 }, - "7": { "EditorRoom": 1 }, - "8": { "EnginePluginRun-timeAPI": 7 }, - "9": { "FAQ": 2 }, - "10": { "File": 1 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 4 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_Event": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Palette": 2 }, - "17": { "Globalfunctions_Room": 8 }, - "18": { "GUI": 1 }, - "19": { "Hotspot": 3 }, - "20": { "Lipsync": 1 }, - "21": { "Mouse": 2 }, - "22": { "Multimedia": 1 }, - "23": { "Object": 1 }, - "24": { "ObsoleteScriptAPI": 1 }, - "25": { "Overlay": 1 }, - "26": { "Pointers": 1 }, - "27": { "Region": 3 }, - "28": { "RepExec": 1 }, - "29": { "Room": 2 }, - "30": { "ScriptAPIOverview": 1 }, - "31": { "ScriptingTutorialPart1": 1 }, - "32": { "Speech": 1 }, - "33": { "Templates": 1 }, - "34": { "TemplateSierraStyle": 1 }, - "35": { "TemplateVerbcoin": 1 }, - "36": { "Translations": 1 }, - "37": { "UpgradeTo30": 5 }, - "38": { "UpgradeTo31": 1 }, - "39": { "UpgradeTo32": 3 }, - "40": { "UpgradeTo34": 1 }, - "41": { "UpgradeTo341": 1 }, - "42": { "UpgradeTo35": 1 }, - "43": { "UpgradeTo36": 1 }, - "44": { "UpgradeTo361": 1 }, - "45": { "UpgradingTo27": 1 } - }, - "changing": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 8 }, - "4": { "DefaultSetup": 2 }, - "5": { "DrawingSurface": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "Game": 2 }, - "8": { "GameSavesCompatibility": 7 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "ListBox": 1 }, - "12": { "MusicAndSound": 2 }, - "13": { "Object": 3 }, - "14": { "RepExec": 1 }, - "15": { "Room": 1 }, - "16": { "Screen": 1 }, - "17": { "ScriptKeywords": 1 }, - "18": { "Slider": 2 }, - "19": { "SourceControl": 1 }, - "20": { "System": 4 }, - "21": { "Translations": 2 } - }, - "channel": { - "0": { "AudioChannel": 59 }, - "1": { "AudioClip": 8 }, - "2": { "AudioInScript": 13 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DialogOptionsRenderingInfo": 2 }, - "5": { "DynamicSprite": 7 }, - "6": { "EditorSprite": 2 }, - "7": { "EnginePluginRun-timeAPI": 12 }, - "8": { "Game": 2 }, - "9": { "MusicAndSound": 4 }, - "10": { "ScriptAPIOverview": 1 }, - "11": { "System": 4 }, - "12": { "UpgradeTo32": 3 } - }, - "channel's": { - "0": { "AudioChannel": 2 } - }, - "channels": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 5 }, - "2": { "AudioInScript": 9 }, - "3": { "MusicAndSound": 4 }, - "4": { "System": 3 }, - "5": { "SystemLimits": 1 } - }, - "chaotic": { - "0": { "UpgradeTo32": 1 } - }, - "chapter": { - "0": { "EditorView": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "Tumbleweed_actions": 1 }, - "3": { "Tumbleweed_extensions": 1 }, - "4": { "Tumbleweed_movement": 1 } - }, - "char": { - "0": { "DynamicArrays": 1 }, - "1": { "EnginePluginDesign-timeAPI": 5 }, - "2": { "EnginePluginRun-timeAPI": 46 }, - "3": { "Gamevariables": 1 }, - "4": { "GlobalArrays": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "ScriptKeywords": 2 }, - "7": { "String": 3 }, - "8": { "Tumbleweed_actions": 2 }, - "9": { "Tumbleweed_extensions": 3 }, - "10": { "UnicodeSupport": 2 } - }, - "charX": { - "0": { "DynamicArrays": 1 } - }, - "character": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 11 }, - "2": { "acintro3": 7 }, - "3": { "acintro5": 5 }, - "4": { "acintro6": 3 }, - "5": { "acintro7": 29 }, - "6": { "acintro8": 11 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 9 }, - "9": { "AudioChannel": 1 }, - "10": { "BlockingScripts": 4 }, - "11": { "Camera": 5 }, - "12": { "Character": 280 }, - "13": { "ColoursEditor": 1 }, - "14": { "CustomDialogOptions": 1 }, - "15": { "Dialog": 1 }, - "16": { "DialogScript": 6 }, - "17": { "DynamicArrays": 1 }, - "18": { "EditorCharacter": 10 }, - "19": { "EditorCursor": 1 }, - "20": { "EditorDialog": 1 }, - "21": { "EditorGUI": 1 }, - "22": { "EditorInventoryItems": 1 }, - "23": { "EditorRoom": 10 }, - "24": { "EditorSprite": 1 }, - "25": { "EditorView": 12 }, - "26": { "EnginePluginRun-timeAPI": 13 }, - "27": { "EventTypes": 22 }, - "28": { "ExtenderFunctions": 4 }, - "29": { "FAQ": 13 }, - "30": { "File": 5 }, - "31": { "Game": 2 }, - "32": { "GameSavesCompatibility": 2 }, - "33": { "Gamevariables": 4 }, - "34": { "GeneralSettings": 12 }, - "35": { "GlobalArrays": 6 }, - "36": { "Globalfunctions_Event": 10 }, - "37": { "Globalfunctions_General": 21 }, - "38": { "Globalfunctions_Message": 1 }, - "39": { "Globalfunctions_Room": 6 }, - "40": { "Globalfunctions_Wait": 1 }, - "41": { "Hotspot": 3 }, - "42": { "InvWindow": 5 }, - "43": { "Lipsync": 5 }, - "44": { "Mouse": 1 }, - "45": { "Object": 1 }, - "46": { "ObsoleteScriptAPI": 13 }, - "47": { "Pointers": 13 }, - "48": { "Region": 2 }, - "49": { "RepExec": 2 }, - "50": { "Screen": 1 }, - "51": { "ScriptAPIOverview": 2 }, - "52": { "ScriptingTutorialPart1": 7 }, - "53": { "ScriptKeywords": 5 }, - "54": { "Settingupthegame": 48 }, - "55": { "Speech": 5 }, - "56": { "String": 14 }, - "57": { "StringFormats": 2 }, - "58": { "TemplateSierraStyle": 1 }, - "59": { "TemplateVerbcoin": 1 }, - "60": { "TextWindowGUI": 1 }, - "61": { "Translations": 5 }, - "62": { "Tumbleweed": 2 }, - "63": { "Tumbleweed_actions": 1 }, - "64": { "Tumbleweed_door": 2 }, - "65": { "Tumbleweed_movement": 15 }, - "66": { "Tumbleweed_player": 4 }, - "67": { "UnicodeSupport": 4 }, - "68": { "UpgradeTo36": 3 }, - "69": { "UpgradingTo27": 13 }, - "70": { "Viewport": 2 }, - "71": { "VoiceSpeech": 1 } - }, - "character's": { - "0": { "acintro2": 2 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "Camera": 2 }, - "5": { "Character": 106 }, - "6": { "Dialog": 1 }, - "7": { "DialogScript": 3 }, - "8": { "EditorCharacter": 1 }, - "9": { "EditorInventoryItems": 3 }, - "10": { "EditorSprite": 1 }, - "11": { "FAQ": 1 }, - "12": { "GeneralSettings": 4 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Globalfunctions_Message": 2 }, - "15": { "Globalfunctions_Room": 1 }, - "16": { "Lipsync": 1 }, - "17": { "Mouse": 1 }, - "18": { "Pointers": 1 }, - "19": { "ScriptingTutorialPart1": 3 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "ScriptKeywords": 1 }, - "22": { "Settingupthegame": 7 }, - "23": { "Speech": 5 }, - "24": { "String": 1 }, - "25": { "UnicodeSupport": 1 }, - "26": { "UpgradeTo36": 1 }, - "27": { "UpgradingTo27": 1 }, - "28": { "VoiceSpeech": 2 } - }, - "character-resolution": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "character-specific": { - "0": { "TextWindowGUI": 1 } - }, - "characterHealth": { - "0": { "DynamicArrays": 3 } - }, - "characters": { - "0": { "acintro": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro5": 2 }, - "4": { "acintro7": 2 }, - "5": { "acintro8": 3 }, - "6": { "acintro9": 2 }, - "7": { "AdvancedRoomFeatures": 6 }, - "8": { "Character": 20 }, - "9": { "CustomProperties": 2 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "EditorCharacter": 1 }, - "13": { "EditorDialog": 2 }, - "14": { "EditorInventoryItems": 2 }, - "15": { "EditorPreferences": 1 }, - "16": { "EditorRoom": 2 }, - "17": { "EditorSprite": 1 }, - "18": { "EnginePluginRun-timeAPI": 9 }, - "19": { "EventTypes": 1 }, - "20": { "FAQ": 2 }, - "21": { "File": 1 }, - "22": { "Game": 5 }, - "23": { "GameEventsOrder": 1 }, - "24": { "GameSavesCompatibility": 1 }, - "25": { "Gamevariables": 1 }, - "26": { "GeneralSettings": 4 }, - "27": { "Globalfunctions_Event": 3 }, - "28": { "Globalfunctions_General": 3 }, - "29": { "Globalfunctions_Room": 1 }, - "30": { "GUI": 1 }, - "31": { "InventoryItem": 1 }, - "32": { "Lipsync": 1 }, - "33": { "Object": 8 }, - "34": { "Overlay": 6 }, - "35": { "Pointers": 1 }, - "36": { "Room": 1 }, - "37": { "RuntimeEngine": 1 }, - "38": { "ScriptingTutorialPart1": 2 }, - "39": { "ScriptKeywords": 3 }, - "40": { "Settingupthegame": 5 }, - "41": { "Setup": 1 }, - "42": { "String": 6 }, - "43": { "StringFormats": 1 }, - "44": { "System": 1 }, - "45": { "SystemRequirements": 1 }, - "46": { "Templates": 1 }, - "47": { "Translations": 5 }, - "48": { "Tumbleweed_actions": 1 }, - "49": { "Tumbleweed_extensions": 1 }, - "50": { "Tumbleweed_movement": 1 }, - "51": { "Tumbleweed_player": 1 }, - "52": { "UnicodeSupport": 6 }, - "53": { "UpgradeTo31": 1 }, - "54": { "UpgradeTo33": 1 }, - "55": { "UpgradeTo34": 2 }, - "56": { "UpgradeTo35": 4 }, - "57": { "UpgradeTo36": 6 }, - "58": { "UpgradingTo27": 1 }, - "59": { "VoiceSpeech": 1 } - }, - "charid": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Tumbleweed_movement": 1 } - }, - "charidtogoto": { - "0": { "Tumbleweed_movement": 1 } - }, - "charidwhogoes": { - "0": { "Tumbleweed_movement": 1 } - }, - "charname": { - "0": { "Character": 1 } - }, - "chars": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Tumbleweed_movement": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "chartofollow": { - "0": { "Character": 1 } - }, - "chasing": { - "0": { "Character": 1 } - }, - "cheat": { - "0": { "Debuggingfeatures": 1 } - }, - "check": { - "0": { "acintro": 1 }, - "1": { "acintro1": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro6": 1 }, - "4": { "acintro8": 2 }, - "5": { "acintro9": 1 }, - "6": { "AudioChannel": 3 }, - "7": { "AudioClip": 1 }, - "8": { "Character": 2 }, - "9": { "ColoursEditor": 1 }, - "10": { "Constants": 1 }, - "11": { "ContactingTheDevelopers": 2 }, - "12": { "CustomDialogOptions": 2 }, - "13": { "DynamicArrays": 1 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorInventoryItems": 1 }, - "16": { "EditorView": 2 }, - "17": { "EnginePluginDesign-timeAPI": 2 }, - "18": { "EnginePluginRun-timeAPI": 6 }, - "19": { "FAQ": 2 }, - "20": { "Game": 1 }, - "21": { "GameSavesCompatibility": 2 }, - "22": { "GeneralSettings": 2 }, - "23": { "Globalfunctions_Event": 3 }, - "24": { "Globalfunctions_General": 4 }, - "25": { "Globalfunctions_Room": 1 }, - "26": { "Introduction": 1 }, - "27": { "Keycodes": 1 }, - "28": { "MusicAndSound": 2 }, - "29": { "Object": 1 }, - "30": { "Plugins": 2 }, - "31": { "Pointers": 1 }, - "32": { "Preprocessor": 1 }, - "33": { "RepExec": 2 }, - "34": { "ScriptingTutorialPart1": 1 }, - "35": { "ScriptKeywords": 2 }, - "36": { "Settingupthegame": 1 }, - "37": { "SourceControl": 3 }, - "38": { "StandardEnums": 2 }, - "39": { "StartingOff": 1 }, - "40": { "String": 1 }, - "41": { "System": 1 }, - "42": { "TextParser": 2 }, - "43": { "Translations": 2 }, - "44": { "TroubleshootingWindowsZoneID": 1 }, - "45": { "Tumbleweed": 1 }, - "46": { "Tumbleweed_actions": 1 }, - "47": { "Tumbleweed_helper": 2 }, - "48": { "Tumbleweed_movement": 2 }, - "49": { "UnicodeSupport": 1 }, - "50": { "UpgradeTo36": 3 } - }, - "check-box": { - "0": { "Settingupthegame": 1 } - }, - "check-boxes": { - "0": { "acintro8": 1 } - }, - "checkbox": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "CustomProperties": 2 }, - "3": { "DialogScript": 1 }, - "4": { "EditorDialog": 2 }, - "5": { "EditorSprite": 1 }, - "6": { "EditorView": 3 }, - "7": { "EngineConfigFile": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "GUI": 2 }, - "10": { "UpgradeTo35": 1 } - }, - "checkboxes": { - "0": { "Settingupthegame": 1 } - }, - "checked": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 5 }, - "3": { "DialogScript": 1 }, - "4": { "Game": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "GUI": 1 }, - "8": { "Hotspot": 1 }, - "9": { "InventoryItem": 1 }, - "10": { "InvWindow": 1 }, - "11": { "Object": 1 }, - "12": { "Room": 3 }, - "13": { "Setup": 3 }, - "14": { "UpgradeTo335": 1 }, - "15": { "UpgradeTo35": 1 } - }, - "checkers": { - "0": { "DistGame": 1 } - }, - "checking": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GUI": 1 }, - "4": { "Pointers": 1 }, - "5": { "RepExec": 1 }, - "6": { "ScriptKeywords": 2 }, - "7": { "Tumbleweed": 1 }, - "8": { "Tumbleweed_actions": 1 }, - "9": { "UpgradeTo34": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "checklist": { - "0": { "GeneralSettings": 1 } - }, - "checkpoints": { - "0": { "GameSavesCompatibility": 1 } - }, - "checks": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Character": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Multimedia": 3 }, - "8": { "Preprocessor": 1 }, - "9": { "ScriptingTutorialPart2": 1 }, - "10": { "ScriptKeywords": 3 }, - "11": { "Tumbleweed": 1 }, - "12": { "Tumbleweed_actions": 2 }, - "13": { "ViewFrame": 1 } - }, - "chicken": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "child": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "chm": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "choice": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "Gamevariables": 1 }, - "8": { "GeneralSettings": 4 }, - "9": { "GraphicsDriver": 1 }, - "10": { "Setup": 2 }, - "11": { "TemplateSierraStyle": 1 }, - "12": { "UnicodeSupport": 1 }, - "13": { "UpgradeTo34": 1 }, - "14": { "UpgradeTo36": 1 }, - "15": { "UpgradeTo361": 1 } - }, - "choices": { - "0": { "acintro1": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro8": 1 }, - "4": { "DefaultSetup": 3 }, - "5": { "Dialog": 1 }, - "6": { "DialogScript": 6 }, - "7": { "EngineConfigFile": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Lipsync": 1 }, - "10": { "Settingupthegame": 3 } - }, - "choose": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 3 }, - "5": { "acintro8": 3 }, - "6": { "acintro9": 1 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "ColoursEditor": 2 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "CustomProperties": 1 }, - "11": { "DefaultSetup": 1 }, - "12": { "Dialog": 1 }, - "13": { "DialogScript": 1 }, - "14": { "DistGame": 1 }, - "15": { "EditorGUI": 4 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "EditorSprite": 2 }, - "19": { "GeneralSettings": 3 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "Globalfunctions_Message": 1 }, - "22": { "GlobalVariables": 2 }, - "23": { "GraphicsDriver": 1 }, - "24": { "ListBox": 1 }, - "25": { "Mouse": 2 }, - "26": { "Overlay": 1 }, - "27": { "Plugins": 1 }, - "28": { "ScriptingTutorialPart1": 1 }, - "29": { "Settingupthegame": 9 }, - "30": { "Setup": 3 }, - "31": { "Templates": 1 }, - "32": { "TextParser": 1 }, - "33": { "Translations": 2 }, - "34": { "TroubleshootingWindowsZoneID": 1 }, - "35": { "Tumbleweed": 1 }, - "36": { "UpgradeTo34": 1 }, - "37": { "UpgradeTo341": 1 }, - "38": { "UpgradeTo35": 1 }, - "39": { "UpgradeTo36": 3 }, - "40": { "UpgradingTo27": 2 } - }, - "chooses": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Settingupthegame": 1 } - }, - "choosing": { - "0": { "acintro6": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Settingupthegame": 3 }, - "3": { "Tumbleweed": 1 } - }, - "chose": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "Dialog": 1 }, - "4": { "Tumbleweed_extensions": 1 } - }, - "chosen": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 2 }, - "6": { "Dialog": 10 }, - "7": { "EditorDialog": 2 }, - "8": { "EditorRoom": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "FAQ": 1 }, - "11": { "Game": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Object": 1 }, - "14": { "RuntimeEngine": 1 }, - "15": { "ScriptAPIOverview": 1 }, - "16": { "Settingupthegame": 1 }, - "17": { "Tumbleweed": 1 }, - "18": { "UnicodeSupport": 1 }, - "19": { "UpgradeTo35": 1 }, - "20": { "UpgradingTo27": 1 } - }, - "choses": { - "0": { "GraphicsDriver": 1 } - }, - "chunks": { - "0": { "DistGame": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 } - }, - "chwhogoes": { - "0": { "Tumbleweed_movement": 1 } - }, - "circle": { - "0": { "DrawingSurface": 3 }, - "1": { "TemplateVerbcoin": 1 } - }, - "circumstances": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GUI": 1 } - }, - "clamp": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "clamped": { - "0": { "Camera": 3 } - }, - "clarify": { - "0": { "GeneralSettings": 1 } - }, - "class": { - "0": { "EditorPlugins": 16 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "UpgradeTo33": 5 } - }, - "classes": { - "0": { "EditorPlugins": 1 } - }, - "classic": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "GraphicsDriver": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "Tumbleweed_actions": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "classics": { - "0": { "Introduction": 1 } - }, - "clause": { - "0": { "ScriptKeywords": 1 } - }, - "clauses": { - "0": { "GlobalVariables": 1 } - }, - "clean": { - "0": { "TroubleshootingWindowsZoneID": 1 }, - "1": { "UpgradeTo341": 1 } - }, - "clean-up": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "cleaner": { - "0": { "UpgradeTo341": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "cleanup": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "clear": { - "0": { "acintro3": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "Multimedia": 1 }, - "7": { "RuntimeEngine": 1 }, - "8": { "ScriptKeywords": 2 }, - "9": { "TextBox": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "cleared": { - "0": { "DrawingSurface": 1 }, - "1": { "EditorLogPanel": 1 } - }, - "clearer": { - "0": { "AnonymousUsageInfo": 1 } - }, - "clears": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "clever": { - "0": { "Tumbleweed_door": 1 } - }, - "cleverer": { - "0": { "Lipsync": 1 } - }, - "click": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 6 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 3 }, - "9": { "AdvancedRoomFeatures": 2 }, - "10": { "BlockingScripts": 8 }, - "11": { "BuildAndroid": 3 }, - "12": { "Character": 5 }, - "13": { "ColoursEditor": 1 }, - "14": { "CustomDialogOptions": 4 }, - "15": { "CustomProperties": 5 }, - "16": { "DefaultSetup": 2 }, - "17": { "DialogOptionsRenderingInfo": 1 }, - "18": { "EditorGUI": 4 }, - "19": { "EditorInventoryItems": 2 }, - "20": { "EditorRoom": 3 }, - "21": { "EditorSprite": 3 }, - "22": { "EngineConfigFile": 3 }, - "23": { "EventTypes": 5 }, - "24": { "FAQ": 5 }, - "25": { "Game": 1 }, - "26": { "GameEventsOrder": 1 }, - "27": { "Gamevariables": 2 }, - "28": { "GeneralSettings": 6 }, - "29": { "Globalfunctions_Event": 9 }, - "30": { "Globalfunctions_General": 9 }, - "31": { "Globalfunctions_Wait": 3 }, - "32": { "GUI": 5 }, - "33": { "GUIControl": 2 }, - "34": { "Introduction": 1 }, - "35": { "Lipsync": 1 }, - "36": { "Mouse": 5 }, - "37": { "Multimedia": 2 }, - "38": { "MultipleScripts": 2 }, - "39": { "Object": 3 }, - "40": { "Plugins": 1 }, - "41": { "Room": 4 }, - "42": { "ScriptingTutorialPart1": 2 }, - "43": { "ScriptModules": 2 }, - "44": { "Settingupthegame": 6 }, - "45": { "Speech": 2 }, - "46": { "StandardEnums": 1 }, - "47": { "Templates": 1 }, - "48": { "TemplateVerbcoin": 4 }, - "49": { "Tumbleweed": 7 }, - "50": { "Tumbleweed_door": 1 }, - "51": { "Tumbleweed_helper": 1 }, - "52": { "Tumbleweed_movement": 1 }, - "53": { "Tumbleweed_translation": 1 }, - "54": { "Tumbleweed_unhandled": 1 }, - "55": { "UpgradeTo34": 2 } - }, - "clickable": { - "0": { "Button": 2 }, - "1": { "Character": 1 }, - "2": { "FAQ": 2 }, - "3": { "GUI": 4 }, - "4": { "GUIControl": 2 }, - "5": { "Tumbleweed_player": 1 } - }, - "clicked": { - "0": { "acintro9": 1 }, - "1": { "Character": 1 }, - "2": { "EditorCursor": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EditorView": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "EventTypes": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 3 }, - "10": { "Globalfunctions_Event": 2 }, - "11": { "Globalfunctions_Wait": 2 }, - "12": { "GUI": 1 }, - "13": { "Hotspot": 1 }, - "14": { "InventoryItem": 1 }, - "15": { "Mouse": 1 }, - "16": { "Object": 2 }, - "17": { "Settingupthegame": 2 }, - "18": { "Tumbleweed": 2 }, - "19": { "Tumbleweed_actions": 1 }, - "20": { "Tumbleweed_movement": 1 }, - "21": { "UpgradeTo35": 1 } - }, - "clicking": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro5": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorCursor": 2 }, - "8": { "EditorDialog": 1 }, - "9": { "EditorFont": 1 }, - "10": { "EditorInventoryItems": 3 }, - "11": { "EditorLogPanel": 2 }, - "12": { "EditorRoom": 6 }, - "13": { "EditorSprite": 2 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "EventTypes": 1 }, - "16": { "FAQ": 4 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_General": 4 }, - "19": { "Globalfunctions_Message": 1 }, - "20": { "GUI": 2 }, - "21": { "Room": 1 }, - "22": { "ScriptModules": 3 }, - "23": { "Settingupthegame": 1 }, - "24": { "Setup": 2 }, - "25": { "Speech": 4 }, - "26": { "TemplateSierraStyle": 2 }, - "27": { "TemplateVerbcoin": 1 }, - "28": { "Tumbleweed": 2 }, - "29": { "Tumbleweed_actions": 1 }, - "30": { "VoiceSpeech": 1 } - }, - "clicks": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 1 }, - "5": { "Character": 2 }, - "6": { "CustomDialogOptions": 4 }, - "7": { "DefaultSetup": 1 }, - "8": { "DialogOptionsRenderingInfo": 1 }, - "9": { "DialogScript": 1 }, - "10": { "EditorGUI": 4 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "EventTypes": 24 }, - "14": { "FAQ": 3 }, - "15": { "Game": 1 }, - "16": { "Globalfunctions_Event": 4 }, - "17": { "Globalfunctions_General": 5 }, - "18": { "Globalfunctions_Wait": 6 }, - "19": { "GUI": 2 }, - "20": { "GUIControl": 4 }, - "21": { "InventoryItem": 1 }, - "22": { "Mouse": 3 }, - "23": { "Object": 2 }, - "24": { "Settingupthegame": 1 }, - "25": { "Setup": 1 }, - "26": { "TemplateBASS": 1 }, - "27": { "TemplateVerbcoin": 1 }, - "28": { "UpgradeTo34": 2 } - }, - "climbed": { - "0": { "Globalfunctions_General": 4 } - }, - "clip": { - "0": { "AudioChannel": 25 }, - "1": { "AudioClip": 41 }, - "2": { "AudioInScript": 8 }, - "3": { "Character": 1 }, - "4": { "EngineConfigFile": 2 }, - "5": { "Game": 2 }, - "6": { "GeneralSettings": 4 }, - "7": { "MusicAndSound": 7 }, - "8": { "ScriptAPIOverview": 1 }, - "9": { "ScriptingTutorialPart2": 1 }, - "10": { "Speech": 1 }, - "11": { "UpgradeTo32": 2 }, - "12": { "ViewFrame": 2 } - }, - "clip's": { - "0": { "AudioChannel": 3 }, - "1": { "AudioInScript": 1 }, - "2": { "Character": 1 }, - "3": { "Globalfunctions_Message": 1 } - }, - "clipViewport": { - "0": { "Viewport": 5 } - }, - "clipboard": { - "0": { "acintro6": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EditorSprite": 3 } - }, - "clipped": { - "0": { "Button": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GeneralSettings": 1 } - }, - "clips": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 4 }, - "2": { "AudioInScript": 1 }, - "3": { "Button": 1 }, - "4": { "DistGame": 1 }, - "5": { "Game": 13 }, - "6": { "GameSavesCompatibility": 3 }, - "7": { "Globalfunctions_Message": 2 }, - "8": { "Lipsync": 1 }, - "9": { "MusicAndSound": 4 }, - "10": { "UpgradeTo32": 3 }, - "11": { "UpgradeTo341": 2 }, - "12": { "VoiceSpeech": 3 } - }, - "clock": { - "0": { "DateTime": 1 } - }, - "clockwise": { - "0": { "DynamicSprite": 4 } - }, - "clone": { - "0": { "Overlay": 3 } - }, - "clones": { - "0": { "EditorFont": 1 } - }, - "close": { - "0": { "acintro1": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Character": 2 }, - "3": { "CustomDialogOptions": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "File": 8 }, - "6": { "Gamevariables": 1 }, - "7": { "Object": 1 }, - "8": { "ObsoleteScriptAPI": 1 }, - "9": { "Speech": 2 }, - "10": { "Tumbleweed": 1 }, - "11": { "Tumbleweed_door": 1 }, - "12": { "Tumbleweed_extensions": 2 }, - "13": { "UpgradeTo33": 1 } - }, - "close-up": { - "0": { "Character": 2 }, - "1": { "Speech": 2 } - }, - "closed": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Multimedia": 1 }, - "2": { "Tumbleweed_door": 8 } - }, - "closer": { - "0": { "AudioChannel": 1 }, - "1": { "GUI": 2 }, - "2": { "Tumbleweed_translation": 2 } - }, - "closes": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "closesound": { - "0": { "Tumbleweed_door": 2 } - }, - "closest": { - "0": { "acintro7": 1 }, - "1": { "Settingupthegame": 1 } - }, - "closevalue": { - "0": { "Tumbleweed_door": 2 } - }, - "closing": { - "0": { "EditorPreferences": 2 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "clothes": { - "0": { "Character": 1 } - }, - "cluttered": { - "0": { "GeneralSettings": 1 } - }, - "cmd": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "co": { - "0": { "Character": 1 }, - "1": { "ContactingTheDevelopers": 2 } - }, - "co-ordinate": { - "0": { "acintro2": 1 }, - "1": { "Character": 7 }, - "2": { "DialogOptionsRenderingInfo": 2 }, - "3": { "DrawingSurface": 1 }, - "4": { "Gamevariables": 2 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "GUI": 1 }, - "7": { "Hotspot": 2 }, - "8": { "Object": 10 }, - "9": { "Overlay": 2 }, - "10": { "Room": 4 }, - "11": { "UpgradeTo31": 4 } - }, - "co-ordinates": { - "0": { "acintro2": 2 }, - "1": { "acintro7": 4 }, - "2": { "acintro9": 1 }, - "3": { "AudioChannel": 3 }, - "4": { "Character": 14 }, - "5": { "DrawingSurface": 14 }, - "6": { "DynamicSprite": 3 }, - "7": { "EnginePluginRun-timeAPI": 25 }, - "8": { "Game": 6 }, - "9": { "Globalfunctions_General": 3 }, - "10": { "Globalfunctions_Message": 1 }, - "11": { "Globalfunctions_Room": 7 }, - "12": { "Globalfunctions_Screen": 1 }, - "13": { "GUI": 11 }, - "14": { "GUIControl": 2 }, - "15": { "Hotspot": 4 }, - "16": { "ListBox": 2 }, - "17": { "Mouse": 2 }, - "18": { "Object": 3 }, - "19": { "Overlay": 1 }, - "20": { "Region": 4 }, - "21": { "Room": 1 }, - "22": { "Settingupthegame": 2 }, - "23": { "UpgradeTo31": 14 } - }, - "code": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 1 }, - "2": { "BlockingScripts": 2 }, - "3": { "Character": 6 }, - "4": { "Constants": 3 }, - "5": { "Copyright": 3 }, - "6": { "Credits": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "CustomProperties": 2 }, - "9": { "Debuggingfeatures": 5 }, - "10": { "DistGame": 2 }, - "11": { "DynamicArrays": 1 }, - "12": { "EditorCommandLineOptions": 2 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorLogPanel": 1 }, - "15": { "EditorPlugins": 2 }, - "16": { "EnginePluginRun-timeAPI": 2 }, - "17": { "Game": 5 }, - "18": { "GameSavesCompatibility": 3 }, - "19": { "Globalfunctions_Event": 2 }, - "20": { "Globalfunctions_General": 5 }, - "21": { "Globalfunctions_Room": 2 }, - "22": { "Globalfunctions_Wait": 3 }, - "23": { "GUI": 1 }, - "24": { "GUIControl": 1 }, - "25": { "Hotspot": 1 }, - "26": { "Keycodes": 3 }, - "27": { "Lipsync": 1 }, - "28": { "Mouse": 2 }, - "29": { "MultipleScripts": 3 }, - "30": { "Object": 2 }, - "31": { "OOProgramming": 1 }, - "32": { "Preprocessor": 5 }, - "33": { "RepExec": 5 }, - "34": { "ScriptAPIOverview": 1 }, - "35": { "ScriptingTutorialPart1": 3 }, - "36": { "ScriptingTutorialPart2": 3 }, - "37": { "ScriptKeywords": 7 }, - "38": { "ScriptModules": 2 }, - "39": { "StandardEnums": 4 }, - "40": { "StringFormats": 1 }, - "41": { "Tumbleweed_movement": 1 }, - "42": { "UpgradeTo30": 1 }, - "43": { "UpgradeTo36": 3 } - }, - "codec": { - "0": { "Multimedia": 1 } - }, - "codecs": { - "0": { "Multimedia": 3 }, - "1": { "UpgradeTo36": 1 } - }, - "coded": { - "0": { "acintro9": 1 } - }, - "codepage": { - "0": { "UpgradeTo36": 1 } - }, - "codes": { - "0": { "Game": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Keycodes": 5 }, - "5": { "StringFormats": 3 } - }, - "coding": { - "0": { "Globalfunctions_General": 2 }, - "1": { "UpgradingTo27": 1 } - }, - "coincidence": { - "0": { "GameEventsOrder": 1 } - }, - "coined": { - "0": { "acintro7": 1 } - }, - "coins": { - "0": { "FAQ": 2 } - }, - "coldepth": { - "0": { "EnginePluginRun-timeAPI": 9 } - }, - "collaborative": { - "0": { "Credits": 1 } - }, - "collected": { - "0": { "EditorInventoryItems": 1 } - }, - "collection": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "colliding": { - "0": { "Character": 6 }, - "1": { "Object": 2 } - }, - "collision": { - "0": { "GeneralSettings": 1 } - }, - "collisions": { - "0": { "Character": 1 } - }, - "colon": { - "0": { "DialogScript": 1 } - }, - "color": { - "0": { "acintro1": 14 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro6": 3 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 6 }, - "6": { "Button": 1 }, - "7": { "Character": 4 }, - "8": { "ColoursEditor": 4 }, - "9": { "CustomDialogOptions": 4 }, - "10": { "Dialog": 1 }, - "11": { "DialogScript": 1 }, - "12": { "DistGame": 1 }, - "13": { "DrawingSurface": 18 }, - "14": { "DynamicSprite": 6 }, - "15": { "EditorGUI": 3 }, - "16": { "EditorInventoryItems": 1 }, - "17": { "EditorRoom": 2 }, - "18": { "EditorSprite": 1 }, - "19": { "EnginePluginRun-timeAPI": 39 }, - "20": { "Game": 2 }, - "21": { "GameSavesCompatibility": 1 }, - "22": { "Gamevariables": 8 }, - "23": { "GeneralSettings": 6 }, - "24": { "Globalfunctions_General": 5 }, - "25": { "Globalfunctions_Message": 6 }, - "26": { "Globalfunctions_Palette": 2 }, - "27": { "Globalfunctions_Room": 3 }, - "28": { "Globalfunctions_Screen": 3 }, - "29": { "GUI": 3 }, - "30": { "GUIControl": 1 }, - "31": { "Hotspot": 1 }, - "32": { "Label": 1 }, - "33": { "ListBox": 6 }, - "34": { "Object": 2 }, - "35": { "ObsoleteScriptAPI": 1 }, - "36": { "Overlay": 6 }, - "37": { "Region": 1 }, - "38": { "Room": 3 }, - "39": { "ScriptKeywords": 6 }, - "40": { "Settingupthegame": 11 }, - "41": { "System": 9 }, - "42": { "TemplateVerbcoin": 2 }, - "43": { "TextBox": 2 }, - "44": { "TextParser": 1 }, - "45": { "TextWindowGUI": 3 } - }, - "colormodes": { - "0": { "Settingupthegame": 1 } - }, - "colors": { - "0": { "acintro1": 11 }, - "1": { "acintro6": 5 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "ColoursEditor": 4 }, - "4": { "EditorRoom": 1 }, - "5": { "GeneralSettings": 5 }, - "6": { "Globalfunctions_Palette": 6 }, - "7": { "Overlay": 1 }, - "8": { "Settingupthegame": 6 }, - "9": { "System": 1 }, - "10": { "TextWindowGUI": 1 }, - "11": { "Tumbleweed": 1 } - }, - "colour": { - "0": { "ColoursEditor": 2 }, - "1": { "TextParser": 1 } - }, - "coloured": { - "0": { "FAQ": 1 } - }, - "colours": { - "0": { "FAQ": 1 } - }, - "column": { - "0": { "Settingupthegame": 3 }, - "1": { "UpgradeTo31": 1 } - }, - "columns": { - "0": { "Multimedia": 1 } - }, - "com": { - "0": { "Copyright": 1 }, - "1": { "Credits": 4 }, - "2": { "DistGame": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Lipsync": 1 } - }, - "combination": { - "0": { "EditorRoom": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Mouse": 1 }, - "5": { "ScriptingTutorialPart2": 1 }, - "6": { "StandardEnums": 3 }, - "7": { "Tumbleweed_door": 1 }, - "8": { "Tumbleweed_extensions": 1 } - }, - "combinations": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "Keycodes": 1 }, - "4": { "Lipsync": 2 }, - "5": { "RuntimeEngine": 1 }, - "6": { "UpgradeTo35": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "combine": { - "0": { "EditorInventoryItems": 1 }, - "1": { "EventTypes": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "combined": { - "0": { "DistGame": 1 }, - "1": { "Globalfunctions_Wait": 1 }, - "2": { "Keycodes": 3 }, - "3": { "UpgradeTo33": 1 } - }, - "combines": { - "0": { "Globalfunctions_Wait": 1 } - }, - "combining": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "combo": { - "0": { "EditorRoom": 1 } - }, - "combobox": { - "0": { "acintro2": 2 }, - "1": { "EditorSprite": 1 } - }, - "combokey": { - "0": { "Keycodes": 3 } - }, - "come": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioClip": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "Character": 1 }, - "4": { "ColoursEditor": 1 }, - "5": { "ContactingTheDevelopers": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "CustomProperties": 1 }, - "8": { "Dialog": 1 }, - "9": { "DistGame": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "GeneralSettings": 1 }, - "12": { "GUI": 1 }, - "13": { "GUIControl": 1 }, - "14": { "Hotspot": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "MultipleScripts": 1 }, - "17": { "MusicAndSound": 1 }, - "18": { "Object": 1 }, - "19": { "Plugins": 1 }, - "20": { "RepExec": 1 }, - "21": { "ScriptingTutorialPart1": 1 }, - "22": { "ScriptKeywords": 2 }, - "23": { "Tumbleweed": 1 }, - "24": { "Tumbleweed_unhandled": 1 } - }, - "comeback": { - "0": { "BuildAndroid": 1 } - }, - "comes": { - "0": { "acintro1": 3 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "RepExec": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "Templates": 1 }, - "10": { "TextParser": 1 }, - "11": { "ViewFrame": 1 }, - "12": { "VoiceSpeech": 1 } - }, - "comfortable": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Settingupthegame": 1 } - }, - "comma": { - "0": { "TextParser": 3 } - }, - "comma-separated": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "command": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 2 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 7 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioChannel": 2 }, - "8": { "AudioClip": 7 }, - "9": { "AudioInScript": 2 }, - "10": { "BlockingScripts": 3 }, - "11": { "Button": 6 }, - "12": { "Character": 49 }, - "13": { "ColoursEditor": 1 }, - "14": { "Constants": 1 }, - "15": { "Debuggingfeatures": 5 }, - "16": { "Dialog": 7 }, - "17": { "DialogScript": 5 }, - "18": { "DistGame": 1 }, - "19": { "DrawingSurface": 7 }, - "20": { "DynamicArrays": 2 }, - "21": { "DynamicSprite": 8 }, - "22": { "EditorCommandLineOptions": 5 }, - "23": { "EditorDialog": 2 }, - "24": { "EditorGUI": 1 }, - "25": { "EditorLogPanel": 1 }, - "26": { "EditorRoom": 3 }, - "27": { "EditorSprite": 4 }, - "28": { "EnginePluginRun-timeAPI": 13 }, - "29": { "EventTypes": 3 }, - "30": { "FAQ": 4 }, - "31": { "File": 4 }, - "32": { "Game": 5 }, - "33": { "GameSavesCompatibility": 1 }, - "34": { "Gamevariables": 2 }, - "35": { "GeneralSettings": 2 }, - "36": { "Globalfunctions_General": 22 }, - "37": { "Globalfunctions_Message": 1 }, - "38": { "Globalfunctions_Palette": 1 }, - "39": { "Globalfunctions_Room": 7 }, - "40": { "Globalfunctions_Screen": 2 }, - "41": { "GUI": 1 }, - "42": { "GUIControl": 1 }, - "43": { "Hotspot": 4 }, - "44": { "ImportingFunctionsAndVariables": 2 }, - "45": { "InventoryItem": 5 }, - "46": { "ListBox": 3 }, - "47": { "Mouse": 5 }, - "48": { "Multimedia": 3 }, - "49": { "MultipleScripts": 1 }, - "50": { "MusicAndSound": 2 }, - "51": { "Object": 20 }, - "52": { "ObsoleteScriptAPI": 1 }, - "53": { "Overlay": 4 }, - "54": { "Parser": 7 }, - "55": { "Preprocessor": 1 }, - "56": { "Region": 5 }, - "57": { "RepExec": 3 }, - "58": { "Room": 6 }, - "59": { "RuntimeEngine": 4 }, - "60": { "ScriptingTutorialPart1": 16 }, - "61": { "ScriptKeywords": 4 }, - "62": { "Settingupthegame": 3 }, - "63": { "Slider": 1 }, - "64": { "String": 4 }, - "65": { "System": 1 }, - "66": { "TextParser": 3 }, - "67": { "TroubleshootingWindowsZoneID": 2 }, - "68": { "UpgradeTo30": 9 }, - "69": { "UpgradeTo32": 6 }, - "70": { "UpgradeTo33": 1 }, - "71": { "UpgradeTo34": 2 }, - "72": { "UpgradeTo361": 1 }, - "73": { "UpgradingTo27": 5 } - }, - "command-line": { - "0": { "BuildAndroid": 1 } - }, - "commands": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 2 }, - "2": { "AudioChannel": 1 }, - "3": { "AudioClip": 2 }, - "4": { "AutonumberSpeechFiles": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "Button": 1 }, - "7": { "Camera": 1 }, - "8": { "Character": 6 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "Dialog": 1 }, - "11": { "DialogScript": 8 }, - "12": { "DrawingSurface": 2 }, - "13": { "DynamicSprite": 13 }, - "14": { "EditorGUI": 1 }, - "15": { "EnginePluginRun-timeAPI": 2 }, - "16": { "FAQ": 7 }, - "17": { "File": 1 }, - "18": { "Game": 1 }, - "19": { "GeneralSettings": 4 }, - "20": { "Globalfunctions_Event": 1 }, - "21": { "Globalfunctions_General": 3 }, - "22": { "InventoryItem": 1 }, - "23": { "MusicAndSound": 1 }, - "24": { "Object": 2 }, - "25": { "ObsoleteScriptAPI": 1 }, - "26": { "Pointers": 1 }, - "27": { "Preprocessor": 5 }, - "28": { "Region": 1 }, - "29": { "ScriptingTutorialPart1": 5 }, - "30": { "ScriptingTutorialPart2": 2 }, - "31": { "ScriptKeywords": 1 }, - "32": { "Settingupthegame": 3 }, - "33": { "Speech": 1 }, - "34": { "StandardEnums": 1 }, - "35": { "Templates": 1 }, - "36": { "TextParser": 3 }, - "37": { "UpgradeTo30": 1 }, - "38": { "UpgradeTo31": 2 }, - "39": { "UpgradeTo32": 5 }, - "40": { "UpgradeTo34": 1 }, - "41": { "UpgradeTo341": 1 }, - "42": { "UpgradeTo35": 1 }, - "43": { "UpgradeTo36": 2 }, - "44": { "UpgradingTo27": 10 } - }, - "commas": { - "0": { "ImportingFunctionsAndVariables": 2 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "commences": { - "0": { "Globalfunctions_General": 1 } - }, - "comment": { - "0": { "acintro5": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "Translations": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "comments": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "ScriptingTutorialPart1": 2 }, - "2": { "Translations": 1 } - }, - "commercial": { - "0": { "FAQ": 2 } - }, - "commits": { - "0": { "File": 1 } - }, - "common": { - "0": { "BlockingScripts": 1 }, - "1": { "Camera": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EditorGUI": 2 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "ExtenderFunctions": 1 }, - "9": { "FAQ": 3 }, - "10": { "GUI": 1 }, - "11": { "GUIControl": 1 }, - "12": { "Pointers": 1 }, - "13": { "Preprocessor": 2 }, - "14": { "RepExec": 1 }, - "15": { "ScriptAPIOverview": 1 }, - "16": { "ScriptingLanguage": 1 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Setup": 1 }, - "20": { "TextParser": 1 }, - "21": { "TheScriptHeader": 2 }, - "22": { "TroubleshootingWindowsZoneID": 1 }, - "23": { "UpgradeTo34": 1 }, - "24": { "UpgradingTo27": 1 }, - "25": { "Viewport": 1 }, - "26": { "VoiceSpeech": 1 } - }, - "commonly": { - "0": { "Dictionary": 1 }, - "1": { "EditorFont": 1 }, - "2": { "Game": 1 }, - "3": { "ImportingFunctionsAndVariables": 1 }, - "4": { "ScriptKeywords": 3 }, - "5": { "TroubleshootingWindowsZoneID": 1 }, - "6": { "UpgradeTo35": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "commonly-used": { - "0": { "acintro7": 1 } - }, - "communicate": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 } - }, - "communication": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "community": { - "0": { "ContactingTheDevelopers": 1 } - }, - "companion": { - "0": { "Character": 2 } - }, - "companionName": { - "0": { "Character": 2 } - }, - "comparable": { - "0": { "OOProgramming": 1 }, - "1": { "Pointers": 1 } - }, - "compare": { - "0": { "Dictionary": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Pointers": 1 }, - "5": { "ScriptKeywords": 3 }, - "6": { "Set": 1 }, - "7": { "TextParser": 1 }, - "8": { "UpgradingTo271": 1 } - }, - "compareStyle": { - "0": { "Dictionary": 2 }, - "1": { "Set": 2 } - }, - "compared": { - "0": { "Dictionary": 1 }, - "1": { "Multimedia": 1 }, - "2": { "Pointers": 1 }, - "3": { "Set": 1 }, - "4": { "Tumbleweed": 1 } - }, - "compares": { - "0": { "Pointers": 1 }, - "1": { "ScriptingTutorialPart1": 5 } - }, - "comparing": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Pointers": 1 } - }, - "comparison": { - "0": { "Dictionary": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "Keycodes": 1 }, - "3": { "Set": 1 }, - "4": { "String": 1 }, - "5": { "UpgradeTo36": 1 }, - "6": { "Viewport": 1 } - }, - "comparisons": { - "0": { "TemplateBASS": 1 } - }, - "compatibility": { - "0": { "acintro5": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "Constants": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "DynamicSprite": 1 }, - "7": { "EditorRoom": 1 }, - "8": { "FAQ": 1 }, - "9": { "File": 1 }, - "10": { "GameSavesCompatibility": 3 }, - "11": { "GeneralSettings": 8 }, - "12": { "Globalfunctions_Event": 2 }, - "13": { "Globalfunctions_General": 2 }, - "14": { "GraphicsDriver": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "Object": 1 }, - "17": { "OtherFeatures": 1 }, - "18": { "Room": 1 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "ScriptKeywords": 1 }, - "21": { "UnicodeSupport": 2 }, - "22": { "UpgradeTo32": 1 }, - "23": { "UpgradeTo33": 2 }, - "24": { "UpgradeTo335": 1 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo35": 1 }, - "27": { "UpgradeTo36": 3 }, - "28": { "UpgradingTo271": 2 } - }, - "compatible": { - "0": { "EditorSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "MIDI-playback": 4 }, - "6": { "UnicodeSupport": 4 }, - "7": { "UpgradingTo27": 1 } - }, - "compensate": { - "0": { "Gamevariables": 2 } - }, - "compilation": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "ImportingFunctionsAndVariables": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptAPIOverview": 1 }, - "6": { "TheScriptHeader": 1 }, - "7": { "UpgradeTo33": 1 }, - "8": { "UpgradeTo341": 2 } - }, - "compile": { - "0": { "acintro1": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "Constants": 1 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "DistGame": 2 }, - "5": { "EditorCommandLineOptions": 3 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePlugins": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "GlobalArrays": 1 }, - "11": { "Multimedia": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Preprocessor": 1 }, - "14": { "ScriptingTutorialPart1": 1 }, - "15": { "Templates": 1 }, - "16": { "UpgradeTo30": 2 }, - "17": { "UpgradeTo34": 2 }, - "18": { "UpgradeTo341": 1 }, - "19": { "UpgradeTo36": 1 }, - "20": { "UpgradingTo27": 1 } - }, - "compiled": { - "0": { "Constants": 2 }, - "1": { "Debuggingfeatures": 3 }, - "2": { "DistGame": 4 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GeneralSettings": 2 }, - "7": { "Lipsync": 2 }, - "8": { "Preprocessor": 3 }, - "9": { "ScriptModules": 1 }, - "10": { "Translations": 1 }, - "11": { "UpgradeTo30": 1 }, - "12": { "UpgradeTo341": 5 }, - "13": { "UpgradingTo27": 1 }, - "14": { "VoiceSpeech": 2 } - }, - "compiler": { - "0": { "EnginePlugins": 1 }, - "1": { "GeneralSettings": 3 }, - "2": { "Pointers": 1 }, - "3": { "Preprocessor": 3 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "compilers": { - "0": { "EnginePlugins": 1 } - }, - "compiling": { - "0": { "acintro1": 1 }, - "1": { "Constants": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorPreferences": 1 }, - "4": { "FAQ": 1 } - }, - "complain": { - "0": { "Pointers": 1 } - }, - "complains": { - "0": { "BuildAndroid": 1 } - }, - "complete": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "FAQ": 1 }, - "5": { "MusicAndSound": 2 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "UnicodeSupport": 1 } - }, - "completed": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 1 }, - "2": { "BuildAndroid": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "Gamevariables": 1 } - }, - "completely": { - "0": { "Character": 2 }, - "1": { "DynamicArrays": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "FAQ": 1 }, - "5": { "Game": 2 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "Setup": 1 }, - "11": { "TextParser": 1 }, - "12": { "UpgradeTo32": 1 }, - "13": { "UpgradeTo36": 2 }, - "14": { "UpgradeTo361": 1 }, - "15": { "Viewport": 2 } - }, - "completes": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "complex": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GameEventsOrder": 1 }, - "5": { "Globalfunctions_Wait": 2 }, - "6": { "ScriptKeywords": 1 }, - "7": { "StandardEnums": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "complexity": { - "0": { "SystemRequirements": 1 } - }, - "complicated": { - "0": { "acintro1": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Pointers": 1 }, - "5": { "SystemLimits": 1 }, - "6": { "UpgradeTo30": 1 }, - "7": { "UpgradeTo35": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "comply": { - "0": { "DistGame": 2 } - }, - "component": { - "0": { "Credits": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorPlugins": 9 }, - "3": { "Gamevariables": 3 } - }, - "component's": { - "0": { "EditorPlugins": 1 } - }, - "components": { - "0": { "DistGame": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_Palette": 2 }, - "4": { "GraphicsDriver": 1 }, - "5": { "TemplateVerbcoin": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "comprehensible": { - "0": { "Preprocessor": 1 } - }, - "compress": { - "0": { "DistGame": 2 } - }, - "compressed": { - "0": { "GeneralSettings": 1 } - }, - "compression": { - "0": { "Copyright": 2 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 8 }, - "3": { "EditorSprite": 4 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "GeneralSettings": 6 }, - "6": { "MusicAndSound": 1 }, - "7": { "UpgradeTo36": 6 }, - "8": { "UpgradeTo361": 4 } - }, - "computer": { - "0": { "acintro4": 2 }, - "1": { "acintro6": 1 }, - "2": { "EventTypes": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "GraphicsDriver": 1 }, - "5": { "Setup": 2 }, - "6": { "SystemRequirements": 1 }, - "7": { "Templates": 1 }, - "8": { "TroubleshootingWindowsZoneID": 4 }, - "9": { "UpgradeTo35": 1 } - }, - "computers": { - "0": { "acintro1": 1 }, - "1": { "Object": 1 } - }, - "concept": { - "0": { "Pointers": 1 }, - "1": { "UpgradeTo35": 3 } - }, - "concepts": { - "0": { "Tumbleweed": 2 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "concerned": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "concerning": { - "0": { "EditorLogPanel": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "concludes": { - "0": { "Pointers": 1 } - }, - "condition": { - "0": { "FAQ": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ScriptingTutorialPart2": 2 }, - "3": { "ScriptKeywords": 9 }, - "4": { "Tumbleweed_helper": 1 }, - "5": { "UpgradeTo34": 2 } - }, - "conditional": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "conditionally": { - "0": { "DialogScript": 1 } - }, - "conditions": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "GUI": 2 }, - "2": { "ScriptingTutorialPart2": 2 }, - "3": { "Tumbleweed_helper": 1 }, - "4": { "UpgradeTo36": 2 } - }, - "conf": { - "0": { "RuntimeEngine": 1 } - }, - "config": { - "0": { "DefaultSetup": 10 }, - "1": { "EngineConfigFile": 16 }, - "2": { "FAQ": 1 }, - "3": { "File": 1 }, - "4": { "Game": 4 }, - "5": { "GraphicsDriver": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "RuntimeEngine": 8 }, - "8": { "System": 1 }, - "9": { "UpgradeTo335": 4 }, - "10": { "UpgradeTo341": 3 } - }, - "configpath": { - "0": { "RuntimeEngine": 1 } - }, - "configurable": { - "0": { "acintro3": 1 } - }, - "configuration": { - "0": { "DefaultSetup": 4 }, - "1": { "DistGame": 1 }, - "2": { "EngineConfigFile": 3 }, - "3": { "FAQ": 2 }, - "4": { "File": 1 }, - "5": { "MIDI-playback": 8 }, - "6": { "Mouse": 1 }, - "7": { "RuntimeEngine": 1 }, - "8": { "Setup": 1 }, - "9": { "System": 1 }, - "10": { "UpgradeTo341": 1 } - }, - "configurations": { - "0": { "MIDI-playback": 1 }, - "1": { "SystemRequirements": 1 } - }, - "configure": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorCharacter": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "EditorFont": 1 }, - "4": { "EditorGUI": 2 }, - "5": { "EditorRoom": 1 }, - "6": { "MIDI-playback": 1 }, - "7": { "TemplateSierraStyle": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "configured": { - "0": { "acintro9": 1 }, - "1": { "Character": 1 }, - "2": { "EditorGUI": 2 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EditorView": 1 }, - "7": { "Game": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Lipsync": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Settingupthegame": 1 }, - "12": { "TemplateSierraStyle": 1 } - }, - "configuring": { - "0": { "EditorRoom": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "confined": { - "0": { "acintro5": 1 } - }, - "confirm": { - "0": { "Globalfunctions_General": 1 }, - "1": { "MIDI-playback": 1 } - }, - "conflict": { - "0": { "GeneralSettings": 2 }, - "1": { "UpgradeTo34": 1 } - }, - "conflicts": { - "0": { "ScriptAPIOverview": 2 } - }, - "confuse": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "confused": { - "0": { "EditorDialog": 1 }, - "1": { "GUI": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "confusing": { - "0": { "acintro8": 1 }, - "1": { "Pointers": 1 }, - "2": { "System": 2 }, - "3": { "Tumbleweed_translation": 1 } - }, - "confusion": { - "0": { "BlockingScripts": 1 }, - "1": { "Button": 1 }, - "2": { "Multimedia": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "conjunction": { - "0": { "AudioClip": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "GUIControl": 3 } - }, - "connect": { - "0": { "EventTypes": 3 }, - "1": { "Tumbleweed_door": 2 } - }, - "connected": { - "0": { "acintro2": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Tumbleweed_door": 1 }, - "3": { "Tumbleweed_helper": 1 } - }, - "connection": { - "0": { "Lipsync": 1 } - }, - "connects": { - "0": { "ImportingFunctionsAndVariables": 1 }, - "1": { "Tumbleweed_actions": 1 } - }, - "consecutive": { - "0": { "EditorView": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "consequence": { - "0": { "AudioInScript": 1 } - }, - "conserving": { - "0": { "ScriptKeywords": 1 } - }, - "consider": { - "0": { "acintro8": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "EditorView": 1 }, - "3": { "Room": 1 }, - "4": { "Screen": 1 }, - "5": { "ScriptingTutorialPart2": 1 }, - "6": { "UpgradeTo33": 1 } - }, - "considerably": { - "0": { "FAQ": 1 } - }, - "considerations": { - "0": { "SystemLimits": 1 } - }, - "considered": { - "0": { "acintro2": 2 }, - "1": { "Camera": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "GlobalVariables": 1 }, - "6": { "OOProgramming": 1 }, - "7": { "TemplateBASS": 1 }, - "8": { "TextParser": 1 }, - "9": { "UpgradeTo30": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "VoiceSpeech": 1 } - }, - "considering": { - "0": { "TextParser": 1 } - }, - "consistency": { - "0": { "FAQ": 1 } - }, - "consistent": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameEventsOrder": 1 }, - "2": { "OOProgramming": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "consists": { - "0": { "acintro8": 1 }, - "1": { "EditorDialog": 2 }, - "2": { "GameEventsOrder": 1 }, - "3": { "StandardEnums": 2 } - }, - "console": { - "0": { "EnginePluginRun-timeAPI": 4 }, - "1": { "RuntimeEngine": 7 } - }, - "const": { - "0": { "Character": 3 }, - "1": { "DialogScript": 3 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginDesign-timeAPI": 2 }, - "4": { "EnginePluginRun-timeAPI": 37 }, - "5": { "Game": 4 }, - "6": { "GeneralSettings": 3 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GUIControl": 1 }, - "9": { "Hotspot": 3 }, - "10": { "InventoryItem": 3 }, - "11": { "Object": 3 }, - "12": { "Room": 3 }, - "13": { "System": 1 }, - "14": { "TextWindowGUI": 1 }, - "15": { "UpgradeTo35": 3 }, - "16": { "UpgradingTo271": 3 } - }, - "constant": { - "0": { "Constants": 2 }, - "1": { "Debuggingfeatures": 2 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GlobalArrays": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "Pointers": 1 }, - "8": { "Preprocessor": 1 }, - "9": { "ScriptKeywords": 1 }, - "10": { "UpgradeTo36": 1 } - }, - "constants": { - "0": { "Constants": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Keycodes": 2 }, - "3": { "UpgradeTo30": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "constrained": { - "0": { "AudioChannel": 1 } - }, - "construct": { - "0": { "EditorPlugins": 2 } - }, - "constructed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "constructing": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "construction": { - "0": { "ScriptKeywords": 1 } - }, - "constructor": { - "0": { "EditorPlugins": 5 } - }, - "constructors": { - "0": { "Pointers": 2 } - }, - "contact": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "contacts": { - "0": { "AnonymousUsageInfo": 1 } - }, - "contain": { - "0": { "acintro7": 2 }, - "1": { "acintro8": 1 }, - "2": { "BackingUpYourGame": 3 }, - "3": { "Copyright": 1 }, - "4": { "DistGame": 3 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorRoom": 2 }, - "7": { "EnginePluginRun-timeAPI": 3 }, - "8": { "File": 3 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 3 }, - "11": { "GlobalArrays": 2 }, - "12": { "Globalfunctions_Event": 1 }, - "13": { "Globalfunctions_Wait": 1 }, - "14": { "Lipsync": 1 }, - "15": { "ListBox": 2 }, - "16": { "MIDI-playback": 2 }, - "17": { "MultipleScripts": 2 }, - "18": { "Screen": 2 }, - "19": { "ScriptingTutorialPart1": 2 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "Settingupthegame": 1 }, - "22": { "String": 2 }, - "23": { "Translations": 1 }, - "24": { "Viewport": 2 } - }, - "contained": { - "0": { "InvWindow": 1 }, - "1": { "Set": 2 }, - "2": { "String": 1 } - }, - "containers": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 } - }, - "containing": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 3 }, - "4": { "EditorGUI": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "MusicAndSound": 1 }, - "7": { "Overlay": 3 }, - "8": { "Plugins": 1 }, - "9": { "Pointers": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "StandardTypes": 1 }, - "12": { "String": 1 }, - "13": { "System": 1 }, - "14": { "Templates": 1 }, - "15": { "Tumbleweed_door": 2 } - }, - "contains": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "DateTime": 1 }, - "4": { "DistGame": 2 }, - "5": { "EditorPlugins": 1 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "EnginePluginRun-timeAPI": 5 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_Event": 2 }, - "10": { "GUIControl": 6 }, - "11": { "Keycodes": 2 }, - "12": { "MIDI-playback": 2 }, - "13": { "Pointers": 1 }, - "14": { "Room": 1 }, - "15": { "ScriptingTutorialPart1": 3 }, - "16": { "Settingupthegame": 2 }, - "17": { "StandardEnums": 4 }, - "18": { "String": 1 }, - "19": { "Templates": 1 }, - "20": { "TemplateSierraStyle": 1 }, - "21": { "Tumbleweed_door": 1 }, - "22": { "UpgradeTo31": 1 }, - "23": { "UpgradeTo32": 1 }, - "24": { "UpgradeTo33": 2 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradeTo36": 2 }, - "27": { "UpgradingTo271": 1 } - }, - "contemporary": { - "0": { "GeneralSettings": 2 }, - "1": { "GraphicsDriver": 1 }, - "2": { "ScriptAPIOverview": 1 } - }, - "content": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "GeneralSettings": 3 }, - "2": { "UpgradeTo34": 2 }, - "3": { "VoiceSpeech": 1 } - }, - "contents": { - "0": { "Camera": 1 }, - "1": { "Copyright": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dictionary": 2 }, - "4": { "DistGame": 5 }, - "5": { "DrawingSurface": 1 }, - "6": { "DynamicArrays": 2 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 6 }, - "12": { "File": 4 }, - "13": { "Game": 1 }, - "14": { "GameSavesCompatibility": 2 }, - "15": { "GeneralSettings": 2 }, - "16": { "ListBox": 1 }, - "17": { "Room": 2 }, - "18": { "RuntimeEngine": 1 }, - "19": { "ScriptingTutorialPart2": 1 }, - "20": { "ScriptKeywords": 2 }, - "21": { "Templates": 2 }, - "22": { "TextBox": 1 }, - "23": { "TheScriptHeader": 1 }, - "24": { "TroubleshootingWindowsZoneID": 1 }, - "25": { "UpgradeTo341": 1 }, - "26": { "UpgradeTo35": 1 }, - "27": { "UpgradingTo271": 1 }, - "28": { "Viewport": 2 } - }, - "context": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "EditorRoom": 4 }, - "3": { "EditorSprite": 2 }, - "4": { "TemplateVerbcoin": 1 }, - "5": { "UpgradeTo33": 1 } - }, - "continually": { - "0": { "Button": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "EditorGUI": 1 } - }, - "continue": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "Button": 1 }, - "4": { "Character": 3 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "EditorDialog": 1 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "EnginePlugins": 2 }, - "11": { "File": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 4 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "Globalfunctions_Wait": 5 }, - "16": { "Multimedia": 3 }, - "17": { "MusicAndSound": 1 }, - "18": { "Object": 1 }, - "19": { "ScriptKeywords": 6 }, - "20": { "Settingupthegame": 1 }, - "21": { "System": 1 }, - "22": { "UpgradeTo31": 4 }, - "23": { "UpgradeTo32": 2 }, - "24": { "UpgradeTo34": 1 }, - "25": { "UpgradingTo27": 1 } - }, - "continues": { - "0": { "Character": 5 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "Multimedia": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "ScriptKeywords": 2 } - }, - "continuing": { - "0": { "acintro7": 1 }, - "1": { "Dialog": 1 }, - "2": { "Multimedia": 1 } - }, - "continuous": { - "0": { "Globalfunctions_Room": 3 } - }, - "continuously": { - "0": { "acintro9": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 2 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Object": 1 }, - "5": { "ScriptKeywords": 3 } - }, - "contrary": { - "0": { "Constants": 1 }, - "1": { "RepExec": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "contribute": { - "0": { "GameSavesCompatibility": 1 } - }, - "contributors": { - "0": { "Copyright": 4 }, - "1": { "Credits": 1 }, - "2": { "Introduction": 1 } - }, - "control": { - "0": { "acintro7": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "Character": 7 }, - "5": { "ColoursEditor": 2 }, - "6": { "DefaultSetup": 1 }, - "7": { "DialogScript": 1 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorGUI": 3 }, - "10": { "EditorLogPanel": 1 }, - "11": { "EditorRoom": 8 }, - "12": { "EditorSprite": 1 }, - "13": { "EngineConfigFile": 5 }, - "14": { "EnginePluginRun-timeAPI": 3 }, - "15": { "EventTypes": 2 }, - "16": { "Game": 3 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_General": 2 }, - "19": { "Globalfunctions_Message": 1 }, - "20": { "GUI": 8 }, - "21": { "GUIControl": 56 }, - "22": { "MIDI-playback": 2 }, - "23": { "Multimedia": 1 }, - "24": { "MusicAndSound": 3 }, - "25": { "Object": 3 }, - "26": { "ScriptAPIOverview": 3 }, - "27": { "Scripting": 1 }, - "28": { "ScriptingTutorial": 1 }, - "29": { "ScriptingTutorialPart1": 1 }, - "30": { "ScriptKeywords": 3 }, - "31": { "Settingupthegame": 5 }, - "32": { "SourceControl": 10 }, - "33": { "System": 4 }, - "34": { "TemplateSierraStyle": 1 }, - "35": { "TemplateVerbcoin": 2 }, - "36": { "TextParser": 1 }, - "37": { "Tumbleweed_actions": 1 }, - "38": { "UpgradeTo32": 3 }, - "39": { "UpgradeTo36": 3 }, - "40": { "UpgradeTo361": 3 }, - "41": { "UpgradingTo27": 1 } - }, - "control's": { - "0": { "GUI": 1 }, - "1": { "GUIControl": 5 }, - "2": { "Mouse": 1 } - }, - "controlName": { - "0": { "GUIControl": 6 } - }, - "controlToUpdate": { - "0": { "GUIControl": 3 } - }, - "controlX": { - "0": { "GUIControl": 2 } - }, - "controlY": { - "0": { "GUIControl": 2 } - }, - "controlled": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Mouse": 5 }, - "2": { "TemplateSierraStyle": 1 }, - "3": { "UpgradeTo32": 1 } - }, - "controlling": { - "0": { "Character": 1 }, - "1": { "DialogScript": 1 }, - "2": { "UpgradeTo32": 2 } - }, - "controls": { - "0": { "Button": 1 }, - "1": { "Character": 3 }, - "2": { "CustomDialogOptions": 2 }, - "3": { "Dialog": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "FAQ": 3 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 2 }, - "10": { "Gamevariables": 1 }, - "11": { "GeneralSettings": 6 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "GUI": 9 }, - "14": { "GUIControl": 17 }, - "15": { "ListBox": 1 }, - "16": { "MusicAndSound": 1 }, - "17": { "Templates": 1 }, - "18": { "TemplateVerbcoin": 1 }, - "19": { "UpgradingTo27": 3 } - }, - "convenience": { - "0": { "ExtenderFunctions": 1 }, - "1": { "Screen": 1 }, - "2": { "UpgradeTo361": 1 } - }, - "convenient": { - "0": { "Camera": 1 }, - "1": { "Dictionary": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "ImportingFunctionsAndVariables": 1 }, - "7": { "Object": 1 }, - "8": { "Preprocessor": 1 }, - "9": { "System": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "Viewport": 1 } - }, - "convention": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "EditorInventoryItems": 2 }, - "4": { "Plugins": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo32": 1 } - }, - "converge": { - "0": { "DrawingSurface": 1 } - }, - "conversation": { - "0": { "acintro8": 4 }, - "1": { "Dialog": 11 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DialogScript": 4 }, - "4": { "EditorDialog": 3 }, - "5": { "GeneralSettings": 2 }, - "6": { "Settingupthegame": 2 } - }, - "conversations": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 2 }, - "2": { "Character": 1 }, - "3": { "DialogScript": 1 }, - "4": { "EditorDialog": 1 }, - "5": { "Overlay": 2 }, - "6": { "Settingupthegame": 2 } - }, - "conversion": { - "0": { "Screen": 5 }, - "1": { "UpgradeTo35": 4 }, - "2": { "Viewport": 2 } - }, - "conversions": { - "0": { "Maths": 2 }, - "1": { "UpgradeTo35": 1 } - }, - "convert": { - "0": { "DistGame": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Maths": 11 }, - "5": { "Multimedia": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "Setup": 1 }, - "8": { "String": 2 }, - "9": { "UnicodeSupport": 1 }, - "10": { "UpgradeTo30": 1 }, - "11": { "UpgradeTo32": 1 }, - "12": { "UpgradeTo35": 1 }, - "13": { "UpgradeTo36": 2 } - }, - "converted": { - "0": { "EnginePluginRun-timeAPI": 4 }, - "1": { "FAQ": 1 }, - "2": { "Translations": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "converter": { - "0": { "Multimedia": 1 } - }, - "converting": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "String": 1 }, - "3": { "UpgradeTo31": 1 } - }, - "converts": { - "0": { "Maths": 1 }, - "1": { "Mouse": 1 } - }, - "cool": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "cooperation": { - "0": { "Copyright": 1 } - }, - "coordinate": { - "0": { "Character": 5 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "GUI": 1 }, - "4": { "Object": 1 }, - "5": { "Overlay": 2 }, - "6": { "Screen": 2 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Speech": 2 }, - "9": { "Viewport": 2 } - }, - "coordinates": { - "0": { "acintro3": 2 }, - "1": { "acintro7": 1 }, - "2": { "Camera": 3 }, - "3": { "Character": 6 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "Game": 3 }, - "7": { "GeneralSettings": 4 }, - "8": { "Globalfunctions_General": 7 }, - "9": { "Globalfunctions_Message": 1 }, - "10": { "GUI": 3 }, - "11": { "InventoryItem": 8 }, - "12": { "Mouse": 1 }, - "13": { "Object": 2 }, - "14": { "ObsoleteScriptAPI": 1 }, - "15": { "Overlay": 4 }, - "16": { "Room": 6 }, - "17": { "Screen": 5 }, - "18": { "Speech": 1 }, - "19": { "System": 4 }, - "20": { "Tumbleweed_door": 2 }, - "21": { "Tumbleweed_helper": 1 }, - "22": { "Tumbleweed_movement": 4 }, - "23": { "UpgradeTo35": 3 }, - "24": { "UpgradeTo36": 1 }, - "25": { "Viewport": 11 } - }, - "coordination": { - "0": { "Mouse": 1 } - }, - "cope": { - "0": { "Character": 1 } - }, - "copied": { - "0": { "DistGame": 3 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorView": 3 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Overlay": 1 }, - "5": { "Pointers": 2 }, - "6": { "TheScriptHeader": 1 } - }, - "copies": { - "0": { "DrawingSurface": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "SourceControl": 1 } - }, - "copy": { - "0": { "acintro9": 1 }, - "1": { "AudioInScript": 2 }, - "2": { "BackingUpYourGame": 1 }, - "3": { "Dictionary": 2 }, - "4": { "DrawingSurface": 5 }, - "5": { "DynamicArrays": 1 }, - "6": { "DynamicSprite": 18 }, - "7": { "EditorFont": 1 }, - "8": { "EditorLogPanel": 1 }, - "9": { "EditorPlugins": 2 }, - "10": { "EnginePluginDesign-timeAPI": 2 }, - "11": { "EnginePluginRun-timeAPI": 6 }, - "12": { "FAQ": 2 }, - "13": { "GameSavesCompatibility": 4 }, - "14": { "KeyboardShortcuts": 1 }, - "15": { "MusicAndSound": 3 }, - "16": { "Overlay": 4 }, - "17": { "Plugins": 1 }, - "18": { "Pointers": 2 }, - "19": { "ScriptingTutorialPart2": 1 }, - "20": { "ScriptKeywords": 2 }, - "21": { "String": 2 }, - "22": { "Templates": 1 }, - "23": { "Tumbleweed": 1 }, - "24": { "UpgradeTo32": 2 } - }, - "copying": { - "0": { "EditorSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Overlay": 2 }, - "3": { "ScriptKeywords": 1 } - }, - "copyright": { - "0": { "acintro9": 1 }, - "1": { "Copyright": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 } - }, - "core": { - "0": { "MusicAndSound": 1 } - }, - "corner": { - "0": { "acintro1": 1 }, - "1": { "Camera": 2 }, - "2": { "Character": 4 }, - "3": { "DialogOptionsRenderingInfo": 2 }, - "4": { "DrawingSurface": 2 }, - "5": { "DynamicSprite": 3 }, - "6": { "EditorGUI": 4 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "Game": 1 }, - "11": { "Globalfunctions_Message": 1 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "GUI": 1 }, - "14": { "GUIControl": 1 }, - "15": { "Lipsync": 1 }, - "16": { "Mouse": 1 }, - "17": { "Object": 1 }, - "18": { "Overlay": 2 }, - "19": { "Viewport": 1 } - }, - "corners": { - "0": { "DrawingSurface": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "corp": { - "0": { "Copyright": 1 } - }, - "corporation": { - "0": { "Copyright": 1 } - }, - "correct": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "DialogScript": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "GameSavesCompatibility": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "GUIControl": 1 }, - "11": { "ImportingFunctionsAndVariables": 1 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Setup": 1 }, - "16": { "Translations": 1 }, - "17": { "Tumbleweed_actions": 1 }, - "18": { "Tumbleweed_door": 1 }, - "19": { "Tumbleweed_helper": 1 }, - "20": { "UnicodeSupport": 1 } - }, - "corrected": { - "0": { "EditorLogPanel": 1 } - }, - "correctly": { - "0": { "acintro2": 1 }, - "1": { "BuildAndroid": 3 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 1 }, - "5": { "ListBox": 1 }, - "6": { "Object": 1 }, - "7": { "Screen": 2 }, - "8": { "SystemLimits": 1 }, - "9": { "Translations": 1 }, - "10": { "Viewport": 2 }, - "11": { "VoiceSpeech": 1 } - }, - "correspond": { - "0": { "Button": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Lipsync": 2 }, - "5": { "StringFormats": 1 }, - "6": { "TroubleshootingWindowsZoneID": 1 } - }, - "corresponding": { - "0": { "Character": 1 }, - "1": { "Constants": 3 }, - "2": { "DistGame": 2 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Globalfunctions_Event": 3 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Globalfunctions_Wait": 1 }, - "9": { "Keycodes": 2 }, - "10": { "Lipsync": 2 }, - "11": { "ListBox": 2 }, - "12": { "Plugins": 1 }, - "13": { "Screen": 2 }, - "14": { "StringFormats": 1 }, - "15": { "Translations": 2 }, - "16": { "Tumbleweed": 2 }, - "17": { "Tumbleweed_door": 1 }, - "18": { "UnicodeSupport": 1 }, - "19": { "UpgradeTo32": 1 }, - "20": { "UpgradeTo33": 1 }, - "21": { "UpgradeTo341": 2 }, - "22": { "UpgradeTo35": 1 }, - "23": { "UpgradeTo36": 2 }, - "24": { "UpgradeTo361": 1 }, - "25": { "Viewport": 2 } - }, - "correspondingly": { - "0": { "GeneralSettings": 1 } - }, - "corresponds": { - "0": { "CustomDialogOptions": 4 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 5 }, - "4": { "EventTypes": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "ScriptingTutorialPart1": 2 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Translations": 3 } - }, - "corrupt": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "corrupted": { - "0": { "EditorSprite": 1 } - }, - "cosine": { - "0": { "Maths": 9 } - }, - "cosmetic": { - "0": { "Preprocessor": 1 } - }, - "cost": { - "0": { "GeneralSettings": 1 } - }, - "costs": { - "0": { "GameSavesCompatibility": 1 } - }, - "could": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 2 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 1 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioClip": 1 }, - "8": { "Button": 1 }, - "9": { "Character": 3 }, - "10": { "Constants": 1 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "DateTime": 1 }, - "13": { "DialogScript": 1 }, - "14": { "DrawingSurface": 1 }, - "15": { "DynamicSprite": 2 }, - "16": { "EditorCommandLineOptions": 1 }, - "17": { "EditorInventoryItems": 1 }, - "18": { "EditorView": 1 }, - "19": { "EngineConfigFile": 1 }, - "20": { "EnginePluginRun-timeAPI": 11 }, - "21": { "EventTypes": 2 }, - "22": { "FAQ": 4 }, - "23": { "File": 1 }, - "24": { "Game": 5 }, - "25": { "GameSavesCompatibility": 3 }, - "26": { "GeneralSettings": 1 }, - "27": { "Globalfunctions_General": 6 }, - "28": { "Globalfunctions_Room": 1 }, - "29": { "GUI": 2 }, - "30": { "ImportingFunctionsAndVariables": 1 }, - "31": { "InventoryItem": 1 }, - "32": { "Label": 1 }, - "33": { "ListBox": 1 }, - "34": { "Mouse": 4 }, - "35": { "Multimedia": 3 }, - "36": { "MultipleScripts": 1 }, - "37": { "MusicAndSound": 2 }, - "38": { "OOProgramming": 1 }, - "39": { "Pointers": 7 }, - "40": { "Preprocessor": 2 }, - "41": { "Screen": 1 }, - "42": { "ScriptingTutorialPart1": 6 }, - "43": { "ScriptingTutorialPart2": 5 }, - "44": { "ScriptKeywords": 6 }, - "45": { "StandardEnums": 3 }, - "46": { "String": 1 }, - "47": { "StringFormats": 1 }, - "48": { "System": 1 }, - "49": { "SystemLimits": 1 }, - "50": { "Templates": 3 }, - "51": { "TemplateVerbcoin": 1 }, - "52": { "TextParser": 1 }, - "53": { "TroubleshootingWindowsZoneID": 1 }, - "54": { "Tumbleweed_extensions": 1 }, - "55": { "Tumbleweed_translation": 1 }, - "56": { "UnicodeSupport": 1 }, - "57": { "UpgradeTo31": 3 }, - "58": { "UpgradeTo34": 1 }, - "59": { "UpgradeTo35": 2 }, - "60": { "UpgradeTo36": 1 }, - "61": { "UpgradingTo271": 2 } - }, - "couldn't": { - "0": { "UpgradeTo31": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "count": { - "0": { "DynamicSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 9 }, - "2": { "Game": 3 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "ListBox": 2 }, - "5": { "UpgradeTo35": 3 } - }, - "counted": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Translations": 1 } - }, - "counter": { - "0": { "DefaultSetup": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Globalfunctions_Message": 4 }, - "5": { "RuntimeEngine": 1 }, - "6": { "ScriptingTutorialPart1": 3 }, - "7": { "ScriptingTutorialPart2": 10 }, - "8": { "ScriptKeywords": 5 } - }, - "counter-clockwise": { - "0": { "DynamicSprite": 1 } - }, - "counterpart": { - "0": { "RepExec": 1 } - }, - "counting": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Pointers": 1 } - }, - "counts": { - "0": { "File": 3 } - }, - "couple": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "acintro9": 2 }, - "4": { "Character": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "Globalfunctions_Message": 1 }, - "8": { "ScriptingTutorialPart2": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "SystemLimits": 1 }, - "11": { "TextParser": 1 }, - "12": { "UpgradeTo30": 1 } - }, - "course": { - "0": { "acintro8": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DynamicArrays": 2 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "OOProgramming": 1 }, - "8": { "RepExec": 1 }, - "9": { "ScriptingTutorialPart2": 2 }, - "10": { "Settingupthegame": 1 }, - "11": { "Setup": 1 }, - "12": { "Tumbleweed": 1 }, - "13": { "Tumbleweed_extensions": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "UpgradeTo35": 1 } - }, - "courtesy": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "cover": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "Globalfunctions_Message": 1 }, - "5": { "Screen": 1 }, - "6": { "UpgradeTo36": 1 }, - "7": { "Viewport": 1 } - }, - "covered": { - "0": { "acintro3": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 2 }, - "3": { "acintro9": 1 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "MIDI-playback": 1 }, - "6": { "OtherFeatures": 1 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "ScriptingTutorialPart2": 2 }, - "9": { "Tumbleweed": 1 }, - "10": { "Tumbleweed_extensions": 1 } - }, - "covering": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "FAQ": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "covers": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "Viewport": 1 } - }, - "crash": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 11 }, - "2": { "GameSavesCompatibility": 2 }, - "3": { "MusicAndSound": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "StringFormats": 1 } - }, - "crashed": { - "0": { "Globalfunctions_Room": 1 } - }, - "crashes": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "crazy": { - "0": { "GameSavesCompatibility": 1 } - }, - "create": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 2 }, - "6": { "acintro9": 4 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AudioInScript": 2 }, - "9": { "BuildAndroid": 2 }, - "10": { "Camera": 1 }, - "11": { "CustomProperties": 3 }, - "12": { "DefaultSetup": 2 }, - "13": { "DialogOptionsRenderingInfo": 1 }, - "14": { "Dictionary": 1 }, - "15": { "DistGame": 1 }, - "16": { "DrawingSurface": 1 }, - "17": { "DynamicArrays": 5 }, - "18": { "DynamicSprite": 6 }, - "19": { "EditorCharacter": 2 }, - "20": { "EditorCommandLineOptions": 2 }, - "21": { "EditorCursor": 3 }, - "22": { "EditorDialog": 2 }, - "23": { "EditorFont": 1 }, - "24": { "EditorGUI": 2 }, - "25": { "EditorPlugins": 3 }, - "26": { "EditorPreferences": 1 }, - "27": { "EditorRoom": 2 }, - "28": { "EditorSprite": 1 }, - "29": { "EditorView": 1 }, - "30": { "EngineConfigFile": 1 }, - "31": { "EnginePluginRun-timeAPI": 3 }, - "32": { "EnginePlugins": 1 }, - "33": { "ExtenderFunctions": 1 }, - "34": { "FAQ": 5 }, - "35": { "File": 2 }, - "36": { "Game": 7 }, - "37": { "GameSavesCompatibility": 5 }, - "38": { "GeneralSettings": 3 }, - "39": { "GlobalArrays": 1 }, - "40": { "Globalfunctions_General": 1 }, - "41": { "Globalfunctions_Screen": 1 }, - "42": { "GlobalVariables": 1 }, - "43": { "GUIControl": 2 }, - "44": { "Introduction": 1 }, - "45": { "Lipsync": 1 }, - "46": { "MIDI-playback": 1 }, - "47": { "Mouse": 1 }, - "48": { "MultipleScripts": 3 }, - "49": { "MusicAndSound": 4 }, - "50": { "ObsoleteScriptAPI": 1 }, - "51": { "Overlay": 5 }, - "52": { "Plugins": 1 }, - "53": { "Pointers": 3 }, - "54": { "Preprocessor": 1 }, - "55": { "RepExec": 4 }, - "56": { "ScriptKeywords": 4 }, - "57": { "ScriptModules": 2 }, - "58": { "Set": 1 }, - "59": { "Settingupthegame": 14 }, - "60": { "String": 3 }, - "61": { "StringFormats": 1 }, - "62": { "SystemRequirements": 2 }, - "63": { "Templates": 4 }, - "64": { "TheScriptHeader": 1 }, - "65": { "Tumbleweed": 5 }, - "66": { "Tutorial": 1 }, - "67": { "UpgradeTo30": 2 }, - "68": { "UpgradeTo32": 1 }, - "69": { "UpgradeTo33": 1 }, - "70": { "UpgradeTo34": 2 }, - "71": { "UpgradeTo341": 1 }, - "72": { "UpgradeTo35": 2 }, - "73": { "UpgradeTo36": 3 }, - "74": { "UpgradingTo27": 2 }, - "75": { "Viewport": 6 }, - "76": { "VoiceSpeech": 1 } - }, - "created": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 4 }, - "3": { "acintro3": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 2 }, - "6": { "acintro9": 1 }, - "7": { "AudioClip": 2 }, - "8": { "AudioInScript": 1 }, - "9": { "Camera": 3 }, - "10": { "Character": 2 }, - "11": { "Copyright": 3 }, - "12": { "CustomProperties": 1 }, - "13": { "DefaultSetup": 5 }, - "14": { "Dialog": 1 }, - "15": { "DialogScript": 1 }, - "16": { "Dictionary": 5 }, - "17": { "DistGame": 6 }, - "18": { "DrawingSurface": 1 }, - "19": { "DynamicArrays": 1 }, - "20": { "DynamicSprite": 2 }, - "21": { "EditorDialog": 1 }, - "22": { "EditorFont": 1 }, - "23": { "EditorPlugins": 2 }, - "24": { "EditorSprite": 1 }, - "25": { "EngineConfigFile": 1 }, - "26": { "EnginePluginRun-timeAPI": 6 }, - "27": { "FAQ": 4 }, - "28": { "File": 4 }, - "29": { "Game": 3 }, - "30": { "GameSavesCompatibility": 1 }, - "31": { "GeneralSettings": 1 }, - "32": { "Globalfunctions_Event": 1 }, - "33": { "Globalfunctions_General": 2 }, - "34": { "GUI": 1 }, - "35": { "GUIControl": 2 }, - "36": { "Hotspot": 1 }, - "37": { "InventoryItem": 1 }, - "38": { "Multimedia": 1 }, - "39": { "Object": 1 }, - "40": { "Overlay": 4 }, - "41": { "Pointers": 2 }, - "42": { "RepExec": 3 }, - "43": { "Screen": 2 }, - "44": { "ScriptingTutorialPart1": 1 }, - "45": { "ScriptKeywords": 4 }, - "46": { "Set": 1 }, - "47": { "Settingupthegame": 3 }, - "48": { "Translations": 2 }, - "49": { "Tumbleweed": 1 }, - "50": { "UpgradeTo33": 1 }, - "51": { "UpgradeTo341": 1 }, - "52": { "UpgradeTo35": 2 }, - "53": { "UpgradeTo36": 4 }, - "54": { "UpgradingTo271": 1 }, - "55": { "Viewport": 3 } - }, - "creates": { - "0": { "DialogOptionsRenderingInfo": 5 }, - "1": { "DynamicSprite": 7 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Overlay": 3 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "ScriptModules": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Templates": 1 }, - "9": { "Tumbleweed": 1 } - }, - "creating": { - "0": { "acintro": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorPlugins": 2 }, - "9": { "FAQ": 3 }, - "10": { "File": 4 }, - "11": { "GeneralSettings": 1 }, - "12": { "Overlay": 3 }, - "13": { "ScriptKeywords": 2 }, - "14": { "Settingupthegame": 1 }, - "15": { "Tumbleweed": 1 }, - "16": { "UpgradeTo36": 1 } - }, - "creation": { - "0": { "Copyright": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "ImportingFunctionsAndVariables": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "credits": { - "0": { "Copyright": 1 }, - "1": { "FAQ": 1 } - }, - "critical": { - "0": { "EngineConfigFile": 1 } - }, - "crm": { - "0": { "UpgradeTo35": 1 } - }, - "cross": { - "0": { "Camera": 3 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "cross-hair": { - "0": { "GeneralSettings": 1 } - }, - "crosses": { - "0": { "acintro3": 1 } - }, - "crosshair": { - "0": { "acintro5": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "GeneralSettings": 2 } - }, - "crucial": { - "0": { "EditorSprite": 1 } - }, - "cryptic": { - "0": { "Preprocessor": 1 } - }, - "ctrl": { - "0": { "EditorRoom": 1 }, - "1": { "FAQ": 1 }, - "2": { "Globalfunctions_Event": 3 }, - "3": { "UpgradeTo36": 2 } - }, - "cue": { - "0": { "Game": 3 }, - "1": { "GeneralSettings": 1 } - }, - "cues": { - "0": { "GeneralSettings": 1 } - }, - "cunningly": { - "0": { "acintro4": 1 } - }, - "cup": { - "0": { "acintro4": 4 }, - "1": { "Tumbleweed": 6 } - }, - "cupboard": { - "0": { "Game": 1 } - }, - "cur": { - "0": { "Label": 1 } - }, - "curFrame": { - "0": { "Camera": 2 } - }, - "curSpeech": { - "0": { "Speech": 5 } - }, - "curly": { - "0": { "acintro3": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "current": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "AudioChannel": 6 }, - "5": { "Button": 2 }, - "6": { "Camera": 7 }, - "7": { "Character": 46 }, - "8": { "CustomDialogOptions": 2 }, - "9": { "DateTime": 4 }, - "10": { "Debuggingfeatures": 3 }, - "11": { "Dialog": 1 }, - "12": { "DialogOptionsRenderingInfo": 1 }, - "13": { "DialogScript": 6 }, - "14": { "DistGame": 1 }, - "15": { "DrawingSurface": 15 }, - "16": { "DynamicSprite": 10 }, - "17": { "EditorCursor": 1 }, - "18": { "EditorGUI": 6 }, - "19": { "EditorRoom": 2 }, - "20": { "EngineConfigFile": 8 }, - "21": { "EnginePluginDesign-timeAPI": 5 }, - "22": { "EnginePluginRun-timeAPI": 29 }, - "23": { "EventTypes": 1 }, - "24": { "FAQ": 2 }, - "25": { "File": 3 }, - "26": { "Game": 7 }, - "27": { "Gamevariables": 2 }, - "28": { "GeneralSettings": 5 }, - "29": { "Globalfunctions_Event": 1 }, - "30": { "Globalfunctions_General": 21 }, - "31": { "Globalfunctions_Message": 2 }, - "32": { "Globalfunctions_Room": 9 }, - "33": { "Globalfunctions_Screen": 2 }, - "34": { "Globalfunctions_Wait": 2 }, - "35": { "Hotspot": 1 }, - "36": { "InventoryItem": 5 }, - "37": { "InvWindow": 1 }, - "38": { "Label": 1 }, - "39": { "ListBox": 1 }, - "40": { "Mouse": 12 }, - "41": { "Multimedia": 2 }, - "42": { "Object": 21 }, - "43": { "Overlay": 2 }, - "44": { "Pointers": 1 }, - "45": { "Region": 6 }, - "46": { "RepExec": 1 }, - "47": { "Room": 19 }, - "48": { "Screen": 1 }, - "49": { "ScriptAPIOverview": 1 }, - "50": { "ScriptingTutorialPart1": 3 }, - "51": { "ScriptKeywords": 8 }, - "52": { "Settingupthegame": 4 }, - "53": { "Setup": 1 }, - "54": { "Slider": 1 }, - "55": { "Speech": 2 }, - "56": { "System": 6 }, - "57": { "TemplateSierraStyle": 1 }, - "58": { "TextParser": 2 }, - "59": { "Translations": 1 }, - "60": { "Tumbleweed": 2 }, - "61": { "Tumbleweed_actions": 2 }, - "62": { "Tumbleweed_door": 1 }, - "63": { "Tumbleweed_movement": 1 }, - "64": { "UpgradeTo31": 1 }, - "65": { "UpgradingTo27": 1 } - }, - "currently": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 2 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "AnonymousUsageInfo": 1 }, - "5": { "AudioChannel": 10 }, - "6": { "AudioClip": 1 }, - "7": { "Button": 9 }, - "8": { "Character": 15 }, - "9": { "CustomDialogOptions": 2 }, - "10": { "Dialog": 1 }, - "11": { "DialogOptionsRenderingInfo": 2 }, - "12": { "DialogScript": 2 }, - "13": { "Dictionary": 1 }, - "14": { "DynamicArrays": 1 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorSprite": 2 }, - "17": { "EditorView": 1 }, - "18": { "EngineConfigFile": 1 }, - "19": { "EnginePluginDesign-timeAPI": 2 }, - "20": { "EnginePluginRun-timeAPI": 18 }, - "21": { "EnginePlugins": 1 }, - "22": { "Game": 10 }, - "23": { "GameSavesCompatibility": 1 }, - "24": { "GeneralSettings": 2 }, - "25": { "Globalfunctions_Event": 1 }, - "26": { "Globalfunctions_General": 5 }, - "27": { "Globalfunctions_Message": 1 }, - "28": { "Globalfunctions_Room": 1 }, - "29": { "Globalfunctions_Screen": 1 }, - "30": { "GraphicsDriver": 1 }, - "31": { "GUI": 3 }, - "32": { "ImportingFunctionsAndVariables": 1 }, - "33": { "InventoryItem": 1 }, - "34": { "InvWindow": 3 }, - "35": { "Label": 2 }, - "36": { "Lipsync": 1 }, - "37": { "ListBox": 4 }, - "38": { "Mouse": 4 }, - "39": { "Multimedia": 3 }, - "40": { "MusicAndSound": 2 }, - "41": { "Object": 15 }, - "42": { "Overlay": 2 }, - "43": { "Plugins": 1 }, - "44": { "Region": 2 }, - "45": { "RuntimeEngine": 1 }, - "46": { "ScriptingTutorialPart1": 1 }, - "47": { "ScriptingTutorialPart2": 1 }, - "48": { "ScriptKeywords": 1 }, - "49": { "Set": 1 }, - "50": { "Settingupthegame": 2 }, - "51": { "Setup": 1 }, - "52": { "SourceControl": 1 }, - "53": { "Speech": 4 }, - "54": { "StartingOff": 1 }, - "55": { "System": 3 }, - "56": { "SystemLimits": 1 }, - "57": { "TemplateVerbcoin": 4 }, - "58": { "Tumbleweed": 1 }, - "59": { "Tumbleweed_extensions": 1 }, - "60": { "Tumbleweed_helper": 1 }, - "61": { "UpgradeTo32": 1 }, - "62": { "UpgradeTo35": 2 }, - "63": { "UpgradeTo36": 1 }, - "64": { "Viewport": 3 } - }, - "cursor": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 10 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 14 }, - "5": { "Character": 6 }, - "6": { "CustomDialogOptions": 2 }, - "7": { "DefaultSetup": 4 }, - "8": { "EditorCursor": 15 }, - "9": { "EditorGUI": 3 }, - "10": { "EditorInventoryItems": 9 }, - "11": { "EditorRoom": 1 }, - "12": { "EditorSprite": 1 }, - "13": { "EngineConfigFile": 5 }, - "14": { "EnginePluginRun-timeAPI": 10 }, - "15": { "EventTypes": 3 }, - "16": { "Game": 2 }, - "17": { "GameEventsOrder": 4 }, - "18": { "GameSavesCompatibility": 1 }, - "19": { "GeneralSettings": 13 }, - "20": { "Globalfunctions_General": 9 }, - "21": { "GUI": 3 }, - "22": { "Hotspot": 2 }, - "23": { "InventoryItem": 9 }, - "24": { "Label": 2 }, - "25": { "Mouse": 57 }, - "26": { "Object": 3 }, - "27": { "Region": 2 }, - "28": { "Room": 3 }, - "29": { "Screen": 3 }, - "30": { "Settingupthegame": 15 }, - "31": { "Setup": 1 }, - "32": { "StandardEnums": 1 }, - "33": { "TemplateBASS": 4 }, - "34": { "TemplateSierraStyle": 4 }, - "35": { "TemplateVerbcoin": 2 }, - "36": { "Tumbleweed": 2 }, - "37": { "Tumbleweed_actions": 2 }, - "38": { "Tumbleweed_helper": 1 }, - "39": { "UpgradeTo35": 2 }, - "40": { "UpgradeTo361": 1 }, - "41": { "Viewport": 3 } - }, - "cursor's": { - "0": { "acintro9": 1 }, - "1": { "EditorCursor": 2 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "GUI": 1 }, - "5": { "Mouse": 4 } - }, - "cursors": { - "0": { "acintro5": 2 }, - "1": { "acintro6": 1 }, - "2": { "acintro9": 10 }, - "3": { "EditorCursor": 1 }, - "4": { "Game": 3 }, - "5": { "GeneralSettings": 2 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Mouse": 1 }, - "8": { "StandardEnums": 1 } - }, - "curved": { - "0": { "acintro2": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "custom": { - "0": { "acintro5": 2 }, - "1": { "AudioClip": 2 }, - "2": { "Character": 7 }, - "3": { "CustomDialogOptions": 5 }, - "4": { "CustomProperties": 4 }, - "5": { "DefaultSetup": 4 }, - "6": { "Dialog": 3 }, - "7": { "DialogOptionsRenderingInfo": 2 }, - "8": { "DialogScript": 6 }, - "9": { "DistGame": 8 }, - "10": { "DynamicArrays": 2 }, - "11": { "EditorCursor": 1 }, - "12": { "EditorDialog": 1 }, - "13": { "EditorGUI": 2 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EngineConfigFile": 3 }, - "16": { "EnginePluginRun-timeAPI": 6 }, - "17": { "EventTypes": 3 }, - "18": { "ExtenderFunctions": 2 }, - "19": { "FAQ": 1 }, - "20": { "File": 4 }, - "21": { "Game": 2 }, - "22": { "GameSavesCompatibility": 3 }, - "23": { "GeneralSettings": 6 }, - "24": { "Globalfunctions_Event": 1 }, - "25": { "GUI": 2 }, - "26": { "GUIControl": 1 }, - "27": { "Hotspot": 6 }, - "28": { "InventoryItem": 7 }, - "29": { "MIDI-playback": 1 }, - "30": { "Mouse": 2 }, - "31": { "MultipleScripts": 2 }, - "32": { "Object": 7 }, - "33": { "Overlay": 1 }, - "34": { "Parser": 1 }, - "35": { "Pointers": 2 }, - "36": { "Room": 5 }, - "37": { "RuntimeEngine": 1 }, - "38": { "Screen": 2 }, - "39": { "ScriptAPIOverview": 2 }, - "40": { "ScriptingTutorialPart2": 1 }, - "41": { "ScriptKeywords": 4 }, - "42": { "Settingupthegame": 3 }, - "43": { "Setup": 1 }, - "44": { "Speech": 1 }, - "45": { "TextWindowGUI": 2 }, - "46": { "Tumbleweed": 1 }, - "47": { "Tumbleweed_door": 2 }, - "48": { "UpgradeTo335": 2 }, - "49": { "UpgradeTo34": 5 }, - "50": { "UpgradeTo35": 4 }, - "51": { "UpgradeTo36": 8 }, - "52": { "UpgradeTo361": 2 }, - "53": { "UpgradingTo271": 1 } - }, - "customizable": { - "0": { "ListBox": 1 } - }, - "customization": { - "0": { "Game": 1 } - }, - "customize": { - "0": { "acintro9": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_Message": 1 }, - "5": { "Setup": 1 }, - "6": { "TemplateVerbcoin": 1 }, - "7": { "Tumbleweed_extensions": 1 }, - "8": { "Tumbleweed_translation": 3 }, - "9": { "UpgradeTo33": 1 }, - "10": { "Viewport": 1 } - }, - "customized": { - "0": { "Tumbleweed_translation": 1 } - }, - "cut": { - "0": { "acintro8": 1 }, - "1": { "DrawingSurface": 9 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorView": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "KeyboardShortcuts": 1 } - }, - "cut-scene": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "cutscene": { - "0": { "acintro7": 3 }, - "1": { "acintro9": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "Camera": 1 }, - "4": { "EditorCursor": 1 }, - "5": { "Game": 8 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Event": 2 }, - "8": { "Globalfunctions_General": 14 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "GUIControl": 2 }, - "11": { "ObsoleteScriptAPI": 2 }, - "12": { "Settingupthegame": 2 }, - "13": { "Viewport": 1 } - }, - "cutscenes": { - "0": { "acintro": 1 }, - "1": { "acintro7": 3 }, - "2": { "acintro9": 1 }, - "3": { "Character": 1 }, - "4": { "EventTypes": 1 }, - "5": { "Game": 2 }, - "6": { "Globalfunctions_Room": 1 }, - "7": { "Mouse": 1 }, - "8": { "RepExec": 1 }, - "9": { "StartingOff": 1 } - }, - "cutting": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Multimedia": 1 } - }, - "cycle": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 3 }, - "5": { "Globalfunctions_Palette": 1 }, - "6": { "Settingupthegame": 2 } - }, - "cycled": { - "0": { "acintro9": 1 }, - "1": { "Globalfunctions_Palette": 1 } - }, - "cycles": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Button": 1 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Globalfunctions_Screen": 2 }, - "4": { "Globalfunctions_Wait": 1 }, - "5": { "Lipsync": 1 }, - "6": { "Overlay": 2 } - }, - "cycling": { - "0": { "acintro9": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Mouse": 2 }, - "5": { "Object": 1 }, - "6": { "Settingupthegame": 1 } - }, - "d-bit": { - "0": { "DynamicSprite": 1 }, - "1": { "Room": 1 }, - "2": { "System": 1 } - }, - "dDialogName": { - "0": { "acintro8": 1 } - }, - "dExampleDialog": { - "0": { "Dialog": 1 } - }, - "dFisherman": { - "0": { "Dialog": 9 } - }, - "dJoeBloggs": { - "0": { "Dialog": 3 } - }, - "dJoeExcited": { - "0": { "Dialog": 4 } - }, - "dMerchant": { - "0": { "acintro8": 3 }, - "1": { "Dialog": 2 } - }, - "dOldMan": { - "0": { "Dialog": 2 } - }, - "dWares": { - "0": { "acintro8": 5 } - }, - "daemon": { - "0": { "EditorPreferences": 2 } - }, - "dagger": { - "0": { "ScriptKeywords": 1 }, - "1": { "TextParser": 1 } - }, - "damage": { - "0": { "OOProgramming": 30 }, - "1": { "ScriptKeywords": 7 } - }, - "dance": { - "0": { "ScriptingTutorialPart2": 4 } - }, - "dark": { - "0": { "Globalfunctions_Message": 1 } - }, - "darken": { - "0": { "Globalfunctions_General": 1 } - }, - "darkening": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Character": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 1 } - }, - "darker": { - "0": { "AdvancedRoomFeatures": 2 } - }, - "dat": { - "0": { "File": 19 }, - "1": { "Game": 1 }, - "2": { "GUI": 2 }, - "3": { "GUIControl": 1 }, - "4": { "Lipsync": 3 }, - "5": { "ListBox": 1 }, - "6": { "Pointers": 1 }, - "7": { "UpgradeTo36": 2 } - }, - "data": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Copyright": 1 }, - "2": { "Credits": 1 }, - "3": { "DefaultSetup": 5 }, - "4": { "Dictionary": 1 }, - "5": { "DistGame": 13 }, - "6": { "EditorPlugins": 2 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EngineConfigFile": 4 }, - "10": { "EnginePluginDesign-timeAPI": 3 }, - "11": { "EnginePluginRun-timeAPI": 47 }, - "12": { "File": 13 }, - "13": { "GameSavesCompatibility": 9 }, - "14": { "GeneralSettings": 7 }, - "15": { "Globalfunctions_Event": 2 }, - "16": { "Globalfunctions_General": 3 }, - "17": { "Globalfunctions_Room": 1 }, - "18": { "Lipsync": 2 }, - "19": { "ListBox": 2 }, - "20": { "MIDI-playback": 4 }, - "21": { "Multimedia": 1 }, - "22": { "MultipleScripts": 1 }, - "23": { "Object": 1 }, - "24": { "OOProgramming": 5 }, - "25": { "Pointers": 2 }, - "26": { "RuntimeEngine": 11 }, - "27": { "ScriptingTutorialPart2": 3 }, - "28": { "ScriptKeywords": 8 }, - "29": { "Set": 1 }, - "30": { "Setup": 2 }, - "31": { "TroubleshootingWindowsZoneID": 8 }, - "32": { "UpgradeTo30": 1 }, - "33": { "UpgradeTo335": 2 }, - "34": { "UpgradeTo35": 1 }, - "35": { "UpgradeTo36": 1 }, - "36": { "UpgradingTo27": 1 }, - "37": { "UpgradingTo271": 1 } - }, - "dataSize": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "datadir": { - "0": { "EngineConfigFile": 1 }, - "1": { "File": 1 } - }, - "datafile": { - "0": { "EngineConfigFile": 1 } - }, - "dataver": { - "0": { "EngineConfigFile": 1 } - }, - "date": { - "0": { "DateTime": 3 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "daunting": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "Pointers": 1 } - }, - "day": { - "0": { "DateTime": 2 } - }, - "day-to-night": { - "0": { "DrawingSurface": 1 } - }, - "days": { - "0": { "EditorPreferences": 1 }, - "1": { "Region": 1 } - }, - "de-compiling": { - "0": { "DistGame": 1 } - }, - "de-serialization": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "de-serializing": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "deal": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "Pointers": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "dealing": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "deals": { - "0": { "EditorPlugins": 1 } - }, - "death": { - "0": { "Button": 1 } - }, - "debug": { - "0": { "acintro1": 1 }, - "1": { "Constants": 2 }, - "2": { "Debuggingfeatures": 2 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorPreferences": 2 }, - "5": { "EngineConfigFile": 3 }, - "6": { "EnginePluginRun-timeAPI": 4 }, - "7": { "File": 1 }, - "8": { "Gamevariables": 2 }, - "9": { "GeneralSettings": 3 }, - "10": { "Globalfunctions_General": 3 }, - "11": { "InventoryItem": 1 }, - "12": { "RuntimeEngine": 2 }, - "13": { "System": 2 } - }, - "debug-specific": { - "0": { "Debuggingfeatures": 1 } - }, - "debugger": { - "0": { "acintro2": 1 }, - "1": { "Debuggingfeatures": 3 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "EnginePluginRun-timeAPI": 4 }, - "5": { "System": 2 }, - "6": { "UpgradeTo30": 2 } - }, - "debugging": { - "0": { "AudioClip": 1 }, - "1": { "Debuggingfeatures": 3 }, - "2": { "Dialog": 1 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "File": 2 }, - "7": { "Game": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "GUIControl": 1 } - }, - "decade": { - "0": { "UpgradeTo361": 1 } - }, - "decades": { - "0": { "UpgradeTo36": 1 } - }, - "decent": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "decide": { - "0": { "acintro1": 3 }, - "1": { "acintro5": 1 }, - "2": { "AnonymousUsageInfo": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 2 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "MusicAndSound": 2 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "ScriptingTutorialPart2": 1 }, - "11": { "Settingupthegame": 2 }, - "12": { "UpgradeTo31": 1 }, - "13": { "UpgradeTo34": 1 } - }, - "decided": { - "0": { "acintro1": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "decides": { - "0": { "acintro6": 1 }, - "1": { "EditorCursor": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "Settingupthegame": 1 } - }, - "deciding": { - "0": { "Translations": 1 } - }, - "decimal": { - "0": { "ScriptKeywords": 1 }, - "1": { "StringFormats": 1 } - }, - "decision": { - "0": { "acintro1": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 } - }, - "decisions": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Settingupthegame": 1 } - }, - "declaration": { - "0": { "DialogScript": 2 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "ImportingFunctionsAndVariables": 9 }, - "3": { "Overlay": 2 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptKeywords": 7 }, - "7": { "UpgradeTo35": 2 } - }, - "declarations": { - "0": { "ImportingFunctionsAndVariables": 2 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "TheScriptHeader": 2 } - }, - "declare": { - "0": { "DynamicArrays": 2 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "FAQ": 1 }, - "4": { "File": 1 }, - "5": { "GlobalArrays": 1 }, - "6": { "GlobalVariables": 1 }, - "7": { "ImportingFunctionsAndVariables": 1 }, - "8": { "OOProgramming": 1 }, - "9": { "Pointers": 1 }, - "10": { "ScriptingTutorialPart1": 3 }, - "11": { "ScriptKeywords": 9 }, - "12": { "TheScriptHeader": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "declared": { - "0": { "DialogScript": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "ExtenderFunctions": 1 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 3 }, - "6": { "GeneralSettings": 1 }, - "7": { "GlobalArrays": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "GlobalVariables": 1 }, - "10": { "ImportingFunctionsAndVariables": 5 }, - "11": { "OOProgramming": 1 }, - "12": { "Pointers": 4 }, - "13": { "Preprocessor": 1 }, - "14": { "ScriptKeywords": 4 }, - "15": { "ScriptModules": 2 }, - "16": { "UpgradeTo34": 1 }, - "17": { "UpgradeTo35": 1 }, - "18": { "UpgradeTo361": 1 } - }, - "declares": { - "0": { "Pointers": 1 }, - "1": { "ScriptKeywords": 4 }, - "2": { "SystemLimits": 1 } - }, - "declaring": { - "0": { "GlobalVariables": 1 }, - "1": { "ImportingFunctionsAndVariables": 2 }, - "2": { "Pointers": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "decoder": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "decoding": { - "0": { "Copyright": 2 }, - "1": { "DistGame": 2 } - }, - "decrease": { - "0": { "AudioChannel": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "Overlay": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "Setup": 1 } - }, - "decreasing": { - "0": { "EngineConfigFile": 1 } - }, - "dedicated": { - "0": { "FAQ": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "deduce": { - "0": { "EngineConfigFile": 1 } - }, - "deep": { - "0": { "SystemLimits": 1 } - }, - "def": { - "0": { "EngineConfigFile": 1 }, - "1": { "Tumbleweed_actions": 1 } - }, - "default": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 2 }, - "6": { "acintro9": 2 }, - "7": { "AdvancedRoomFeatures": 6 }, - "8": { "AudioChannel": 2 }, - "9": { "Button": 5 }, - "10": { "Camera": 4 }, - "11": { "Character": 31 }, - "12": { "Constants": 1 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "CustomProperties": 6 }, - "15": { "Debuggingfeatures": 1 }, - "16": { "DefaultSetup": 6 }, - "17": { "Dialog": 1 }, - "18": { "DialogScript": 2 }, - "19": { "DistGame": 1 }, - "20": { "DrawingSurface": 2 }, - "21": { "DynamicSprite": 2 }, - "22": { "EditorDialog": 1 }, - "23": { "EditorFont": 1 }, - "24": { "EditorGUI": 3 }, - "25": { "EditorInventoryItems": 1 }, - "26": { "EditorLogPanel": 2 }, - "27": { "EditorPreferences": 2 }, - "28": { "EditorRoom": 1 }, - "29": { "EditorView": 1 }, - "30": { "EngineConfigFile": 9 }, - "31": { "EnginePluginRun-timeAPI": 4 }, - "32": { "FAQ": 1 }, - "33": { "File": 1 }, - "34": { "Game": 17 }, - "35": { "GameSavesCompatibility": 3 }, - "36": { "Gamevariables": 14 }, - "37": { "GeneralSettings": 7 }, - "38": { "Globalfunctions_Event": 1 }, - "39": { "Globalfunctions_General": 5 }, - "40": { "Globalfunctions_Message": 3 }, - "41": { "Globalfunctions_Palette": 1 }, - "42": { "Globalfunctions_Room": 1 }, - "43": { "Globalfunctions_Screen": 3 }, - "44": { "GlobalVariables": 2 }, - "45": { "GraphicsDriver": 1 }, - "46": { "GUIControl": 1 }, - "47": { "Hotspot": 1 }, - "48": { "ImportingFunctionsAndVariables": 1 }, - "49": { "InvWindow": 3 }, - "50": { "ListBox": 1 }, - "51": { "Maths": 1 }, - "52": { "Mouse": 4 }, - "53": { "Multimedia": 2 }, - "54": { "MusicAndSound": 5 }, - "55": { "Object": 9 }, - "56": { "OOProgramming": 1 }, - "57": { "RepExec": 1 }, - "58": { "Screen": 4 }, - "59": { "ScriptAPIOverview": 5 }, - "60": { "ScriptingTutorialPart2": 1 }, - "61": { "ScriptKeywords": 11 }, - "62": { "Settingupthegame": 7 }, - "63": { "Setup": 4 }, - "64": { "Slider": 2 }, - "65": { "Speech": 6 }, - "66": { "String": 4 }, - "67": { "System": 2 }, - "68": { "TemplateBASS": 5 }, - "69": { "Templates": 1 }, - "70": { "TemplateSierraStyle": 3 }, - "71": { "TextBox": 1 }, - "72": { "TextWindowGUI": 1 }, - "73": { "TroubleshootingWindowsZoneID": 2 }, - "74": { "Tumbleweed": 5 }, - "75": { "Tumbleweed_actions": 3 }, - "76": { "Tumbleweed_door": 3 }, - "77": { "Tumbleweed_extensions": 7 }, - "78": { "Tumbleweed_movement": 3 }, - "79": { "Tumbleweed_translation": 1 }, - "80": { "Tumbleweed_unhandled": 2 }, - "81": { "UnicodeSupport": 1 }, - "82": { "UpgradeTo31": 1 }, - "83": { "UpgradeTo32": 1 }, - "84": { "UpgradeTo33": 1 }, - "85": { "UpgradeTo335": 2 }, - "86": { "UpgradeTo34": 1 }, - "87": { "UpgradeTo341": 2 }, - "88": { "UpgradeTo35": 4 }, - "89": { "UpgradeTo36": 4 }, - "90": { "UpgradeTo361": 1 }, - "91": { "UpgradingTo27": 1 }, - "92": { "ViewFrame": 1 }, - "93": { "Viewport": 4 }, - "94": { "VoiceSpeech": 1 } - }, - "default-sound": { - "0": { "AudioClip": 1 } - }, - "defaults": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "FAQ": 2 }, - "4": { "GeneralSettings": 1 }, - "5": { "TemplateVerbcoin": 1 } - }, - "define": { - "0": { "acintro2": 4 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro8": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "FAQ": 2 }, - "10": { "File": 1 }, - "11": { "GameSavesCompatibility": 2 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "Globalfunctions_Message": 2 }, - "14": { "OOProgramming": 3 }, - "15": { "Pointers": 2 }, - "16": { "Preprocessor": 7 }, - "17": { "Room": 1 }, - "18": { "RuntimeEngine": 1 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "ScriptKeywords": 4 }, - "21": { "Settingupthegame": 2 }, - "22": { "Setup": 2 }, - "23": { "Speech": 2 }, - "24": { "Translations": 1 }, - "25": { "Tumbleweed_actions": 1 }, - "26": { "Tumbleweed_door": 1 }, - "27": { "Tumbleweed_extensions": 1 }, - "28": { "Tumbleweed_player": 1 }, - "29": { "Tumbleweed_translation": 6 }, - "30": { "UpgradeTo33": 1 }, - "31": { "UpgradeTo34": 1 }, - "32": { "UpgradeTo35": 1 }, - "33": { "Viewport": 1 } - }, - "defined": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "Character": 5 }, - "4": { "Constants": 8 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorRoom": 1 }, - "8": { "EngineConfigFile": 4 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "EventTypes": 1 }, - "11": { "FAQ": 1 }, - "12": { "GeneralSettings": 4 }, - "13": { "GlobalArrays": 1 }, - "14": { "Globalfunctions_Event": 3 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Message": 1 }, - "17": { "GUI": 1 }, - "18": { "Hotspot": 2 }, - "19": { "ImportingFunctionsAndVariables": 2 }, - "20": { "InventoryItem": 1 }, - "21": { "Maths": 2 }, - "22": { "Object": 2 }, - "23": { "OOProgramming": 1 }, - "24": { "Pointers": 1 }, - "25": { "Preprocessor": 3 }, - "26": { "Region": 1 }, - "27": { "RuntimeEngine": 2 }, - "28": { "Settingupthegame": 1 }, - "29": { "Speech": 1 }, - "30": { "System": 1 }, - "31": { "TemplateSierraStyle": 1 }, - "32": { "TroubleshootingWindowsZoneID": 1 }, - "33": { "Tumbleweed": 4 }, - "34": { "Tumbleweed_actions": 1 }, - "35": { "Tumbleweed_door": 2 }, - "36": { "Tumbleweed_helper": 1 }, - "37": { "Tumbleweed_movement": 2 }, - "38": { "Tumbleweed_unhandled": 1 }, - "39": { "UpgradeTo35": 3 }, - "40": { "UpgradingTo27": 1 }, - "41": { "Viewport": 2 } - }, - "defines": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "DefaultSetup": 6 }, - "3": { "Dictionary": 2 }, - "4": { "EditorDialog": 1 }, - "5": { "EditorFont": 2 }, - "6": { "EditorGUI": 2 }, - "7": { "EditorRoom": 1 }, - "8": { "EngineConfigFile": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "EventTypes": 1 }, - "11": { "GeneralSettings": 8 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "Globalfunctions_Message": 2 }, - "14": { "Keycodes": 1 }, - "15": { "Multimedia": 1 }, - "16": { "Overlay": 1 }, - "17": { "ScriptAPIOverview": 4 }, - "18": { "ScriptingTutorialPart1": 1 }, - "19": { "Set": 2 }, - "20": { "Settingupthegame": 1 }, - "21": { "Tumbleweed_actions": 1 }, - "22": { "Tumbleweed_translation": 3 }, - "23": { "UpgradeTo34": 2 }, - "24": { "UpgradeTo35": 1 } - }, - "defining": { - "0": { "DialogScript": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "FAQ": 1 }, - "3": { "GlobalVariables": 1 }, - "4": { "Keycodes": 1 }, - "5": { "OOProgramming": 2 }, - "6": { "ScriptKeywords": 1 }, - "7": { "UpgradeTo35": 1 } - }, - "definition": { - "0": { "EditorPlugins": 2 }, - "1": { "EngineConfigFile": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "OOProgramming": 1 }, - "4": { "ScriptingTutorialPart1": 2 }, - "5": { "ScriptKeywords": 2 }, - "6": { "UpgradeTo36": 1 } - }, - "definitions": { - "0": { "MultipleScripts": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "deformed": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "defview": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "degree": { - "0": { "Globalfunctions_Room": 1 } - }, - "degrees": { - "0": { "DynamicSprite": 4 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Maths": 23 } - }, - "dekstop": { - "0": { "EngineConfigFile": 1 } - }, - "delay": { - "0": { "acintro7": 1 }, - "1": { "Button": 2 }, - "2": { "Character": 9 }, - "3": { "EditorRoom": 1 }, - "4": { "EditorView": 9 }, - "5": { "GeneralSettings": 5 }, - "6": { "Globalfunctions_Screen": 1 }, - "7": { "Object": 2 }, - "8": { "Settingupthegame": 1 }, - "9": { "Speech": 6 }, - "10": { "UpgradeTo33": 5 } - }, - "delays": { - "0": { "Game": 1 } - }, - "delete": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Camera": 3 }, - "2": { "DefaultSetup": 2 }, - "3": { "DynamicSprite": 3 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 1 }, - "8": { "File": 1 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "Pointers": 1 }, - "13": { "Screen": 1 }, - "14": { "Settingupthegame": 3 }, - "15": { "UpgradeTo341": 1 }, - "16": { "Viewport": 3 } - }, - "deleted": { - "0": { "AudioInScript": 1 }, - "1": { "Camera": 1 }, - "2": { "DynamicArrays": 7 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "File": 1 }, - "6": { "Game": 1 }, - "7": { "Overlay": 3 }, - "8": { "Preprocessor": 1 }, - "9": { "Screen": 1 } - }, - "deletes": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "FAQ": 1 }, - "2": { "Globalfunctions_General": 3 } - }, - "deleting": { - "0": { "DynamicSprite": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Lipsync": 1 } - }, - "delivered": { - "0": { "DistGame": 1 } - }, - "demand": { - "0": { "UpgradeTo36": 1 } - }, - "demands": { - "0": { "EventTypes": 1 } - }, - "demo": { - "0": { "Tumbleweed": 1 } - }, - "demonstrate": { - "0": { "ContactingTheDevelopers": 1 } - }, - "demonstrated": { - "0": { "AudioInScript": 1 } - }, - "demonstrates": { - "0": { "acintro1": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "TemplateSierraStyle": 1 } - }, - "demonstrations": { - "0": { "Game": 1 }, - "1": { "Mouse": 1 } - }, - "depend": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "GUI": 1 }, - "4": { "ListBox": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "Setup": 1 } - }, - "depended": { - "0": { "EngineConfigFile": 1 } - }, - "dependency": { - "0": { "SystemRequirements": 1 } - }, - "depending": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 2 }, - "4": { "AudioChannel": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "Character": 2 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "Dialog": 2 }, - "9": { "EditorCursor": 1 }, - "10": { "EditorGUI": 1 }, - "11": { "EditorInventoryItems": 1 }, - "12": { "EditorRoom": 1 }, - "13": { "EngineConfigFile": 1 }, - "14": { "EnginePluginRun-timeAPI": 2 }, - "15": { "FAQ": 1 }, - "16": { "File": 2 }, - "17": { "Game": 3 }, - "18": { "GameEventsOrder": 2 }, - "19": { "GeneralSettings": 3 }, - "20": { "Globalfunctions_Event": 1 }, - "21": { "Globalfunctions_General": 4 }, - "22": { "GUI": 2 }, - "23": { "Hotspot": 1 }, - "24": { "InvWindow": 1 }, - "25": { "Multimedia": 2 }, - "26": { "Pointers": 1 }, - "27": { "ScriptKeywords": 1 }, - "28": { "Settingupthegame": 1 }, - "29": { "Tumbleweed_door": 1 }, - "30": { "UpgradeTo30": 1 } - }, - "depends": { - "0": { "acintro8": 1 }, - "1": { "AudioChannel": 2 }, - "2": { "Character": 2 }, - "3": { "DefaultSetup": 2 }, - "4": { "EditorView": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Game": 2 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_Event": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "GraphicsDriver": 1 }, - "11": { "ListBox": 1 }, - "12": { "Preprocessor": 1 }, - "13": { "Setup": 1 } - }, - "deploy": { - "0": { "UpgradeTo34": 1 } - }, - "deploying": { - "0": { "UpgradeTo34": 1 } - }, - "deprecated": { - "0": { "Constants": 2 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "FAQ": 1 }, - "5": { "Preprocessor": 1 }, - "6": { "ScriptAPIOverview": 4 }, - "7": { "Templates": 1 }, - "8": { "UpgradeTo34": 1 }, - "9": { "UpgradeTo35": 3 }, - "10": { "UpgradeTo36": 2 } - }, - "deprecating": { - "0": { "UpgradeTo35": 1 } - }, - "depth": { - "0": { "acintro1": 6 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "DistGame": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "DynamicSprite": 6 }, - "5": { "EnginePluginRun-timeAPI": 12 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Object": 1 }, - "8": { "ObsoleteScriptAPI": 1 }, - "9": { "Room": 2 }, - "10": { "Settingupthegame": 2 }, - "11": { "System": 8 } - }, - "depths": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "Globalfunctions_General": 1 } - }, - "desc": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "describe": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "described": { - "0": { "acintro2": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorRoom": 2 }, - "4": { "EditorSprite": 1 }, - "5": { "File": 1 }, - "6": { "Keycodes": 1 }, - "7": { "Lipsync": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "UpgradingTo27": 1 } - }, - "describes": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "OtherFeatures": 1 }, - "4": { "UpgradeTo32": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "describing": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "Settingupthegame": 1 } - }, - "description": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "Character": 7 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "CustomProperties": 2 }, - "6": { "EditorPreferences": 2 }, - "7": { "EditorRoom": 1 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "EnginePluginRun-timeAPI": 10 }, - "10": { "Game": 3 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 3 }, - "14": { "Hotspot": 5 }, - "15": { "InventoryItem": 5 }, - "16": { "Object": 5 }, - "17": { "Overlay": 2 }, - "18": { "Parser": 1 }, - "19": { "Room": 6 }, - "20": { "ScriptingTutorialPart1": 5 }, - "21": { "ScriptModules": 1 }, - "22": { "System": 1 }, - "23": { "TemplateVerbcoin": 3 }, - "24": { "TextParser": 1 }, - "25": { "Tumbleweed": 6 }, - "26": { "Tumbleweed_extensions": 1 }, - "27": { "UpgradingTo27": 1 }, - "28": { "UpgradingTo271": 1 } - }, - "descriptions": { - "0": { "CustomProperties": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "TemplateBASS": 1 }, - "3": { "TemplateVerbcoin": 1 }, - "4": { "Translations": 1 }, - "5": { "UnicodeSupport": 1 }, - "6": { "UpgradeTo36": 2 }, - "7": { "UpgradingTo27": 1 } - }, - "descriptive": { - "0": { "Globalfunctions_General": 2 }, - "1": { "MusicAndSound": 1 }, - "2": { "ScriptAPIOverview": 1 } - }, - "deselect": { - "0": { "Character": 1 } - }, - "design": { - "0": { "acintro5": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Character": 1 }, - "3": { "Credits": 1 }, - "4": { "FAQ": 1 }, - "5": { "Object": 1 }, - "6": { "ObsoleteScriptAPI": 4 }, - "7": { "TemplateVerbcoin": 1 } - }, - "design-time": { - "0": { "EnginePluginDesign-timeAPI": 2 }, - "1": { "EnginePlugins": 1 } - }, - "designate": { - "0": { "acintro2": 1 } - }, - "designated": { - "0": { "EditorCharacter": 1 } - }, - "designed": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "AnonymousUsageInfo": 2 }, - "3": { "Character": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "DynamicSprite": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "Game": 1 }, - "9": { "SourceControl": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "designing": { - "0": { "EditorRoom": 1 } - }, - "desire": { - "0": { "Object": 1 } - }, - "desired": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "EditorView": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Lipsync": 1 } - }, - "desktop": { - "0": { "DefaultSetup": 2 }, - "1": { "EngineConfigFile": 8 }, - "2": { "GeneralSettings": 1 }, - "3": { "Setup": 1 } - }, - "despite": { - "0": { "DialogScript": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "destination": { - "0": { "acintro7": 1 }, - "1": { "Character": 5 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 4 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "Tumbleweed_movement": 5 } - }, - "destroy": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 5 } - }, - "destroyed": { - "0": { "ScriptKeywords": 2 } - }, - "destroys": { - "0": { "Button": 1 } - }, - "desync": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "detail": { - "0": { "acintro4": 1 }, - "1": { "acintro5": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "ScriptingTutorialPart1": 3 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed_door": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "detailed": { - "0": { "acintro1": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Parser": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo341": 1 } - }, - "details": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "AnonymousUsageInfo": 2 }, - "3": { "Character": 1 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "EnginePlugins": 1 }, - "8": { "ExtenderFunctions": 1 }, - "9": { "FAQ": 1 }, - "10": { "GameEventsOrder": 1 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_Event": 2 }, - "14": { "Globalfunctions_Wait": 5 }, - "15": { "Overlay": 2 }, - "16": { "ScriptKeywords": 2 }, - "17": { "ScriptModules": 1 }, - "18": { "Tumbleweed_actions": 1 }, - "19": { "UnicodeSupport": 1 }, - "20": { "UpgradeTo32": 1 }, - "21": { "UpgradeTo36": 1 } - }, - "detect": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "GeneralSettings": 1 }, - "2": { "Plugins": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "Speech": 1 } - }, - "detected": { - "0": { "DefaultSetup": 2 } - }, - "detecting": { - "0": { "EngineConfigFile": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "detection": { - "0": { "acintro1": 1 }, - "1": { "Character": 2 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 5 }, - "5": { "Object": 3 }, - "6": { "Room": 1 } - }, - "detects": { - "0": { "InventoryItem": 1 }, - "1": { "SourceControl": 1 } - }, - "determine": { - "0": { "acintro7": 1 }, - "1": { "acintro9": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Character": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorCharacter": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 3 }, - "9": { "FAQ": 1 }, - "10": { "Game": 1 }, - "11": { "Globalfunctions_Room": 1 }, - "12": { "Globalfunctions_Wait": 1 }, - "13": { "GUI": 3 }, - "14": { "Parser": 1 }, - "15": { "Setup": 1 }, - "16": { "SystemRequirements": 1 }, - "17": { "TemplateVerbcoin": 1 }, - "18": { "Tumbleweed": 1 }, - "19": { "Tumbleweed_actions": 1 } - }, - "determined": { - "0": { "Character": 2 }, - "1": { "EditorSprite": 1 }, - "2": { "File": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "Object": 1 } - }, - "determines": { - "0": { "acintro8": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 13 }, - "4": { "DefaultSetup": 2 }, - "5": { "Dialog": 1 }, - "6": { "Dictionary": 2 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorDialog": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EngineConfigFile": 2 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "Gamevariables": 1 }, - "13": { "GeneralSettings": 11 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "GUIControl": 1 }, - "16": { "Object": 2 }, - "17": { "Set": 1 }, - "18": { "Settingupthegame": 1 }, - "19": { "String": 1 }, - "20": { "UpgradeTo35": 1 } - }, - "determining": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "developed": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Credits": 1 } - }, - "developer": { - "0": { "EngineConfigFile": 1 }, - "1": { "Plugins": 1 } - }, - "developer's": { - "0": { "Plugins": 1 } - }, - "developers": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "developing": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "Introduction": 1 }, - "3": { "UpgradeTo31": 1 } - }, - "development": { - "0": { "acintro2": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "BuildAndroid": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "FAQ": 1 }, - "6": { "GameEventsOrder": 1 }, - "7": { "GameSavesCompatibility": 1 }, - "8": { "TroubleshootingWindowsZoneID": 1 }, - "9": { "UpgradingTo27": 1 } - }, - "device": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 3 }, - "2": { "EnginePluginRun-timeAPI": 4 }, - "3": { "Globalfunctions_Wait": 2 } - }, - "device's": { - "0": { "DefaultSetup": 1 } - }, - "devices": { - "0": { "DefaultSetup": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Wait": 1 } - }, - "devoted": { - "0": { "UpgradingTo27": 1 } - }, - "dgguspat": { - "0": { "MIDI-playback": 1 } - }, - "diagnostic": { - "0": { "AudioClip": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "File": 1 } - }, - "diagonal": { - "0": { "Character": 3 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorView": 1 }, - "4": { "Room": 1 }, - "5": { "Settingupthegame": 1 } - }, - "diagonally": { - "0": { "acintro7": 1 }, - "1": { "Settingupthegame": 5 } - }, - "dialog": { - "0": { "acintro": 1 }, - "1": { "acintro1": 4 }, - "2": { "acintro6": 1 }, - "3": { "acintro8": 22 }, - "4": { "acintro9": 1 }, - "5": { "AutonumberSpeechFiles": 2 }, - "6": { "Character": 2 }, - "7": { "Constants": 1 }, - "8": { "CustomDialogOptions": 59 }, - "9": { "Dialog": 42 }, - "10": { "DialogOptionsRenderingInfo": 65 }, - "11": { "DialogScript": 24 }, - "12": { "EditorCursor": 1 }, - "13": { "EditorDialog": 14 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorPreferences": 1 }, - "16": { "EngineConfigFile": 2 }, - "17": { "EnginePluginDesign-timeAPI": 2 }, - "18": { "FAQ": 3 }, - "19": { "Game": 1 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "Gamevariables": 12 }, - "22": { "GeneralSettings": 21 }, - "23": { "GlobalArrays": 2 }, - "24": { "Globalfunctions_Event": 4 }, - "25": { "Globalfunctions_General": 10 }, - "26": { "GlobalVariables": 1 }, - "27": { "GUIControl": 1 }, - "28": { "ListBox": 1 }, - "29": { "Mouse": 1 }, - "30": { "MultipleScripts": 1 }, - "31": { "MusicAndSound": 1 }, - "32": { "RuntimeEngine": 1 }, - "33": { "ScriptAPIOverview": 2 }, - "34": { "Scripting": 1 }, - "35": { "ScriptingTutorialPart2": 2 }, - "36": { "Settingupthegame": 8 }, - "37": { "Speech": 1 }, - "38": { "Templates": 3 }, - "39": { "UnicodeSupport": 1 }, - "40": { "UpgradeTo30": 6 }, - "41": { "UpgradeTo33": 1 }, - "42": { "UpgradeTo34": 13 }, - "43": { "UpgradeTo35": 3 }, - "44": { "UpgradeTo36": 6 }, - "45": { "VoiceSpeech": 3 } - }, - "dialog's": { - "0": { "EditorDialog": 1 } - }, - "dialog-only": { - "0": { "acintro8": 1 } - }, - "dialogName": { - "0": { "Dialog": 4 } - }, - "dialogoption": { - "0": { "Gamevariables": 2 } - }, - "dialogs": { - "0": { "acintro8": 4 }, - "1": { "DialogScript": 2 }, - "2": { "EditorDialog": 2 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "Game": 5 }, - "5": { "GlobalArrays": 1 }, - "6": { "ImportingFunctionsAndVariables": 1 }, - "7": { "Translations": 1 }, - "8": { "Tumbleweed": 1 }, - "9": { "UpgradeTo33": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "dialogue": { - "0": { "Parser": 1 } - }, - "dialogues": { - "0": { "FAQ": 1 } - }, - "dictionaries": { - "0": { "Dictionary": 2 } - }, - "dictionary": { - "0": { "Dictionary": 14 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Parser": 5 } - }, - "did": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro9": 1 }, - "6": { "AudioClip": 2 }, - "7": { "Dictionary": 1 }, - "8": { "EditorGUI": 2 }, - "9": { "EditorView": 2 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "Globalfunctions_Event": 1 }, - "12": { "ScriptingTutorialPart1": 4 }, - "13": { "Settingupthegame": 1 }, - "14": { "TextParser": 1 }, - "15": { "UpgradeTo34": 1 } - }, - "didn't": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Pointers": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "String": 1 }, - "8": { "UpgradeTo30": 1 }, - "9": { "UpgradeTo31": 1 } - }, - "diff": { - "0": { "EngineConfigFile": 1 } - }, - "differ": { - "0": { "Button": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "GeneralSettings": 1 } - }, - "difference": { - "0": { "acintro7": 1 }, - "1": { "Camera": 1 }, - "2": { "Character": 2 }, - "3": { "DateTime": 2 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorFont": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "FAQ": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Overlay": 1 }, - "12": { "Pointers": 1 }, - "13": { "RepExec": 2 }, - "14": { "Settingupthegame": 1 }, - "15": { "Tumbleweed_player": 2 }, - "16": { "UnicodeSupport": 1 }, - "17": { "UpgradeTo31": 2 }, - "18": { "UpgradeTo34": 1 }, - "19": { "UpgradeTo36": 3 }, - "20": { "Viewport": 1 } - }, - "differences": { - "0": { "DateTime": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "GraphicsDriver": 1 } - }, - "different": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 3 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 2 }, - "6": { "acintro9": 1 }, - "7": { "AudioInScript": 1 }, - "8": { "Button": 1 }, - "9": { "Camera": 1 }, - "10": { "Character": 2 }, - "11": { "ColoursEditor": 2 }, - "12": { "Constants": 1 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "CustomProperties": 1 }, - "15": { "Debuggingfeatures": 2 }, - "16": { "DefaultSetup": 1 }, - "17": { "Dialog": 1 }, - "18": { "DialogOptionsRenderingInfo": 1 }, - "19": { "Dictionary": 1 }, - "20": { "DistGame": 1 }, - "21": { "DrawingSurface": 1 }, - "22": { "DynamicArrays": 1 }, - "23": { "DynamicSprite": 1 }, - "24": { "EditorCursor": 1 }, - "25": { "EditorFont": 1 }, - "26": { "EditorRoom": 1 }, - "27": { "EditorView": 1 }, - "28": { "EnginePluginRun-timeAPI": 1 }, - "29": { "EnginePlugins": 1 }, - "30": { "EventTypes": 1 }, - "31": { "ExtenderFunctions": 1 }, - "32": { "FAQ": 5 }, - "33": { "File": 1 }, - "34": { "Game": 4 }, - "35": { "GameSavesCompatibility": 5 }, - "36": { "GeneralSettings": 3 }, - "37": { "Globalfunctions_General": 6 }, - "38": { "Globalfunctions_Room": 1 }, - "39": { "GlobalVariables": 3 }, - "40": { "GUI": 3 }, - "41": { "OOProgramming": 1 }, - "42": { "Overlay": 4 }, - "43": { "Pointers": 2 }, - "44": { "Preprocessor": 1 }, - "45": { "Region": 1 }, - "46": { "RepExec": 1 }, - "47": { "ScriptAPIOverview": 2 }, - "48": { "ScriptingTutorialPart1": 6 }, - "49": { "ScriptingTutorialPart2": 2 }, - "50": { "ScriptKeywords": 4 }, - "51": { "Set": 1 }, - "52": { "Settingupthegame": 4 }, - "53": { "Setup": 1 }, - "54": { "System": 2 }, - "55": { "SystemRequirements": 1 }, - "56": { "Templates": 1 }, - "57": { "TextBox": 1 }, - "58": { "TextParser": 4 }, - "59": { "Translations": 1 }, - "60": { "TroubleshootingWindowsZoneID": 2 }, - "61": { "Tumbleweed": 7 }, - "62": { "Tumbleweed_door": 1 }, - "63": { "Tumbleweed_translation": 1 }, - "64": { "UnicodeSupport": 1 }, - "65": { "UpgradeTo32": 2 }, - "66": { "UpgradeTo35": 6 }, - "67": { "UpgradeTo36": 3 }, - "68": { "UpgradeTo361": 1 }, - "69": { "VoiceSpeech": 2 } - }, - "differentiate": { - "0": { "Dialog": 1 } - }, - "differentiation": { - "0": { "System": 2 } - }, - "differently": { - "0": { "AudioChannel": 2 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "GUI": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "ScriptAPIOverview": 1 }, - "6": { "Tumbleweed_extensions": 1 }, - "7": { "UpgradeTo30": 1 }, - "8": { "UpgradeTo36": 1 }, - "9": { "UpgradingTo27": 1 } - }, - "difficult": { - "0": { "Character": 1 }, - "1": { "Pointers": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "SystemLimits": 1 } - }, - "digging": { - "0": { "Tumbleweed": 1 } - }, - "digital": { - "0": { "DistGame": 2 }, - "1": { "EngineConfigFile": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "Setup": 2 } - }, - "digits": { - "0": { "String": 1 }, - "1": { "StringFormats": 2 } - }, - "dimension": { - "0": { "Screen": 2 } - }, - "dimensions": { - "0": { "Camera": 2 }, - "1": { "CustomDialogOptions": 5 }, - "2": { "DialogOptionsRenderingInfo": 17 }, - "3": { "DynamicSprite": 1 }, - "4": { "UpgradeTo33": 1 } - }, - "dinner": { - "0": { "Character": 1 }, - "1": { "StringFormats": 1 } - }, - "dir": { - "0": { "EngineConfigFile": 2 }, - "1": { "MIDI-playback": 3 }, - "2": { "Plugins": 1 }, - "3": { "RuntimeEngine": 4 }, - "4": { "Tumbleweed_door": 6 }, - "5": { "Tumbleweed_movement": 8 }, - "6": { "Tumbleweed_player": 1 } - }, - "direct": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "FAQ": 1 }, - "2": { "Pointers": 2 }, - "3": { "System": 2 }, - "4": { "TemplateBASS": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "Tumbleweed_movement": 1 }, - "7": { "UpgradingTo27": 1 } - }, - "direction": { - "0": { "acintro7": 3 }, - "1": { "Button": 1 }, - "2": { "Character": 34 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorView": 1 }, - "5": { "GeneralSettings": 3 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Palette": 1 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "Maths": 1 }, - "10": { "Object": 1 }, - "11": { "Pointers": 3 }, - "12": { "RepExec": 1 }, - "13": { "Settingupthegame": 2 }, - "14": { "TemplateSierraStyle": 2 }, - "15": { "Translations": 3 }, - "16": { "Tumbleweed_door": 2 }, - "17": { "Tumbleweed_movement": 3 }, - "18": { "Tumbleweed_player": 2 } - }, - "directional": { - "0": { "AudioChannel": 3 }, - "1": { "UpgradeTo32": 1 } - }, - "directions": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "EditorView": 1 }, - "3": { "Settingupthegame": 2 }, - "4": { "StandardEnums": 1 } - }, - "directive": { - "0": { "Constants": 1 }, - "1": { "MIDI-playback": 1 } - }, - "directives": { - "0": { "ScriptKeywords": 1 } - }, - "directly": { - "0": { "acintro9": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "Character": 7 }, - "3": { "DefaultSetup": 1 }, - "4": { "Dictionary": 1 }, - "5": { "DistGame": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorRoom": 2 }, - "9": { "EditorView": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginRun-timeAPI": 2 }, - "12": { "ExtenderFunctions": 1 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Room": 2 }, - "16": { "GUI": 1 }, - "17": { "Hotspot": 1 }, - "18": { "Object": 1 }, - "19": { "OOProgramming": 2 }, - "20": { "Region": 1 }, - "21": { "RepExec": 1 }, - "22": { "Room": 1 }, - "23": { "RuntimeEngine": 1 }, - "24": { "ScriptAPIOverview": 1 }, - "25": { "ScriptingTutorialPart1": 1 }, - "26": { "ScriptModules": 1 }, - "27": { "Set": 1 }, - "28": { "Tumbleweed": 3 }, - "29": { "UpgradeTo30": 1 }, - "30": { "UpgradeTo341": 1 }, - "31": { "UpgradeTo36": 1 }, - "32": { "UpgradingTo27": 2 }, - "33": { "UpgradingTo271": 1 }, - "34": { "VoiceSpeech": 1 } - }, - "directories": { - "0": { "BuildAndroid": 1 }, - "1": { "File": 1 }, - "2": { "Game": 1 }, - "3": { "Plugins": 2 }, - "4": { "VoiceSpeech": 1 } - }, - "directory": { - "0": { "BuildAndroid": 3 }, - "1": { "DistGame": 3 }, - "2": { "EditorCommandLineOptions": 1 }, - "3": { "EditorPlugins": 1 }, - "4": { "EditorPreferences": 2 }, - "5": { "EditorSprite": 1 }, - "6": { "EngineConfigFile": 6 }, - "7": { "EnginePlugins": 1 }, - "8": { "File": 5 }, - "9": { "Game": 6 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "ListBox": 3 }, - "13": { "MIDI-playback": 4 }, - "14": { "Plugins": 2 }, - "15": { "RuntimeEngine": 7 }, - "16": { "Templates": 2 }, - "17": { "TroubleshootingWindowsZoneID": 2 }, - "18": { "UpgradeTo335": 6 }, - "19": { "VoiceSpeech": 1 } - }, - "directsound": { - "0": { "EngineConfigFile": 1 } - }, - "dirty": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Object": 1 } - }, - "disable": { - "0": { "acintro9": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 5 }, - "4": { "EditorGUI": 2 }, - "5": { "EngineConfigFile": 6 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Gamevariables": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 6 }, - "10": { "Globalfunctions_Room": 2 }, - "11": { "GUIControl": 4 }, - "12": { "Hotspot": 1 }, - "13": { "Mouse": 2 }, - "14": { "Object": 3 }, - "15": { "Region": 3 }, - "16": { "RuntimeEngine": 1 }, - "17": { "Settingupthegame": 2 }, - "18": { "Setup": 1 }, - "19": { "TemplateSierraStyle": 1 }, - "20": { "TemplateVerbcoin": 1 }, - "21": { "UpgradeTo34": 1 }, - "22": { "UpgradeTo35": 1 }, - "23": { "UpgradeTo36": 1 }, - "24": { "UpgradeTo361": 1 } - }, - "disableTints": { - "0": { "Globalfunctions_Room": 1 } - }, - "disabled": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Camera": 3 }, - "2": { "Character": 2 }, - "3": { "Constants": 2 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "Dialog": 4 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorGUI": 4 }, - "9": { "EditorLogPanel": 1 }, - "10": { "EditorRoom": 2 }, - "11": { "EngineConfigFile": 2 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "Gamevariables": 1 }, - "14": { "GeneralSettings": 5 }, - "15": { "Globalfunctions_General": 9 }, - "16": { "Globalfunctions_Message": 1 }, - "17": { "Globalfunctions_Room": 2 }, - "18": { "GUI": 3 }, - "19": { "GUIControl": 3 }, - "20": { "ListBox": 1 }, - "21": { "Mouse": 3 }, - "22": { "OOProgramming": 1 }, - "23": { "Preprocessor": 2 }, - "24": { "Region": 1 }, - "25": { "ScriptAPIOverview": 1 }, - "26": { "Setup": 1 }, - "27": { "Speech": 2 }, - "28": { "TemplateBASS": 1 }, - "29": { "TemplateVerbcoin": 1 }, - "30": { "Tumbleweed_helper": 1 }, - "31": { "UpgradeTo36": 1 }, - "32": { "Viewport": 1 } - }, - "disables": { - "0": { "Camera": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "GUI": 2 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 1 }, - "7": { "Keycodes": 1 }, - "8": { "Mouse": 1 }, - "9": { "Region": 1 }, - "10": { "Screen": 1 }, - "11": { "ScriptKeywords": 1 }, - "12": { "Speech": 1 }, - "13": { "Tumbleweed_helper": 1 } - }, - "disabling": { - "0": { "Camera": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUIControl": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "ScriptAPIOverview": 1 } - }, - "disadvantage": { - "0": { "acintro9": 1 } - }, - "disappear": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 4 }, - "2": { "acintro7": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Object": 1 } - }, - "disappeared": { - "0": { "FAQ": 1 } - }, - "disappearing": { - "0": { "acintro7": 1 } - }, - "disappears": { - "0": { "acintro7": 1 }, - "1": { "acintro9": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "Object": 1 }, - "4": { "Settingupthegame": 1 } - }, - "discard": { - "0": { "Overlay": 1 } - }, - "discontinued": { - "0": { "Multimedia": 1 }, - "1": { "UpgradeTo36": 3 } - }, - "discrepancy": { - "0": { "Region": 1 } - }, - "discretion": { - "0": { "GUIControl": 1 } - }, - "discussed": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "MIDI-playback": 1 } - }, - "discussing": { - "0": { "acintro4": 1 } - }, - "disk": { - "0": { "DistGame": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePluginDesign-timeAPI": 3 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "File": 6 }, - "6": { "GeneralSettings": 2 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Setup": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 }, - "10": { "UpgradeTo36": 1 }, - "11": { "UpgradeTo361": 1 } - }, - "dismissed": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "display": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro7": 2 }, - "5": { "acintro8": 1 }, - "6": { "AudioChannel": 4 }, - "7": { "AudioClip": 2 }, - "8": { "BlockingScripts": 1 }, - "9": { "Button": 8 }, - "10": { "Camera": 2 }, - "11": { "Character": 24 }, - "12": { "Constants": 1 }, - "13": { "Copyright": 1 }, - "14": { "Credits": 1 }, - "15": { "CustomDialogOptions": 2 }, - "16": { "DateTime": 2 }, - "17": { "Debuggingfeatures": 3 }, - "18": { "DefaultSetup": 1 }, - "19": { "Dialog": 9 }, - "20": { "DialogOptionsRenderingInfo": 1 }, - "21": { "DialogScript": 3 }, - "22": { "DistGame": 2 }, - "23": { "DrawingSurface": 2 }, - "24": { "DynamicSprite": 2 }, - "25": { "EditorFont": 1 }, - "26": { "EditorGUI": 4 }, - "27": { "EditorInventoryItems": 2 }, - "28": { "EditorLogPanel": 1 }, - "29": { "EditorRoom": 1 }, - "30": { "EditorSprite": 1 }, - "31": { "EditorView": 1 }, - "32": { "EngineConfigFile": 5 }, - "33": { "EnginePluginDesign-timeAPI": 1 }, - "34": { "EnginePluginRun-timeAPI": 3 }, - "35": { "ExtenderFunctions": 1 }, - "36": { "FAQ": 2 }, - "37": { "File": 5 }, - "38": { "Game": 5 }, - "39": { "GameSavesCompatibility": 1 }, - "40": { "Gamevariables": 2 }, - "41": { "GeneralSettings": 6 }, - "42": { "Globalfunctions_Event": 1 }, - "43": { "Globalfunctions_General": 9 }, - "44": { "Globalfunctions_Message": 7 }, - "45": { "Globalfunctions_Room": 1 }, - "46": { "GUI": 2 }, - "47": { "GUIControl": 5 }, - "48": { "Hotspot": 5 }, - "49": { "InventoryItem": 5 }, - "50": { "InvWindow": 5 }, - "51": { "KeyboardShortcuts": 1 }, - "52": { "Label": 5 }, - "53": { "ListBox": 3 }, - "54": { "Mouse": 3 }, - "55": { "Multimedia": 1 }, - "56": { "Object": 11 }, - "57": { "Overlay": 3 }, - "58": { "Parser": 3 }, - "59": { "Pointers": 2 }, - "60": { "Region": 6 }, - "61": { "Room": 1 }, - "62": { "RuntimeEngine": 1 }, - "63": { "Screen": 2 }, - "64": { "Scripting": 1 }, - "65": { "ScriptingTutorialPart1": 2 }, - "66": { "ScriptingTutorialPart2": 2 }, - "67": { "ScriptKeywords": 4 }, - "68": { "Setup": 3 }, - "69": { "String": 14 }, - "70": { "StringFormats": 6 }, - "71": { "System": 14 }, - "72": { "TemplateBASS": 1 }, - "73": { "TemplateVerbcoin": 1 }, - "74": { "Translations": 2 }, - "75": { "UnicodeSupport": 2 }, - "76": { "UpgradeTo31": 1 }, - "77": { "UpgradeTo34": 1 }, - "78": { "UpgradeTo35": 6 }, - "79": { "UpgradeTo36": 2 }, - "80": { "Viewport": 3 }, - "81": { "VoiceSpeech": 3 } - }, - "displayed": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 4 }, - "3": { "acintro8": 2 }, - "4": { "acintro9": 1 }, - "5": { "AutonumberSpeechFiles": 1 }, - "6": { "Button": 2 }, - "7": { "Camera": 3 }, - "8": { "Character": 9 }, - "9": { "ColoursEditor": 2 }, - "10": { "CustomProperties": 1 }, - "11": { "DialogScript": 5 }, - "12": { "Dictionary": 2 }, - "13": { "DistGame": 1 }, - "14": { "EditorCursor": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorGUI": 4 }, - "17": { "EditorInventoryItems": 2 }, - "18": { "EditorSprite": 2 }, - "19": { "EditorView": 3 }, - "20": { "EnginePluginDesign-timeAPI": 1 }, - "21": { "EnginePluginRun-timeAPI": 3 }, - "22": { "File": 1 }, - "23": { "Game": 3 }, - "24": { "Gamevariables": 1 }, - "25": { "GeneralSettings": 12 }, - "26": { "Globalfunctions_General": 12 }, - "27": { "Globalfunctions_Message": 4 }, - "28": { "Globalfunctions_Room": 1 }, - "29": { "GUI": 6 }, - "30": { "GUIControl": 1 }, - "31": { "InvWindow": 5 }, - "32": { "Label": 1 }, - "33": { "Mouse": 1 }, - "34": { "Object": 2 }, - "35": { "Overlay": 4 }, - "36": { "Screen": 1 }, - "37": { "ScriptingTutorialPart1": 1 }, - "38": { "ScriptKeywords": 4 }, - "39": { "Set": 1 }, - "40": { "Settingupthegame": 6 }, - "41": { "Speech": 4 }, - "42": { "System": 1 }, - "43": { "Templates": 1 }, - "44": { "Translations": 1 }, - "45": { "Tumbleweed_extensions": 1 }, - "46": { "Tumbleweed_movement": 2 }, - "47": { "Tumbleweed_translation": 1 }, - "48": { "UnicodeSupport": 1 }, - "49": { "UpgradeTo34": 1 }, - "50": { "UpgradeTo36": 1 }, - "51": { "Viewport": 7 }, - "52": { "VoiceSpeech": 1 } - }, - "displaying": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "Button": 2 }, - "3": { "Character": 3 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Game": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "InvWindow": 1 }, - "13": { "Mouse": 1 }, - "14": { "ScriptingTutorialPart1": 3 }, - "15": { "System": 1 }, - "16": { "TemplateVerbcoin": 1 }, - "17": { "Translations": 2 }, - "18": { "Tumbleweed_door": 1 } - }, - "displays": { - "0": { "acintro3": 2 }, - "1": { "AudioClip": 2 }, - "2": { "Character": 8 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "Dialog": 1 }, - "5": { "DialogScript": 2 }, - "6": { "DrawingSurface": 3 }, - "7": { "DynamicSprite": 4 }, - "8": { "EditorGUI": 2 }, - "9": { "EditorLogPanel": 1 }, - "10": { "Game": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "GUI": 2 }, - "14": { "Hotspot": 2 }, - "15": { "InvWindow": 2 }, - "16": { "Maths": 3 }, - "17": { "Region": 1 }, - "18": { "Settingupthegame": 1 }, - "19": { "Setup": 1 }, - "20": { "Slider": 2 }, - "21": { "StringFormats": 2 }, - "22": { "UpgradeTo35": 1 }, - "23": { "ViewFrame": 1 } - }, - "displaytime": { - "0": { "EditorView": 1 } - }, - "disposal": { - "0": { "MusicAndSound": 1 } - }, - "dispose": { - "0": { "CustomDialogOptions": 1 } - }, - "disposed": { - "0": { "DynamicSprite": 5 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Overlay": 2 }, - "3": { "ScriptKeywords": 1 } - }, - "disposes": { - "0": { "DynamicSprite": 1 } - }, - "disregards": { - "0": { "AudioClip": 1 } - }, - "dist": { - "0": { "Character": 1 } - }, - "distance": { - "0": { "Character": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorInventoryItems": 2 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Speech": 1 }, - "5": { "TemplateBASS": 1 }, - "6": { "Tumbleweed_helper": 1 } - }, - "distinct": { - "0": { "Constants": 1 }, - "1": { "Keycodes": 1 }, - "2": { "StandardEnums": 2 } - }, - "distinction": { - "0": { "MusicAndSound": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "distinguish": { - "0": { "EventTypes": 4 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Tumbleweed": 1 } - }, - "distribute": { - "0": { "DistGame": 4 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "MIDI-playback": 1 }, - "3": { "UpgradeTo30": 1 } - }, - "distributed": { - "0": { "Copyright": 3 }, - "1": { "DistGame": 6 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "distributing": { - "0": { "MIDI-playback": 1 } - }, - "distribution": { - "0": { "DefaultSetup": 1 }, - "1": { "DistGame": 4 }, - "2": { "Settingupthegame": 1 } - }, - "diverted": { - "0": { "EditorGUI": 1 } - }, - "divide": { - "0": { "MultipleScripts": 1 } - }, - "divided": { - "0": { "InvWindow": 1 }, - "1": { "Setup": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "dividing": { - "0": { "InvWindow": 1 } - }, - "dlg": { - "0": { "CustomDialogOptions": 12 }, - "1": { "Dialog": 3 } - }, - "dll": { - "0": { "EditorPlugins": 3 }, - "1": { "EnginePlugins": 1 }, - "2": { "Plugins": 2 } - }, - "do": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 8 }, - "7": { "acintro8": 3 }, - "8": { "acintro9": 7 }, - "9": { "AdvancedRoomFeatures": 6 }, - "10": { "AnonymousUsageInfo": 1 }, - "11": { "AudioChannel": 2 }, - "12": { "AudioClip": 4 }, - "13": { "AudioInScript": 1 }, - "14": { "BackingUpYourGame": 1 }, - "15": { "BuildAndroid": 1 }, - "16": { "Character": 18 }, - "17": { "Constants": 2 }, - "18": { "CustomDialogOptions": 1 }, - "19": { "CustomProperties": 2 }, - "20": { "Debuggingfeatures": 1 }, - "21": { "DefaultSetup": 1 }, - "22": { "Dialog": 2 }, - "23": { "DialogOptionsRenderingInfo": 3 }, - "24": { "DialogScript": 1 }, - "25": { "Dictionary": 1 }, - "26": { "DistGame": 3 }, - "27": { "DrawingSurface": 4 }, - "28": { "DynamicArrays": 6 }, - "29": { "DynamicSprite": 8 }, - "30": { "EditorCursor": 1 }, - "31": { "EditorFont": 1 }, - "32": { "EditorGUI": 1 }, - "33": { "EditorPlugins": 5 }, - "34": { "EditorPreferences": 4 }, - "35": { "EditorRoom": 1 }, - "36": { "EditorSprite": 3 }, - "37": { "EnginePluginDesign-timeAPI": 2 }, - "38": { "EnginePluginRun-timeAPI": 21 }, - "39": { "EventTypes": 2 }, - "40": { "ExtenderFunctions": 1 }, - "41": { "FAQ": 12 }, - "42": { "File": 1 }, - "43": { "Game": 5 }, - "44": { "GameSavesCompatibility": 1 }, - "45": { "Gamevariables": 2 }, - "46": { "GeneralSettings": 2 }, - "47": { "Globalfunctions_Event": 4 }, - "48": { "Globalfunctions_General": 12 }, - "49": { "Globalfunctions_Message": 1 }, - "50": { "Globalfunctions_Palette": 1 }, - "51": { "Globalfunctions_Room": 1 }, - "52": { "Globalfunctions_Wait": 1 }, - "53": { "GlobalVariables": 2 }, - "54": { "GUI": 4 }, - "55": { "GUIControl": 5 }, - "56": { "Hotspot": 3 }, - "57": { "ImportingFunctionsAndVariables": 1 }, - "58": { "InventoryItem": 5 }, - "59": { "Lipsync": 1 }, - "60": { "ListBox": 1 }, - "61": { "MIDI-playback": 2 }, - "62": { "Mouse": 1 }, - "63": { "Multimedia": 2 }, - "64": { "MusicAndSound": 5 }, - "65": { "Object": 6 }, - "66": { "OOProgramming": 1 }, - "67": { "Overlay": 2 }, - "68": { "Plugins": 4 }, - "69": { "Pointers": 6 }, - "70": { "Preprocessor": 4 }, - "71": { "RepExec": 5 }, - "72": { "Screen": 2 }, - "73": { "ScriptAPIOverview": 3 }, - "74": { "ScriptingTutorialPart1": 11 }, - "75": { "ScriptingTutorialPart2": 21 }, - "76": { "ScriptKeywords": 19 }, - "77": { "Settingupthegame": 11 }, - "78": { "SourceControl": 1 }, - "79": { "Speech": 1 }, - "80": { "StandardEnums": 1 }, - "81": { "String": 5 }, - "82": { "StringFormats": 1 }, - "83": { "System": 1 }, - "84": { "SystemLimits": 1 }, - "85": { "SystemRequirements": 1 }, - "86": { "TemplateBASS": 2 }, - "87": { "Templates": 1 }, - "88": { "TextParser": 4 }, - "89": { "TroubleshootingWindowsZoneID": 1 }, - "90": { "Tumbleweed": 1 }, - "91": { "Tumbleweed_door": 1 }, - "92": { "UpgradeTo30": 5 }, - "93": { "UpgradeTo32": 6 }, - "94": { "UpgradeTo335": 1 }, - "95": { "UpgradeTo34": 5 }, - "96": { "UpgradeTo35": 5 }, - "97": { "UpgradeTo36": 2 }, - "98": { "UpgradeTo361": 3 }, - "99": { "UpgradingTo27": 3 }, - "100": { "UpgradingTo271": 2 }, - "101": { "VoiceSpeech": 2 } - }, - "doStuff": { - "0": { "ScriptKeywords": 4 } - }, - "dock": { - "0": { "UpgradeTo33": 1 } - }, - "dockpanelsuite": { - "0": { "Credits": 1 } - }, - "document": { - "0": { "EditorSprite": 1 }, - "1": { "KeyboardShortcuts": 4 }, - "2": { "Translations": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "documentation": { - "0": { "DistGame": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Parser": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "documented": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 } - }, - "documents": { - "0": { "DefaultSetup": 1 }, - "1": { "FAQ": 1 }, - "2": { "Game": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "does": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "AnonymousUsageInfo": 3 }, - "3": { "AudioChannel": 1 }, - "4": { "AudioClip": 2 }, - "5": { "AudioInScript": 2 }, - "6": { "BlockingScripts": 6 }, - "7": { "Button": 3 }, - "8": { "Character": 18 }, - "9": { "DefaultSetup": 2 }, - "10": { "Dialog": 3 }, - "11": { "DialogOptionsRenderingInfo": 2 }, - "12": { "Dictionary": 3 }, - "13": { "DrawingSurface": 1 }, - "14": { "DynamicSprite": 4 }, - "15": { "EditorView": 1 }, - "16": { "EngineConfigFile": 2 }, - "17": { "EnginePluginDesign-timeAPI": 4 }, - "18": { "EnginePluginRun-timeAPI": 23 }, - "19": { "FAQ": 3 }, - "20": { "File": 1 }, - "21": { "Game": 5 }, - "22": { "GameSavesCompatibility": 1 }, - "23": { "GeneralSettings": 1 }, - "24": { "GlobalArrays": 1 }, - "25": { "Globalfunctions_Event": 2 }, - "26": { "Globalfunctions_General": 5 }, - "27": { "Globalfunctions_Screen": 2 }, - "28": { "GUI": 7 }, - "29": { "GUIControl": 3 }, - "30": { "Hotspot": 3 }, - "31": { "ImportingFunctionsAndVariables": 1 }, - "32": { "InventoryItem": 1 }, - "33": { "Lipsync": 1 }, - "34": { "ListBox": 1 }, - "35": { "Maths": 1 }, - "36": { "MIDI-playback": 1 }, - "37": { "Mouse": 2 }, - "38": { "Multimedia": 4 }, - "39": { "MusicAndSound": 1 }, - "40": { "Object": 3 }, - "41": { "OOProgramming": 1 }, - "42": { "Overlay": 3 }, - "43": { "Plugins": 1 }, - "44": { "Pointers": 1 }, - "45": { "Preprocessor": 5 }, - "46": { "Region": 6 }, - "47": { "Screen": 2 }, - "48": { "ScriptingTutorialPart1": 1 }, - "49": { "ScriptingTutorialPart2": 1 }, - "50": { "ScriptKeywords": 7 }, - "51": { "Set": 2 }, - "52": { "Settingupthegame": 2 }, - "53": { "Setup": 1 }, - "54": { "SourceControl": 2 }, - "55": { "Speech": 4 }, - "56": { "String": 7 }, - "57": { "System": 1 }, - "58": { "TemplateBASS": 1 }, - "59": { "TheScriptHeader": 1 }, - "60": { "TroubleshootingWindowsZoneID": 2 }, - "61": { "Tumbleweed_movement": 1 }, - "62": { "UpgradeTo30": 2 }, - "63": { "UpgradeTo335": 1 }, - "64": { "UpgradeTo36": 4 }, - "65": { "UpgradingTo27": 3 }, - "66": { "Viewport": 4 } - }, - "doesn't": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Character": 2 }, - "5": { "DistGame": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "EnginePlugins": 1 }, - "9": { "FAQ": 1 }, - "10": { "File": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 2 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "OOProgramming": 1 }, - "16": { "Parser": 1 }, - "17": { "Plugins": 2 }, - "18": { "ScriptKeywords": 1 }, - "19": { "StandardEnums": 1 }, - "20": { "Templates": 1 }, - "21": { "TroubleshootingWindowsZoneID": 3 }, - "22": { "Tumbleweed_extensions": 2 }, - "23": { "Tumbleweed_movement": 1 }, - "24": { "Tumbleweed_unhandled": 1 } - }, - "dog": { - "0": { "Character": 1 }, - "1": { "String": 1 } - }, - "doing": { - "0": { "acintro3": 2 }, - "1": { "AnonymousUsageInfo": 2 }, - "2": { "Character": 1 }, - "3": { "EditorPlugins": 1 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "Gamevariables": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "ListBox": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "Object": 3 }, - "11": { "RepExec": 2 }, - "12": { "ScriptingTutorialPart1": 2 }, - "13": { "ScriptingTutorialPart2": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "System": 1 }, - "16": { "UnicodeSupport": 2 }, - "17": { "UpgradeTo36": 2 } - }, - "don't": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 3 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "acintro9": 1 }, - "6": { "AdvancedRoomFeatures": 2 }, - "7": { "AudioClip": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 3 }, - "10": { "Character": 7 }, - "11": { "ContactingTheDevelopers": 3 }, - "12": { "CustomDialogOptions": 1 }, - "13": { "CustomProperties": 1 }, - "14": { "Dialog": 1 }, - "15": { "DialogScript": 1 }, - "16": { "Dictionary": 1 }, - "17": { "DistGame": 2 }, - "18": { "DrawingSurface": 1 }, - "19": { "DynamicArrays": 3 }, - "20": { "EditorPlugins": 1 }, - "21": { "EditorSprite": 1 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 8 }, - "24": { "EnginePlugins": 1 }, - "25": { "FAQ": 2 }, - "26": { "File": 2 }, - "27": { "Game": 2 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "GeneralSettings": 4 }, - "30": { "GlobalArrays": 1 }, - "31": { "Globalfunctions_Event": 1 }, - "32": { "Globalfunctions_General": 2 }, - "33": { "Globalfunctions_Message": 2 }, - "34": { "Globalfunctions_Room": 1 }, - "35": { "GraphicsDriver": 1 }, - "36": { "GUI": 2 }, - "37": { "GUIControl": 1 }, - "38": { "Hotspot": 1 }, - "39": { "InventoryItem": 1 }, - "40": { "ListBox": 1 }, - "41": { "Mouse": 1 }, - "42": { "Multimedia": 1 }, - "43": { "MusicAndSound": 1 }, - "44": { "Object": 3 }, - "45": { "Preprocessor": 1 }, - "46": { "RepExec": 2 }, - "47": { "RuntimeEngine": 5 }, - "48": { "ScriptingTutorialPart1": 1 }, - "49": { "ScriptingTutorialPart2": 2 }, - "50": { "ScriptKeywords": 2 }, - "51": { "Set": 1 }, - "52": { "String": 3 }, - "53": { "StringFormats": 1 }, - "54": { "TextParser": 2 }, - "55": { "TroubleshootingWindowsZoneID": 1 }, - "56": { "Tumbleweed": 1 }, - "57": { "Tumbleweed_door": 1 }, - "58": { "Tumbleweed_extensions": 1 }, - "59": { "UnicodeSupport": 1 }, - "60": { "UpgradeTo30": 1 }, - "61": { "UpgradeTo36": 1 }, - "62": { "UpgradeTo361": 2 }, - "63": { "UpgradingTo27": 5 } - }, - "done": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro6": 1 }, - "5": { "acintro8": 4 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioChannel": 2 }, - "8": { "AudioInScript": 1 }, - "9": { "BackingUpYourGame": 1 }, - "10": { "Camera": 1 }, - "11": { "Character": 8 }, - "12": { "DefaultSetup": 2 }, - "13": { "Dialog": 1 }, - "14": { "DialogScript": 2 }, - "15": { "DrawingSurface": 1 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorDialog": 1 }, - "18": { "EditorFont": 1 }, - "19": { "EditorInventoryItems": 1 }, - "20": { "EditorRoom": 1 }, - "21": { "EditorSprite": 2 }, - "22": { "EnginePluginRun-timeAPI": 5 }, - "23": { "File": 1 }, - "24": { "Game": 1 }, - "25": { "GameSavesCompatibility": 1 }, - "26": { "Globalfunctions_Screen": 1 }, - "27": { "GraphicsDriver": 1 }, - "28": { "GUI": 1 }, - "29": { "GUIControl": 1 }, - "30": { "ImportingFunctionsAndVariables": 2 }, - "31": { "KeyboardShortcuts": 1 }, - "32": { "Object": 2 }, - "33": { "Overlay": 2 }, - "34": { "Pointers": 3 }, - "35": { "RuntimeEngine": 1 }, - "36": { "Screen": 2 }, - "37": { "ScriptingTutorialPart1": 2 }, - "38": { "Settingupthegame": 1 }, - "39": { "TemplateVerbcoin": 1 }, - "40": { "TextParser": 1 }, - "41": { "Translations": 1 }, - "42": { "UpgradeTo32": 3 }, - "43": { "UpgradeTo33": 1 }, - "44": { "UpgradeTo335": 2 }, - "45": { "UpgradeTo35": 3 }, - "46": { "UpgradeTo36": 1 }, - "47": { "UpgradeTo361": 2 }, - "48": { "UpgradingTo27": 1 }, - "49": { "Viewport": 1 } - }, - "door": { - "0": { "acintro4": 2 }, - "1": { "FAQ": 1 }, - "2": { "GlobalVariables": 1 }, - "3": { "Hotspot": 6 }, - "4": { "MusicAndSound": 1 }, - "5": { "Object": 1 }, - "6": { "Pointers": 3 }, - "7": { "ScriptingTutorialPart2": 2 }, - "8": { "Tumbleweed_door": 41 }, - "9": { "Tumbleweed_extensions": 3 }, - "10": { "Tumbleweed_unhandled": 2 } - }, - "door's": { - "0": { "Tumbleweed_door": 1 } - }, - "doors": { - "0": { "Tumbleweed_door": 2 } - }, - "dos": { - "0": { "EngineConfigFile": 1 } - }, - "dose": { - "0": { "Globalfunctions_Screen": 1 } - }, - "dot": { - "0": { "DynamicSprite": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Pointers": 1 }, - "3": { "ScriptingTutorialPart1": 3 }, - "4": { "Settingupthegame": 2 } - }, - "dots": { - "0": { "FAQ": 2 }, - "1": { "GeneralSettings": 2 } - }, - "double": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Introduction": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "System": 1 }, - "8": { "Tumbleweed": 1 }, - "9": { "Tumbleweed_helper": 1 }, - "10": { "UpgradeTo31": 1 } - }, - "double-click": { - "0": { "acintro2": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro7": 3 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorPreferences": 1 } - }, - "double-clicking": { - "0": { "acintro1": 2 }, - "1": { "acintro9": 1 }, - "2": { "EditorCharacter": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorFont": 1 } - }, - "double-equals": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "double-left-click": { - "0": { "Settingupthegame": 1 } - }, - "double-quote": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "double-quotes": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "Translations": 1 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "double-slash": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "double-vertical-bar": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "doubt": { - "0": { "BackingUpYourGame": 1 } - }, - "down": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 3 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 1 }, - "6": { "acintro9": 1 }, - "7": { "AdvancedRoomFeatures": 4 }, - "8": { "BuildAndroid": 4 }, - "9": { "Camera": 2 }, - "10": { "Character": 4 }, - "11": { "ContactingTheDevelopers": 1 }, - "12": { "DefaultSetup": 4 }, - "13": { "DynamicSprite": 2 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EditorView": 1 }, - "17": { "EnginePluginDesign-timeAPI": 1 }, - "18": { "EnginePluginRun-timeAPI": 6 }, - "19": { "FAQ": 1 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "GeneralSettings": 3 }, - "22": { "Globalfunctions_Event": 1 }, - "23": { "Globalfunctions_General": 5 }, - "24": { "Globalfunctions_Screen": 1 }, - "25": { "GUI": 1 }, - "26": { "InvWindow": 2 }, - "27": { "KeyboardShortcuts": 1 }, - "28": { "Keycodes": 1 }, - "29": { "ListBox": 6 }, - "30": { "Maths": 3 }, - "31": { "Mouse": 1 }, - "32": { "Multimedia": 1 }, - "33": { "Object": 1 }, - "34": { "Overlay": 1 }, - "35": { "Pointers": 1 }, - "36": { "ScriptKeywords": 1 }, - "37": { "ScriptModules": 1 }, - "38": { "Settingupthegame": 3 }, - "39": { "Setup": 2 }, - "40": { "Speech": 1 }, - "41": { "String": 1 }, - "42": { "System": 1 }, - "43": { "TemplateSierraStyle": 1 }, - "44": { "Tumbleweed": 1 }, - "45": { "Tumbleweed_movement": 1 }, - "46": { "UpgradeTo30": 1 }, - "47": { "UpgradeTo33": 1 }, - "48": { "UpgradeTo36": 1 }, - "49": { "Viewport": 2 } - }, - "down-left": { - "0": { "Settingupthegame": 1 } - }, - "down-right": { - "0": { "Settingupthegame": 1 } - }, - "downer": { - "0": { "Pointers": 1 } - }, - "downgrading": { - "0": { "Settingupthegame": 1 } - }, - "download": { - "0": { "acintro1": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DistGame": 3 }, - "3": { "EditorPlugins": 2 }, - "4": { "Lipsync": 1 }, - "5": { "Multimedia": 1 }, - "6": { "Translations": 1 }, - "7": { "TroubleshootingWindowsZoneID": 2 }, - "8": { "VoiceSpeech": 1 } - }, - "downloaded": { - "0": { "acintro1": 1 }, - "1": { "DistGame": 1 }, - "2": { "Introduction": 1 }, - "3": { "Plugins": 1 }, - "4": { "ScriptModules": 1 }, - "5": { "Templates": 2 }, - "6": { "TroubleshootingWindowsZoneID": 3 } - }, - "downloading": { - "0": { "MIDI-playback": 1 }, - "1": { "Templates": 1 } - }, - "downscaled": { - "0": { "UpgradeTo35": 1 } - }, - "downwards": { - "0": { "CustomDialogOptions": 1 }, - "1": { "TemplateSierraStyle": 1 } - }, - "dr": { - "0": { "Dialog": 2 } - }, - "drag": { - "0": { "acintro2": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorGUI": 6 }, - "3": { "EditorSprite": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Lipsync": 1 }, - "6": { "MusicAndSound": 2 }, - "7": { "UpgradeTo33": 2 } - }, - "dragged": { - "0": { "acintro2": 1 }, - "1": { "Lipsync": 1 }, - "2": { "Slider": 1 } - }, - "dragging": { - "0": { "acintro4": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorRoom": 5 }, - "3": { "Settingupthegame": 1 } - }, - "draw": { - "0": { "acintro2": 7 }, - "1": { "acintro3": 2 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "Button": 1 }, - "4": { "Character": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "DialogOptionsRenderingInfo": 8 }, - "8": { "DrawingSurface": 18 }, - "9": { "DynamicSprite": 8 }, - "10": { "EditorGUI": 1 }, - "11": { "EditorRoom": 1 }, - "12": { "EnginePluginRun-timeAPI": 8 }, - "13": { "Game": 1 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Gamevariables": 1 }, - "16": { "GeneralSettings": 1 }, - "17": { "Globalfunctions_General": 2 }, - "18": { "Globalfunctions_Message": 1 }, - "19": { "Globalfunctions_Room": 2 }, - "20": { "Hotspot": 1 }, - "21": { "Object": 1 }, - "22": { "Overlay": 1 }, - "23": { "Region": 1 }, - "24": { "Room": 2 }, - "25": { "RuntimeEngine": 2 }, - "26": { "ScriptAPIOverview": 1 }, - "27": { "Settingupthegame": 2 }, - "28": { "Slider": 4 }, - "29": { "System": 2 }, - "30": { "TextBox": 1 }, - "31": { "UpgradeTo30": 2 }, - "32": { "UpgradeTo34": 1 }, - "33": { "UpgradeTo35": 1 }, - "34": { "Viewport": 2 } - }, - "drawbacks": { - "0": { "GeneralSettings": 1 } - }, - "drawing": { - "0": { "acintro2": 4 }, - "1": { "Camera": 1 }, - "2": { "Character": 1 }, - "3": { "Credits": 1 }, - "4": { "CustomDialogOptions": 2 }, - "5": { "Dialog": 1 }, - "6": { "DialogOptionsRenderingInfo": 2 }, - "7": { "DrawingSurface": 17 }, - "8": { "DynamicSprite": 4 }, - "9": { "EditorRoom": 1 }, - "10": { "EnginePluginRun-timeAPI": 8 }, - "11": { "GeneralSettings": 1 }, - "12": { "Globalfunctions_General": 3 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "GUI": 1 }, - "15": { "Hotspot": 1 }, - "16": { "Object": 1 }, - "17": { "Overlay": 1 }, - "18": { "Region": 1 }, - "19": { "Room": 1 }, - "20": { "System": 1 }, - "21": { "TemplateVerbcoin": 1 }, - "22": { "TextParser": 1 }, - "23": { "UpgradeTo30": 4 }, - "24": { "UpgradeTo33": 2 }, - "25": { "Viewport": 1 } - }, - "drawn": { - "0": { "acintro2": 5 }, - "1": { "acintro3": 5 }, - "2": { "acintro4": 4 }, - "3": { "acintro9": 2 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "Button": 2 }, - "6": { "Camera": 1 }, - "7": { "Character": 3 }, - "8": { "DrawingSurface": 4 }, - "9": { "DynamicSprite": 1 }, - "10": { "EditorFont": 2 }, - "11": { "EditorGUI": 5 }, - "12": { "EditorSprite": 1 }, - "13": { "EnginePluginRun-timeAPI": 6 }, - "14": { "FAQ": 1 }, - "15": { "Game": 1 }, - "16": { "GameEventsOrder": 1 }, - "17": { "GeneralSettings": 4 }, - "18": { "Globalfunctions_General": 3 }, - "19": { "Globalfunctions_Room": 2 }, - "20": { "Globalfunctions_Screen": 1 }, - "21": { "GUI": 3 }, - "22": { "GUIControl": 2 }, - "23": { "ListBox": 3 }, - "24": { "Object": 1 }, - "25": { "Overlay": 3 }, - "26": { "Settingupthegame": 3 }, - "27": { "Slider": 2 }, - "28": { "TextBox": 1 }, - "29": { "UpgradeTo35": 1 }, - "30": { "UpgradeTo36": 2 }, - "31": { "Viewport": 2 } - }, - "draws": { - "0": { "DrawingSurface": 3 }, - "1": { "DynamicSprite": 7 }, - "2": { "EditorGUI": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "Room": 1 }, - "5": { "Settingupthegame": 1 } - }, - "drew": { - "0": { "Settingupthegame": 1 } - }, - "drive": { - "0": { "Multimedia": 14 }, - "1": { "MusicAndSound": 1 } - }, - "driver": { - "0": { "Character": 2 }, - "1": { "DefaultSetup": 7 }, - "2": { "DynamicSprite": 1 }, - "3": { "EngineConfigFile": 7 }, - "4": { "EnginePluginRun-timeAPI": 20 }, - "5": { "Game": 2 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GraphicsDriver": 8 }, - "8": { "MIDI-playback": 1 }, - "9": { "Multimedia": 1 }, - "10": { "Object": 2 }, - "11": { "Room": 1 }, - "12": { "RuntimeEngine": 1 }, - "13": { "Setup": 5 }, - "14": { "System": 6 }, - "15": { "UpgradeTo341": 1 } - }, - "driverID": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "drivers": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GraphicsDriver": 3 }, - "4": { "Multimedia": 1 }, - "5": { "RuntimeEngine": 1 }, - "6": { "Setup": 1 } - }, - "drives": { - "0": { "Multimedia": 2 } - }, - "drop": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 2 }, - "2": { "MusicAndSound": 2 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "ScriptKeywords": 2 }, - "5": { "Tumbleweed": 1 }, - "6": { "UpgradeTo33": 1 } - }, - "drop-down": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 2 }, - "4": { "Translations": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "dropdown": { - "0": { "acintro2": 1 } - }, - "dropping": { - "0": { "InventoryItem": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "droves": { - "0": { "MusicAndSound": 1 } - }, - "ds": { - "0": { "DynamicSprite": 3 } - }, - "dsp": { - "0": { "EngineConfigFile": 1 } - }, - "dt": { - "0": { "DateTime": 11 } - }, - "dual-licensed": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "due": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "DistGame": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "dull": { - "0": { "Object": 1 } - }, - "dummy": { - "0": { "EngineConfigFile": 2 }, - "1": { "GlobalArrays": 1 } - }, - "duplicate": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Set": 1 } - }, - "duplicates": { - "0": { "TheScriptHeader": 1 } - }, - "duplicating": { - "0": { "ScriptKeywords": 1 } - }, - "duration": { - "0": { "Button": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Object": 1 } - }, - "during": { - "0": { "acintro2": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 4 }, - "3": { "AudioChannel": 2 }, - "4": { "BackingUpYourGame": 1 }, - "5": { "Button": 1 }, - "6": { "Character": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "DefaultSetup": 2 }, - "9": { "Dialog": 1 }, - "10": { "DistGame": 1 }, - "11": { "EditorCharacter": 1 }, - "12": { "EditorCursor": 1 }, - "13": { "EditorGUI": 4 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EnginePluginDesign-timeAPI": 1 }, - "16": { "EnginePluginRun-timeAPI": 1 }, - "17": { "Game": 2 }, - "18": { "Gamevariables": 1 }, - "19": { "GeneralSettings": 3 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "Globalfunctions_Palette": 1 }, - "22": { "Globalfunctions_Room": 1 }, - "23": { "GUIControl": 2 }, - "24": { "ImportingFunctionsAndVariables": 1 }, - "25": { "Label": 1 }, - "26": { "Lipsync": 3 }, - "27": { "Mouse": 2 }, - "28": { "Object": 1 }, - "29": { "ScriptAPIOverview": 1 }, - "30": { "Settingupthegame": 4 }, - "31": { "Setup": 1 }, - "32": { "TheScriptHeader": 1 }, - "33": { "Tumbleweed_movement": 1 }, - "34": { "UpgradeTo36": 1 }, - "35": { "Viewport": 1 } - }, - "dyn": { - "0": { "GameSavesCompatibility": 5 } - }, - "dynamic": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Dictionary": 3 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicArrays": 11 }, - "4": { "DynamicSprite": 28 }, - "5": { "EnginePluginRun-timeAPI": 6 }, - "6": { "GameSavesCompatibility": 9 }, - "7": { "GraphicsDriver": 1 }, - "8": { "OOProgramming": 2 }, - "9": { "Overlay": 2 }, - "10": { "ScriptKeywords": 10 }, - "11": { "Set": 2 }, - "12": { "SystemLimits": 1 }, - "13": { "TemplateVerbcoin": 2 }, - "14": { "UpgradeTo30": 2 }, - "15": { "UpgradeTo34": 1 }, - "16": { "UpgradeTo35": 1 } - }, - "dynamically": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "GUI": 6 }, - "5": { "GUIControl": 8 }, - "6": { "Mouse": 2 }, - "7": { "Overlay": 3 }, - "8": { "Set": 1 }, - "9": { "UpgradeTo36": 1 } - }, - "e'": { - "0": { "Tumbleweed_movement": 1 } - }, - "e-mails": { - "0": { "ContactingTheDevelopers": 1 } - }, - "eA": { - "0": { "ScriptKeywords": 3 } - }, - "eAlignBottomCenter": { - "0": { "StandardEnums": 1 } - }, - "eAlignBottomLeft": { - "0": { "StandardEnums": 2 } - }, - "eAlignBottomRight": { - "0": { "StandardEnums": 1 } - }, - "eAlignCenter": { - "0": { "Label": 1 }, - "1": { "ListBox": 1 }, - "2": { "StandardEnums": 1 } - }, - "eAlignCentre": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "Speech": 2 } - }, - "eAlignHasBottom": { - "0": { "StandardEnums": 1 } - }, - "eAlignHasHorCenter": { - "0": { "StandardEnums": 1 } - }, - "eAlignHasLeft": { - "0": { "StandardEnums": 2 } - }, - "eAlignHasRight": { - "0": { "StandardEnums": 1 } - }, - "eAlignHasTop": { - "0": { "StandardEnums": 1 } - }, - "eAlignHasVerCenter": { - "0": { "StandardEnums": 1 } - }, - "eAlignLeft": { - "0": { "Character": 2 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "Gamevariables": 1 }, - "3": { "Label": 1 }, - "4": { "ListBox": 1 }, - "5": { "Speech": 1 }, - "6": { "StandardEnums": 1 } - }, - "eAlignMiddleCenter": { - "0": { "StandardEnums": 1 } - }, - "eAlignMiddleLeft": { - "0": { "StandardEnums": 2 } - }, - "eAlignMiddleRight": { - "0": { "StandardEnums": 1 } - }, - "eAlignNone": { - "0": { "StandardEnums": 1 } - }, - "eAlignRight": { - "0": { "Character": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "Label": 1 }, - "3": { "ListBox": 1 }, - "4": { "Speech": 2 }, - "5": { "StandardEnums": 1 } - }, - "eAlignTopCenter": { - "0": { "StandardEnums": 2 } - }, - "eAlignTopLeft": { - "0": { "StandardEnums": 3 } - }, - "eAlignTopRight": { - "0": { "StandardEnums": 2 } - }, - "eAnywhere": { - "0": { "Character": 3 }, - "1": { "Object": 1 }, - "2": { "RepExec": 2 }, - "3": { "StandardEnums": 1 } - }, - "eAudioFileMIDI": { - "0": { "AudioClip": 1 }, - "1": { "StandardEnums": 1 } - }, - "eAudioFileMOD": { - "0": { "StandardEnums": 1 } - }, - "eAudioFileOGG": { - "0": { "StandardEnums": 1 } - }, - "eAudioFileVOC": { - "0": { "StandardEnums": 1 } - }, - "eAudioFileWAV": { - "0": { "StandardEnums": 1 } - }, - "eAudioPriorityHigh": { - "0": { "AudioClip": 1 }, - "1": { "StandardEnums": 1 } - }, - "eAudioPriorityLow": { - "0": { "MusicAndSound": 1 }, - "1": { "StandardEnums": 1 } - }, - "eAudioPriorityNormal": { - "0": { "StandardEnums": 1 } - }, - "eAudioPriorityVeryHigh": { - "0": { "StandardEnums": 1 } - }, - "eAudioPriorityVeryLow": { - "0": { "StandardEnums": 1 } - }, - "eAudioTypeMusic": { - "0": { "AudioClip": 1 }, - "1": { "Game": 4 } - }, - "eB": { - "0": { "ScriptKeywords": 3 } - }, - "eBackwards": { - "0": { "Button": 2 }, - "1": { "Character": 3 }, - "2": { "Object": 3 }, - "3": { "StandardEnums": 1 } - }, - "eBlock": { - "0": { "acintro7": 1 }, - "1": { "Button": 2 }, - "2": { "Character": 17 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Hotspot": 3 }, - "5": { "Object": 5 }, - "6": { "RepExec": 3 }, - "7": { "StandardEnums": 1 }, - "8": { "UpgradingTo27": 4 } - }, - "eC": { - "0": { "ScriptKeywords": 2 } - }, - "eCDAudioFunction": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 2 } - }, - "eCDCloseTray": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDEject": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDGetCDDriveCount": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDGetNumTracks": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDGetPlayingStatus": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDIsDriverPresent": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDPausePlayback": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDPlayTrack": { - "0": { "Multimedia": 2 }, - "1": { "StandardEnums": 1 } - }, - "eCDResumePlayback": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCDSelectActiveCDDrive": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eCaseInsensitive": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 }, - "2": { "StandardEnums": 1 } - }, - "eCaseSensitive": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 }, - "2": { "StandardEnums": 1 } - }, - "eDir": { - "0": { "Tumbleweed": 2 }, - "1": { "Tumbleweed_door": 2 }, - "2": { "Tumbleweed_movement": 2 }, - "3": { "Tumbleweed_player": 1 } - }, - "eDirection": { - "0": { "Tumbleweed_door": 4 }, - "1": { "Tumbleweed_movement": 8 }, - "2": { "Tumbleweed_player": 1 } - }, - "eDirectionDown": { - "0": { "StandardEnums": 1 } - }, - "eDirectionDownLeft": { - "0": { "StandardEnums": 1 } - }, - "eDirectionDownRight": { - "0": { "StandardEnums": 1 } - }, - "eDirectionLeft": { - "0": { "StandardEnums": 1 } - }, - "eDirectionNone": { - "0": { "StandardEnums": 1 } - }, - "eDirectionRight": { - "0": { "Character": 1 }, - "1": { "StandardEnums": 1 } - }, - "eDirectionUp": { - "0": { "StandardEnums": 1 } - }, - "eDirectionUpLeft": { - "0": { "StandardEnums": 1 } - }, - "eDirectionUpRight": { - "0": { "Character": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventAddInventory": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventEnterRoomAfterFadein": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "StandardEnums": 2 } - }, - "eEventEnterRoomBeforeFadein": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "Object": 1 }, - "3": { "StandardEnums": 1 } - }, - "eEventGUIMouseDown": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventGUIMouseUp": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventGameSaved": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "StandardEnums": 2 } - }, - "eEventGotScore": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "StandardEnums": 1 } - }, - "eEventLeaveRoom": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventLeaveRoomAfterFadeout": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "StandardEnums": 2 } - }, - "eEventLoseInventory": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "StandardEnums": 1 } - }, - "eEventRestoreGame": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "StandardEnums": 1 } - }, - "eFileAppend": { - "0": { "File": 3 }, - "1": { "StandardEnums": 1 } - }, - "eFileRead": { - "0": { "File": 11 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 1 }, - "3": { "StandardEnums": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "eFileWrite": { - "0": { "File": 13 }, - "1": { "Pointers": 2 }, - "2": { "StandardEnums": 1 } - }, - "eFlipBoth": { - "0": { "DynamicSprite": 1 }, - "1": { "StandardEnums": 1 } - }, - "eFlipDirection": { - "0": { "DynamicSprite": 1 }, - "1": { "StandardEnums": 2 } - }, - "eFlipLeftToRight": { - "0": { "DynamicArrays": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "StandardEnums": 1 } - }, - "eFlipUpsideDown": { - "0": { "DynamicSprite": 2 }, - "1": { "StandardEnums": 1 } - }, - "eFont": { - "0": { "StandardEnums": 1 } - }, - "eFontForeign": { - "0": { "Label": 1 } - }, - "eFontMain": { - "0": { "Button": 1 } - }, - "eFontNormal": { - "0": { "CustomDialogOptions": 5 }, - "1": { "TextBox": 1 } - }, - "eFontSpecial": { - "0": { "Game": 1 } - }, - "eFontSpeech": { - "0": { "Globalfunctions_General": 3 }, - "1": { "ListBox": 1 } - }, - "eFontStandard": { - "0": { "Game": 1 } - }, - "eFontXXXX": { - "0": { "StandardEnums": 2 } - }, - "eForwards": { - "0": { "Button": 1 }, - "1": { "Character": 5 }, - "2": { "Object": 1 }, - "3": { "RepExec": 1 }, - "4": { "StandardEnums": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "eGA": { - "0": { "Tumbleweed": 16 }, - "1": { "Tumbleweed_movement": 1 }, - "2": { "Tumbleweed_translation": 4 }, - "3": { "Tumbleweed_unhandled": 1 } - }, - "eGUIPopupModal": { - "0": { "GUI": 1 }, - "1": { "StandardEnums": 1 } - }, - "eGUIPopupMouseYPos": { - "0": { "GUI": 1 }, - "1": { "StandardEnums": 1 } - }, - "eGUIPopupNormal": { - "0": { "GUI": 1 }, - "1": { "StandardEnums": 1 } - }, - "eGUIPopupPersistent": { - "0": { "GUI": 1 }, - "1": { "StandardEnums": 1 } - }, - "eInputAny": { - "0": { "Globalfunctions_Wait": 2 }, - "1": { "StandardEnums": 1 } - }, - "eInputKeyboard": { - "0": { "Globalfunctions_Wait": 2 }, - "1": { "StandardEnums": 3 } - }, - "eInputMouse": { - "0": { "Globalfunctions_Wait": 2 }, - "1": { "StandardEnums": 1 } - }, - "eInputNone": { - "0": { "StandardEnums": 1 } - }, - "eKeepMoving": { - "0": { "Character": 5 }, - "1": { "StandardEnums": 1 } - }, - "eKeyA": { - "0": { "Keycodes": 5 }, - "1": { "TemplateSierraStyle": 1 } - }, - "eKeyAltLeft": { - "0": { "Keycodes": 1 } - }, - "eKeyAltRight": { - "0": { "Keycodes": 2 } - }, - "eKeyAmpersand": { - "0": { "Keycodes": 1 } - }, - "eKeyAsterisk": { - "0": { "Keycodes": 1 } - }, - "eKeyAt": { - "0": { "Keycodes": 1 } - }, - "eKeyB": { - "0": { "Keycodes": 1 } - }, - "eKeyBackSlash": { - "0": { "Keycodes": 1 } - }, - "eKeyBackspace": { - "0": { "Keycodes": 1 } - }, - "eKeyC": { - "0": { "Keycodes": 1 } - }, - "eKeyCloseBracket": { - "0": { "Keycodes": 1 } - }, - "eKeyCloseParenthesis": { - "0": { "Keycodes": 1 } - }, - "eKeyCode": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Keycodes": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "Speech": 1 }, - "8": { "System": 2 }, - "9": { "TemplateSierraStyle": 4 }, - "10": { "UpgradeTo36": 2 } - }, - "eKeyCodeCtrlA": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyCodeMask": { - "0": { "Globalfunctions_Wait": 3 }, - "1": { "Keycodes": 2 } - }, - "eKeyColon": { - "0": { "Keycodes": 1 } - }, - "eKeyComma": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlA": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlB": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlC": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlD": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlE": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlF": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlG": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlH": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlI": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlJ": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlK": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlL": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlLeft": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Keycodes": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "eKeyCtrlM": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlN": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlO": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlP": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlQ": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlR": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlRight": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlS": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlT": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlU": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlV": { - "0": { "Keycodes": 1 }, - "1": { "System": 1 } - }, - "eKeyCtrlW": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlX": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlY": { - "0": { "Keycodes": 1 } - }, - "eKeyCtrlZ": { - "0": { "Keycodes": 1 } - }, - "eKeyD": { - "0": { "Keycodes": 1 }, - "1": { "TemplateSierraStyle": 1 } - }, - "eKeyDelete": { - "0": { "Keycodes": 1 } - }, - "eKeyDollar": { - "0": { "Keycodes": 1 } - }, - "eKeyDoubleQuote": { - "0": { "Keycodes": 1 } - }, - "eKeyDownArrow": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Keycodes": 1 } - }, - "eKeyE": { - "0": { "Keycodes": 1 } - }, - "eKeyEnd": { - "0": { "Keycodes": 1 } - }, - "eKeyEquals": { - "0": { "Keycodes": 1 } - }, - "eKeyEscape": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Keycodes": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "System": 1 } - }, - "eKeyExclamationMark": { - "0": { "Keycodes": 1 } - }, - "eKeyF": { - "0": { "Keycodes": 1 } - }, - "eKeyForwardSlash": { - "0": { "Keycodes": 1 } - }, - "eKeyG": { - "0": { "Keycodes": 1 } - }, - "eKeyGreaterThan": { - "0": { "Keycodes": 1 } - }, - "eKeyH": { - "0": { "Keycodes": 1 } - }, - "eKeyHash": { - "0": { "Keycodes": 1 } - }, - "eKeyHome": { - "0": { "Keycodes": 1 } - }, - "eKeyHyphen": { - "0": { "Keycodes": 1 } - }, - "eKeyI": { - "0": { "Keycodes": 1 } - }, - "eKeyInsert": { - "0": { "Keycodes": 1 } - }, - "eKeyJ": { - "0": { "Keycodes": 1 } - }, - "eKeyK": { - "0": { "Keycodes": 1 } - }, - "eKeyL": { - "0": { "Keycodes": 1 } - }, - "eKeyLeftArrow": { - "0": { "Keycodes": 1 } - }, - "eKeyLessThan": { - "0": { "Keycodes": 1 } - }, - "eKeyM": { - "0": { "Keycodes": 1 } - }, - "eKeyMod": { - "0": { "Keycodes": 2 } - }, - "eKeyModAlt": { - "0": { "Keycodes": 2 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModAltLeft": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModAltRight": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModCaps": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModCtrl": { - "0": { "Globalfunctions_Event": 4 }, - "1": { "Globalfunctions_Wait": 1 }, - "2": { "Keycodes": 2 }, - "3": { "UpgradeTo36": 5 } - }, - "eKeyModCtrlLeft": { - "0": { "Keycodes": 3 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModCtrlRight": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModMask": { - "0": { "Globalfunctions_Wait": 2 }, - "1": { "Keycodes": 2 } - }, - "eKeyModNum": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModShift": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModShiftLeft": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyModShiftRight": { - "0": { "Keycodes": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "eKeyN": { - "0": { "Keycodes": 1 } - }, - "eKeyNone": { - "0": { "Keycodes": 1 }, - "1": { "Speech": 1 } - }, - "eKeyO": { - "0": { "Keycodes": 1 } - }, - "eKeyOpenBracket": { - "0": { "Keycodes": 1 } - }, - "eKeyOpenParenthesis": { - "0": { "Keycodes": 1 } - }, - "eKeyP": { - "0": { "Keycodes": 1 } - }, - "eKeyPageDown": { - "0": { "Keycodes": 1 } - }, - "eKeyPageUp": { - "0": { "Keycodes": 1 } - }, - "eKeyPercent": { - "0": { "Keycodes": 1 } - }, - "eKeyPeriod": { - "0": { "Keycodes": 1 } - }, - "eKeyPlus": { - "0": { "Keycodes": 2 } - }, - "eKeyQ": { - "0": { "Keycodes": 1 } - }, - "eKeyQuestionMark": { - "0": { "Keycodes": 1 } - }, - "eKeyR": { - "0": { "Keycodes": 1 } - }, - "eKeyReturn": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "Keycodes": 1 } - }, - "eKeyRightArrow": { - "0": { "Keycodes": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "eKeyS": { - "0": { "Globalfunctions_Wait": 1 }, - "1": { "Keycodes": 1 }, - "2": { "TemplateSierraStyle": 1 } - }, - "eKeySemiColon": { - "0": { "Keycodes": 1 } - }, - "eKeyShiftLeft": { - "0": { "Keycodes": 2 } - }, - "eKeyShiftRight": { - "0": { "Keycodes": 1 } - }, - "eKeySingleQuote": { - "0": { "Keycodes": 1 } - }, - "eKeySpace": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Keycodes": 1 }, - "5": { "Speech": 1 } - }, - "eKeyT": { - "0": { "Keycodes": 1 } - }, - "eKeyTab": { - "0": { "Keycodes": 1 } - }, - "eKeyU": { - "0": { "Keycodes": 1 } - }, - "eKeyUnderscore": { - "0": { "Keycodes": 1 } - }, - "eKeyUpArrow": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Keycodes": 1 } - }, - "eKeyV": { - "0": { "Keycodes": 1 } - }, - "eKeyW": { - "0": { "Keycodes": 1 }, - "1": { "TemplateSierraStyle": 1 } - }, - "eKeyX": { - "0": { "Keycodes": 1 } - }, - "eKeyY": { - "0": { "Keycodes": 1 } - }, - "eKeyZ": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Keycodes": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "eKeyboardMovementModeNone": { - "0": { "TemplateSierraStyle": 1 } - }, - "eKeyboardMovementModePressing": { - "0": { "TemplateSierraStyle": 2 } - }, - "eKeyboardMovementModeTapping": { - "0": { "TemplateSierraStyle": 1 } - }, - "eLangDE": { - "0": { "Tumbleweed": 1 } - }, - "eLangEN": { - "0": { "Tumbleweed": 2 } - }, - "eLangES": { - "0": { "Tumbleweed": 1 } - }, - "eLangFR": { - "0": { "Tumbleweed": 1 } - }, - "eLangIT": { - "0": { "Tumbleweed": 1 } - }, - "eLangNL": { - "0": { "Tumbleweed": 1 } - }, - "eLangPT": { - "0": { "Tumbleweed": 1 } - }, - "eLocationCharacter": { - "0": { "Globalfunctions_General": 2 }, - "1": { "StandardEnums": 1 } - }, - "eLocationHotspot": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eLocationNothing": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eLocationObject": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eLogAlert": { - "0": { "StandardEnums": 1 } - }, - "eLogDebug": { - "0": { "StandardEnums": 1 } - }, - "eLogError": { - "0": { "StandardEnums": 1 } - }, - "eLogFatal": { - "0": { "StandardEnums": 1 } - }, - "eLogInfo": { - "0": { "AudioClip": 1 }, - "1": { "Dialog": 1 }, - "2": { "File": 1 }, - "3": { "GUIControl": 1 }, - "4": { "Hotspot": 1 }, - "5": { "Object": 1 }, - "6": { "StandardEnums": 1 }, - "7": { "System": 1 } - }, - "eLogWarn": { - "0": { "StandardEnums": 1 } - }, - "eMG": { - "0": { "Tumbleweed": 1 } - }, - "eMode": { - "0": { "Mouse": 1 }, - "1": { "Room": 1 }, - "2": { "StandardEnums": 1 } - }, - "eModeInteract": { - "0": { "Character": 1 }, - "1": { "Hotspot": 1 }, - "2": { "Object": 2 }, - "3": { "TemplateVerbcoin": 2 } - }, - "eModeLookat": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Hotspot": 2 }, - "2": { "InventoryItem": 1 }, - "3": { "Mouse": 2 }, - "4": { "Room": 2 }, - "5": { "TemplateVerbcoin": 1 } - }, - "eModePickup": { - "0": { "TemplateVerbcoin": 1 } - }, - "eModeTalk": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Mouse": 1 } - }, - "eModeTalkto": { - "0": { "Character": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "eModeWait": { - "0": { "Mouse": 1 } - }, - "eModeWalkto": { - "0": { "Mouse": 7 }, - "1": { "Room": 1 } - }, - "eModeXXXX": { - "0": { "StandardEnums": 2 } - }, - "eMouseLeft": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Globalfunctions_Wait": 1 }, - "2": { "GUI": 1 }, - "3": { "Mouse": 3 }, - "4": { "StandardEnums": 1 } - }, - "eMouseLeftInv": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "StandardEnums": 1 } - }, - "eMouseMiddle": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Mouse": 2 }, - "2": { "StandardEnums": 1 } - }, - "eMouseMiddleInv": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "StandardEnums": 1 } - }, - "eMouseRight": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Mouse": 3 }, - "2": { "StandardEnums": 1 } - }, - "eMouseRightInv": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "StandardEnums": 1 } - }, - "eMouseWheelNorth": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "StandardEnums": 1 } - }, - "eMouseWheelSouth": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "StandardEnums": 1 } - }, - "eNoBlock": { - "0": { "Button": 1 }, - "1": { "Character": 10 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "Object": 2 }, - "4": { "RepExec": 2 }, - "5": { "StandardEnums": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "eNonSorted": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 }, - "2": { "StandardEnums": 1 } - }, - "eOSAndroid": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSDOS": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSFreeBSD": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSLinux": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSMacOS": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSPSP": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSWeb": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOSWindows": { - "0": { "StandardEnums": 1 }, - "1": { "System": 2 } - }, - "eOSiOS": { - "0": { "StandardEnums": 1 }, - "1": { "System": 1 } - }, - "eOnce": { - "0": { "AudioClip": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 5 }, - "3": { "Hotspot": 1 }, - "4": { "Object": 2 }, - "5": { "RepExec": 1 }, - "6": { "StandardEnums": 1 }, - "7": { "UpgradingTo27": 1 } - }, - "eOperatingSystem": { - "0": { "StandardEnums": 2 }, - "1": { "System": 1 } - }, - "eOptionOff": { - "0": { "Dialog": 2 }, - "1": { "StandardEnums": 1 } - }, - "eOptionOffForever": { - "0": { "Dialog": 2 }, - "1": { "StandardEnums": 1 } - }, - "eOptionOn": { - "0": { "CustomDialogOptions": 5 }, - "1": { "Dialog": 4 }, - "2": { "StandardEnums": 1 } - }, - "eRepeat": { - "0": { "Button": 3 }, - "1": { "Character": 2 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "Object": 1 }, - "4": { "StandardEnums": 1 } - }, - "eRoundDown": { - "0": { "Maths": 2 }, - "1": { "StandardEnums": 1 } - }, - "eRoundNearest": { - "0": { "Camera": 2 }, - "1": { "Maths": 3 }, - "2": { "StandardEnums": 1 }, - "3": { "Viewport": 2 } - }, - "eRoundUp": { - "0": { "Maths": 3 }, - "1": { "StandardEnums": 1 } - }, - "eSayAlways": { - "0": { "Dialog": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSayNever": { - "0": { "Dialog": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSayUseOptionSetting": { - "0": { "Dialog": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSeekBegin": { - "0": { "File": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSeekCurrent": { - "0": { "File": 2 }, - "1": { "StandardEnums": 1 } - }, - "eSeekEnd": { - "0": { "File": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipAnyKey": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipAnyKeyOrMouseClick": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipESCOnly": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipESCOrRightButton": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipKey": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipKeyMouse": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipKeyMouseTime": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipKeyTime": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipMouse": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipMouseClick": { - "0": { "Globalfunctions_General": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipMouseTime": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSkipNone": { - "0": { "StandardEnums": 1 } - }, - "eSkipScriptOnly": { - "0": { "Globalfunctions_General": 4 }, - "1": { "StandardEnums": 1 } - }, - "eSkipTime": { - "0": { "Speech": 2 }, - "1": { "StandardEnums": 1 } - }, - "eSorted": { - "0": { "Dictionary": 3 }, - "1": { "Set": 2 }, - "2": { "StandardEnums": 1 } - }, - "eSpeechFullScreen": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechLucasarts": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechSierra": { - "0": { "Speech": 2 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechSierraWithBackground": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechStyle": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 2 } - }, - "eSpeechTextOnly": { - "0": { "Speech": 2 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechVoiceAndText": { - "0": { "Speech": 3 }, - "1": { "StandardEnums": 1 } - }, - "eSpeechVoiceOnly": { - "0": { "Speech": 2 }, - "1": { "StandardEnums": 1 } - }, - "eStopMoving": { - "0": { "Character": 11 }, - "1": { "StandardEnums": 1 } - }, - "eTransitionBoxout": { - "0": { "Globalfunctions_Screen": 2 }, - "1": { "StandardEnums": 1 } - }, - "eTransitionCrossfade": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "StandardEnums": 1 } - }, - "eTransitionDissolve": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "StandardEnums": 1 } - }, - "eTransitionFade": { - "0": { "Globalfunctions_Screen": 2 }, - "1": { "StandardEnums": 1 } - }, - "eTransitionInstant": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "StandardEnums": 1 } - }, - "eVerbCoinPositionEast": { - "0": { "TemplateVerbcoin": 2 } - }, - "eVerbCoinPositionNorth": { - "0": { "TemplateVerbcoin": 2 } - }, - "eVerbCoinPositionSouth": { - "0": { "TemplateVerbcoin": 2 } - }, - "eVerbCoinPositionWest": { - "0": { "TemplateVerbcoin": 2 } - }, - "eVerbGuiTemplateLanguage": { - "0": { "Tumbleweed": 1 } - }, - "eVideoSkipAnyKey": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eVideoSkipAnyKeyOrMouse": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eVideoSkipEscKey": { - "0": { "Multimedia": 2 }, - "1": { "StandardEnums": 1 } - }, - "eVideoSkipNotAllowed": { - "0": { "Multimedia": 1 }, - "1": { "StandardEnums": 1 } - }, - "eVoiceMode": { - "0": { "Speech": 1 }, - "1": { "StandardEnums": 2 } - }, - "eVolChangeExisting": { - "0": { "Game": 1 } - }, - "eVolExistingAndFuture": { - "0": { "Game": 3 } - }, - "eVolSetFutureDefault": { - "0": { "Game": 2 } - }, - "eWalkableAreas": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Wait": 1 }, - "2": { "Hotspot": 2 }, - "3": { "Object": 1 }, - "4": { "StandardEnums": 1 } - }, - "each": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 3 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 5 }, - "6": { "AudioClip": 3 }, - "7": { "Button": 1 }, - "8": { "Camera": 2 }, - "9": { "Character": 5 }, - "10": { "ColoursEditor": 1 }, - "11": { "CustomDialogOptions": 3 }, - "12": { "CustomProperties": 1 }, - "13": { "Dialog": 2 }, - "14": { "DialogScript": 1 }, - "15": { "Dictionary": 1 }, - "16": { "DistGame": 2 }, - "17": { "DrawingSurface": 2 }, - "18": { "DynamicSprite": 4 }, - "19": { "EditorDialog": 2 }, - "20": { "EditorGUI": 3 }, - "21": { "EditorLogPanel": 1 }, - "22": { "EditorRoom": 4 }, - "23": { "EditorView": 1 }, - "24": { "EnginePluginRun-timeAPI": 8 }, - "25": { "EventTypes": 2 }, - "26": { "FAQ": 2 }, - "27": { "GameEventsOrder": 1 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "GeneralSettings": 7 }, - "30": { "Globalfunctions_Event": 2 }, - "31": { "Globalfunctions_General": 1 }, - "32": { "Globalfunctions_Palette": 1 }, - "33": { "Globalfunctions_Room": 1 }, - "34": { "GUI": 3 }, - "35": { "GUIControl": 2 }, - "36": { "Hotspot": 2 }, - "37": { "ImportingFunctionsAndVariables": 1 }, - "38": { "InventoryItem": 2 }, - "39": { "InvWindow": 1 }, - "40": { "Lipsync": 10 }, - "41": { "ListBox": 2 }, - "42": { "Mouse": 2 }, - "43": { "Object": 5 }, - "44": { "OOProgramming": 1 }, - "45": { "Plugins": 1 }, - "46": { "Pointers": 2 }, - "47": { "RepExec": 1 }, - "48": { "Room": 1 }, - "49": { "Screen": 1 }, - "50": { "ScriptingTutorialPart1": 4 }, - "51": { "ScriptingTutorialPart2": 2 }, - "52": { "ScriptKeywords": 5 }, - "53": { "Settingupthegame": 7 }, - "54": { "Speech": 1 }, - "55": { "System": 1 }, - "56": { "TextParser": 1 }, - "57": { "Translations": 6 }, - "58": { "Tumbleweed": 1 }, - "59": { "UpgradeTo32": 2 }, - "60": { "UpgradeTo35": 9 }, - "61": { "UpgradeTo36": 3 }, - "62": { "UpgradingTo27": 1 }, - "63": { "Viewport": 1 } - }, - "eagerness": { - "0": { "Character": 1 } - }, - "earlier": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 3 }, - "3": { "acintro6": 2 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 2 }, - "6": { "EditorPlugins": 1 }, - "7": { "EngineConfigFile": 1 }, - "8": { "EnginePluginDesign-timeAPI": 2 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Hotspot": 1 }, - "13": { "Object": 2 }, - "14": { "Preprocessor": 1 }, - "15": { "RepExec": 1 }, - "16": { "ScriptKeywords": 1 }, - "17": { "Settingupthegame": 2 }, - "18": { "String": 1 } - }, - "early": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "Pointers": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "earthquake": { - "0": { "Globalfunctions_Screen": 2 } - }, - "ease": { - "0": { "OOProgramming": 1 } - }, - "easier": { - "0": { "acintro": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 2 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "FAQ": 3 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "ImportingFunctionsAndVariables": 1 }, - "8": { "Mouse": 1 }, - "9": { "MusicAndSound": 2 }, - "10": { "Pointers": 1 }, - "11": { "String": 1 }, - "12": { "TextParser": 1 }, - "13": { "Translations": 1 }, - "14": { "Tumbleweed_extensions": 1 }, - "15": { "UpgradeTo361": 1 }, - "16": { "UpgradingTo27": 1 } - }, - "easiest": { - "0": { "acintro3": 1 }, - "1": { "acintro9": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "TroubleshootingWindowsZoneID": 1 } - }, - "easily": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorGUI": 2 }, - "6": { "EditorSprite": 1 }, - "7": { "Game": 1 }, - "8": { "GlobalVariables": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "MultipleScripts": 2 }, - "11": { "Preprocessor": 1 }, - "12": { "ScriptingTutorialPart1": 2 }, - "13": { "ScriptKeywords": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "SourceControl": 3 }, - "16": { "String": 1 }, - "17": { "UpgradingTo271": 1 } - }, - "east": { - "0": { "Character": 1 } - }, - "easy": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 2 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "Game": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Preprocessor": 1 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "easy-to-remember": { - "0": { "UpgradingTo27": 1 } - }, - "easy-to-use": { - "0": { "Introduction": 1 } - }, - "eat": { - "0": { "TextParser": 6 } - }, - "eats": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "ed": { - "0": { "Tumbleweed": 1 } - }, - "edge": { - "0": { "acintro3": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 6 }, - "3": { "DialogOptionsRenderingInfo": 2 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorInventoryItems": 2 }, - "6": { "EditorRoom": 1 }, - "7": { "EventTypes": 4 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 2 }, - "10": { "Mouse": 1 }, - "11": { "Overlay": 1 }, - "12": { "Room": 8 }, - "13": { "Tumbleweed": 1 } - }, - "edge's": { - "0": { "EditorRoom": 1 } - }, - "edges": { - "0": { "acintro": 1 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 2 }, - "3": { "Camera": 1 }, - "4": { "Character": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorRoom": 2 }, - "7": { "Globalfunctions_Room": 2 }, - "8": { "Tumbleweed": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "edit": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorCommandLineOptions": 1 }, - "4": { "EditorCursor": 1 }, - "5": { "EditorFont": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "EditorPreferences": 1 }, - "9": { "EditorRoom": 2 }, - "10": { "GraphicsDriver": 1 }, - "11": { "Lipsync": 1 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "SourceControl": 1 }, - "15": { "Translations": 1 }, - "16": { "Tumbleweed_translation": 1 }, - "17": { "UpgradeTo30": 1 }, - "18": { "UpgradeTo35": 3 } - }, - "editable": { - "0": { "EditorView": 1 } - }, - "edited": { - "0": { "EditorGUI": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Overlay": 1 } - }, - "editing": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "DistGame": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "EditorPreferences": 1 }, - "5": { "EditorRoom": 2 }, - "6": { "FAQ": 1 }, - "7": { "Lipsync": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "Tumbleweed": 1 }, - "10": { "UpgradeTo33": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "editor": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 4 }, - "6": { "acintro8": 2 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 3 }, - "9": { "AnonymousUsageInfo": 3 }, - "10": { "AudioClip": 2 }, - "11": { "AudioInScript": 1 }, - "12": { "Character": 14 }, - "13": { "Credits": 3 }, - "14": { "CustomProperties": 4 }, - "15": { "Debuggingfeatures": 2 }, - "16": { "Dialog": 3 }, - "17": { "DistGame": 3 }, - "18": { "DrawingSurface": 2 }, - "19": { "EditorCharacter": 1 }, - "20": { "EditorCommandLineOptions": 1 }, - "21": { "EditorCursor": 3 }, - "22": { "EditorDialog": 2 }, - "23": { "EditorGUI": 2 }, - "24": { "EditorPlugins": 7 }, - "25": { "EditorPreferences": 12 }, - "26": { "EditorRoom": 4 }, - "27": { "EditorView": 1 }, - "28": { "EnginePluginDesign-timeAPI": 15 }, - "29": { "EnginePluginRun-timeAPI": 7 }, - "30": { "EnginePlugins": 4 }, - "31": { "FAQ": 1 }, - "32": { "File": 1 }, - "33": { "Game": 8 }, - "34": { "Gamevariables": 3 }, - "35": { "Globalfunctions_Event": 1 }, - "36": { "Globalfunctions_General": 7 }, - "37": { "Globalfunctions_Message": 1 }, - "38": { "Globalfunctions_Room": 4 }, - "39": { "Globalfunctions_Screen": 1 }, - "40": { "GUI": 2 }, - "41": { "GUIControl": 1 }, - "42": { "InventoryItem": 1 }, - "43": { "Lipsync": 2 }, - "44": { "MusicAndSound": 4 }, - "45": { "Object": 3 }, - "46": { "OOProgramming": 2 }, - "47": { "Overlay": 1 }, - "48": { "Parser": 1 }, - "49": { "Preprocessor": 2 }, - "50": { "Region": 6 }, - "51": { "RepExec": 1 }, - "52": { "Room": 5 }, - "53": { "ScriptAPIOverview": 1 }, - "54": { "ScriptingTutorialPart1": 2 }, - "55": { "ScriptKeywords": 1 }, - "56": { "Settingupthegame": 3 }, - "57": { "Slider": 2 }, - "58": { "Speech": 1 }, - "59": { "Templates": 1 }, - "60": { "TextParser": 1 }, - "61": { "Translations": 2 }, - "62": { "TroubleshootingWindowsZoneID": 2 }, - "63": { "Tumbleweed": 2 }, - "64": { "Tumbleweed_door": 1 }, - "65": { "Tumbleweed_extensions": 1 }, - "66": { "UnicodeSupport": 1 }, - "67": { "UpgradeTo30": 5 }, - "68": { "UpgradeTo31": 2 }, - "69": { "UpgradeTo33": 3 }, - "70": { "UpgradeTo34": 1 }, - "71": { "UpgradeTo341": 2 }, - "72": { "UpgradeTo35": 3 }, - "73": { "UpgradeTo36": 1 }, - "74": { "UpgradeTo361": 1 }, - "75": { "UpgradingTo27": 2 }, - "76": { "ViewFrame": 1 }, - "77": { "VoiceSpeech": 1 } - }, - "editor's": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Lipsync": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "editor-version": { - "0": { "Preprocessor": 1 } - }, - "editors": { - "0": { "acintro8": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorPreferences": 1 } - }, - "edu": { - "0": { "Lipsync": 1 } - }, - "effect": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioInScript": 2 }, - "3": { "Button": 2 }, - "4": { "Camera": 2 }, - "5": { "Character": 10 }, - "6": { "DistGame": 1 }, - "7": { "DynamicSprite": 2 }, - "8": { "EditorRoom": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "Game": 2 }, - "12": { "Gamevariables": 1 }, - "13": { "GeneralSettings": 3 }, - "14": { "Globalfunctions_General": 3 }, - "15": { "Globalfunctions_Palette": 4 }, - "16": { "Globalfunctions_Screen": 2 }, - "17": { "Mouse": 4 }, - "18": { "Multimedia": 1 }, - "19": { "Object": 5 }, - "20": { "Preprocessor": 1 }, - "21": { "Region": 2 }, - "22": { "ScriptingTutorialPart1": 1 }, - "23": { "ScriptKeywords": 1 }, - "24": { "Settingupthegame": 2 }, - "25": { "Setup": 1 }, - "26": { "Speech": 1 }, - "27": { "System": 3 }, - "28": { "TextParser": 1 }, - "29": { "UpgradeTo32": 2 }, - "30": { "UpgradeTo35": 3 }, - "31": { "UpgradingTo27": 1 }, - "32": { "Viewport": 1 } - }, - "effectively": { - "0": { "Character": 2 }, - "1": { "DynamicSprite": 2 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "ListBox": 1 }, - "4": { "Object": 2 }, - "5": { "Overlay": 1 }, - "6": { "TemplateBASS": 1 } - }, - "effects": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 2 }, - "2": { "AudioChannel": 1 }, - "3": { "Button": 1 }, - "4": { "Character": 3 }, - "5": { "DateTime": 1 }, - "6": { "DefaultSetup": 2 }, - "7": { "DrawingSurface": 1 }, - "8": { "DynamicSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "EventTypes": 1 }, - "11": { "Gamevariables": 1 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "Globalfunctions_Palette": 2 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "Globalfunctions_Screen": 1 }, - "16": { "GraphicsDriver": 2 }, - "17": { "GUI": 1 }, - "18": { "Mouse": 1 }, - "19": { "MusicAndSound": 2 }, - "20": { "Object": 3 }, - "21": { "Overlay": 1 }, - "22": { "Region": 1 }, - "23": { "Scripting": 1 }, - "24": { "Settingupthegame": 3 }, - "25": { "Setup": 1 }, - "26": { "System": 1 }, - "27": { "UpgradeTo35": 1 }, - "28": { "UpgradeTo36": 1 }, - "29": { "Viewport": 1 } - }, - "efficiency": { - "0": { "Game": 2 } - }, - "efficiently": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "Set": 1 } - }, - "effort": { - "0": { "FAQ": 2 } - }, - "ego": { - "0": { "Character": 1 }, - "1": { "DialogScript": 4 }, - "2": { "VoiceSpeech": 2 } - }, - "egoHealth": { - "0": { "ScriptKeywords": 1 } - }, - "eihter": { - "0": { "Speech": 2 } - }, - "either": { - "0": { "acintro5": 1 }, - "1": { "acintro9": 1 }, - "2": { "AudioClip": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "Button": 2 }, - "5": { "Camera": 1 }, - "6": { "Character": 10 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "Dialog": 1 }, - "9": { "DistGame": 1 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicSprite": 2 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorFont": 1 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorRoom": 2 }, - "16": { "EditorSprite": 1 }, - "17": { "EditorView": 1 }, - "18": { "EngineConfigFile": 3 }, - "19": { "EnginePluginRun-timeAPI": 8 }, - "20": { "FAQ": 1 }, - "21": { "File": 4 }, - "22": { "GeneralSettings": 2 }, - "23": { "Globalfunctions_Event": 1 }, - "24": { "Globalfunctions_General": 3 }, - "25": { "Globalfunctions_Message": 1 }, - "26": { "Globalfunctions_Room": 2 }, - "27": { "Globalfunctions_Screen": 1 }, - "28": { "Globalfunctions_Wait": 2 }, - "29": { "GUI": 1 }, - "30": { "GUIControl": 1 }, - "31": { "Hotspot": 1 }, - "32": { "ImportingFunctionsAndVariables": 1 }, - "33": { "InventoryItem": 1 }, - "34": { "InvWindow": 1 }, - "35": { "Maths": 1 }, - "36": { "Mouse": 1 }, - "37": { "Object": 4 }, - "38": { "Overlay": 2 }, - "39": { "Plugins": 1 }, - "40": { "Pointers": 2 }, - "41": { "Room": 1 }, - "42": { "RuntimeEngine": 3 }, - "43": { "Screen": 1 }, - "44": { "ScriptingTutorialPart1": 1 }, - "45": { "ScriptingTutorialPart2": 2 }, - "46": { "ScriptKeywords": 3 }, - "47": { "Settingupthegame": 2 }, - "48": { "Translations": 3 }, - "49": { "UnicodeSupport": 1 }, - "50": { "UpgradeTo341": 1 }, - "51": { "UpgradeTo35": 2 }, - "52": { "UpgradeTo36": 4 }, - "53": { "UpgradeTo361": 1 }, - "54": { "UpgradingTo27": 1 } - }, - "ejected": { - "0": { "Multimedia": 1 } - }, - "ejects": { - "0": { "Multimedia": 1 } - }, - "el": { - "0": { "Tumbleweed": 1 } - }, - "elaborate": { - "0": { "GameSavesCompatibility": 1 } - }, - "elapsed": { - "0": { "DateTime": 2 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Wait": 5 } - }, - "elected": { - "0": { "Game": 1 } - }, - "elects": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "element": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorRoom": 10 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "GUI": 1 } - }, - "elements": { - "0": { "Character": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DynamicArrays": 4 }, - "4": { "EditorRoom": 1 }, - "5": { "EngineConfigFile": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "GameSavesCompatibility": 7 }, - "8": { "GeneralSettings": 1 }, - "9": { "GlobalArrays": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "GUI": 1 }, - "12": { "InventoryItem": 1 }, - "13": { "Object": 1 }, - "14": { "Overlay": 1 }, - "15": { "Room": 1 }, - "16": { "ScriptAPIOverview": 1 }, - "17": { "SystemLimits": 1 }, - "18": { "UpgradeTo35": 1 } - }, - "elevated": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "eliminate": { - "0": { "Game": 1 } - }, - "eliminated": { - "0": { "SystemLimits": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "eliminates": { - "0": { "Setup": 1 } - }, - "else": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "AnonymousUsageInfo": 1 }, - "3": { "AudioChannel": 1 }, - "4": { "AudioClip": 1 }, - "5": { "Character": 3 }, - "6": { "CustomDialogOptions": 4 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "Dialog": 1 }, - "9": { "DynamicArrays": 2 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "File": 2 }, - "12": { "Game": 4 }, - "13": { "GameSavesCompatibility": 2 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_Event": 2 }, - "16": { "Globalfunctions_General": 2 }, - "17": { "Globalfunctions_Screen": 1 }, - "18": { "GraphicsDriver": 2 }, - "19": { "GUI": 2 }, - "20": { "GUIControl": 4 }, - "21": { "Hotspot": 2 }, - "22": { "ImportingFunctionsAndVariables": 1 }, - "23": { "InventoryItem": 1 }, - "24": { "InvWindow": 1 }, - "25": { "ListBox": 1 }, - "26": { "Mouse": 1 }, - "27": { "RepExec": 1 }, - "28": { "ScriptingTutorialPart2": 9 }, - "29": { "ScriptKeywords": 13 }, - "30": { "Speech": 2 }, - "31": { "String": 3 }, - "32": { "System": 2 }, - "33": { "TemplateVerbcoin": 2 }, - "34": { "TextParser": 2 }, - "35": { "Translations": 1 }, - "36": { "Tumbleweed": 7 }, - "37": { "Tumbleweed_extensions": 1 }, - "38": { "Tumbleweed_translation": 1 }, - "39": { "Tumbleweed_unhandled": 1 }, - "40": { "UpgradeTo30": 1 }, - "41": { "UpgradeTo34": 1 }, - "42": { "UpgradingTo27": 2 }, - "43": { "ViewFrame": 2 }, - "44": { "Viewport": 2 } - }, - "elsewhere": { - "0": { "EditorSprite": 2 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "ScriptingTutorialPart2": 2 }, - "5": { "ScriptKeywords": 2 } - }, - "emanating": { - "0": { "AudioChannel": 1 } - }, - "embedding": { - "0": { "DistGame": 1 } - }, - "emergency": { - "0": { "acintro2": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "emerges": { - "0": { "Gamevariables": 1 } - }, - "emphasis": { - "0": { "TemplateVerbcoin": 1 } - }, - "emphasize": { - "0": { "acintro3": 1 } - }, - "empty": { - "0": { "acintro8": 1 }, - "1": { "acintro9": 1 }, - "2": { "CustomProperties": 1 }, - "3": { "Dictionary": 3 }, - "4": { "DynamicArrays": 2 }, - "5": { "EditorPreferences": 2 }, - "6": { "EditorSprite": 1 }, - "7": { "EngineConfigFile": 2 }, - "8": { "EnginePluginRun-timeAPI": 4 }, - "9": { "FAQ": 1 }, - "10": { "GeneralSettings": 3 }, - "11": { "Multimedia": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "Set": 2 }, - "14": { "Settingupthegame": 1 }, - "15": { "String": 2 }, - "16": { "Templates": 2 }, - "17": { "Translations": 2 }, - "18": { "Viewport": 1 } - }, - "emul": { - "0": { "EngineConfigFile": 2 } - }, - "emulate": { - "0": { "EngineConfigFile": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "emulated": { - "0": { "EngineConfigFile": 1 } - }, - "emulation": { - "0": { "EngineConfigFile": 1 } - }, - "enable": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "Character": 1 }, - "5": { "Dialog": 1 }, - "6": { "EngineConfigFile": 4 }, - "7": { "EnginePluginRun-timeAPI": 3 }, - "8": { "GeneralSettings": 3 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "GUIControl": 1 }, - "11": { "InvWindow": 1 }, - "12": { "Lipsync": 1 }, - "13": { "Mouse": 1 }, - "14": { "ScriptKeywords": 2 }, - "15": { "Settingupthegame": 2 }, - "16": { "Setup": 2 }, - "17": { "System": 1 }, - "18": { "Tumbleweed_actions": 1 }, - "19": { "Tumbleweed_movement": 1 }, - "20": { "UpgradeTo31": 2 }, - "21": { "UpgradeTo34": 2 }, - "22": { "UpgradeTo341": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 1 }, - "25": { "VoiceSpeech": 1 } - }, - "enabled": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 12 }, - "4": { "Constants": 7 }, - "5": { "CustomDialogOptions": 5 }, - "6": { "Debuggingfeatures": 4 }, - "7": { "DefaultSetup": 5 }, - "8": { "Dialog": 4 }, - "9": { "DialogOptionsRenderingInfo": 6 }, - "10": { "DistGame": 4 }, - "11": { "DrawingSurface": 1 }, - "12": { "EditorDialog": 2 }, - "13": { "EngineConfigFile": 3 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "Game": 2 }, - "16": { "GeneralSettings": 9 }, - "17": { "Globalfunctions_Event": 2 }, - "18": { "Globalfunctions_General": 3 }, - "19": { "Globalfunctions_Room": 1 }, - "20": { "GUIControl": 3 }, - "21": { "InventoryItem": 1 }, - "22": { "Mouse": 6 }, - "23": { "Object": 1 }, - "24": { "Preprocessor": 5 }, - "25": { "Region": 1 }, - "26": { "Screen": 1 }, - "27": { "Settingupthegame": 3 }, - "28": { "Setup": 2 }, - "29": { "Speech": 4 }, - "30": { "System": 1 }, - "31": { "TemplateVerbcoin": 1 }, - "32": { "Translations": 3 }, - "33": { "UpgradeTo33": 1 }, - "34": { "UpgradeTo36": 3 }, - "35": { "Viewport": 1 } - }, - "enables": { - "0": { "Debuggingfeatures": 1 }, - "1": { "DefaultSetup": 4 }, - "2": { "EngineConfigFile": 2 }, - "3": { "File": 2 }, - "4": { "GeneralSettings": 1 }, - "5": { "Hotspot": 1 }, - "6": { "Mouse": 1 }, - "7": { "Preprocessor": 1 }, - "8": { "ScriptAPIOverview": 1 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "Setup": 2 }, - "11": { "Tumbleweed_helper": 1 }, - "12": { "UpgradeTo33": 1 }, - "13": { "UpgradeTo361": 1 } - }, - "enabling": { - "0": { "EditorCursor": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "ScriptAPIOverview": 2 }, - "5": { "Settingupthegame": 1 } - }, - "encapsulate": { - "0": { "OOProgramming": 2 } - }, - "encapsulating": { - "0": { "OOProgramming": 1 } - }, - "encapsulation": { - "0": { "OOProgramming": 1 } - }, - "enclosed": { - "0": { "EditorSprite": 1 } - }, - "enclosing": { - "0": { "DrawingSurface": 2 } - }, - "encode": { - "0": { "MusicAndSound": 1 }, - "1": { "Translations": 1 } - }, - "encoding": { - "0": { "GeneralSettings": 1 }, - "1": { "Translations": 13 }, - "2": { "UnicodeSupport": 1 } - }, - "encompass": { - "0": { "acintro2": 1 } - }, - "encountered": { - "0": { "Lipsync": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "ScriptKeywords": 2 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "encounters": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "end": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 2 }, - "4": { "acintro8": 1 }, - "5": { "BlockingScripts": 2 }, - "6": { "Character": 3 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "Dialog": 2 }, - "9": { "DialogScript": 1 }, - "10": { "EditorPlugins": 1 }, - "11": { "EditorView": 1 }, - "12": { "EnginePluginRun-timeAPI": 7 }, - "13": { "File": 2 }, - "14": { "Game": 1 }, - "15": { "GameSavesCompatibility": 1 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 1 }, - "18": { "Globalfunctions_General": 3 }, - "19": { "Globalfunctions_Palette": 1 }, - "20": { "GUI": 1 }, - "21": { "GUIControl": 1 }, - "22": { "KeyboardShortcuts": 4 }, - "23": { "ListBox": 1 }, - "24": { "Multimedia": 1 }, - "25": { "Object": 1 }, - "26": { "ObsoleteScriptAPI": 1 }, - "27": { "ScriptingTutorialPart1": 2 }, - "28": { "ScriptKeywords": 3 }, - "29": { "Speech": 1 }, - "30": { "String": 2 }, - "31": { "Translations": 1 }, - "32": { "Tumbleweed": 2 }, - "33": { "Tumbleweed_unhandled": 1 }, - "34": { "UpgradeTo30": 1 }, - "35": { "UpgradeTo33": 1 }, - "36": { "UpgradeTo34": 2 }, - "37": { "UpgradeTo36": 1 }, - "38": { "UpgradeTo361": 1 } - }, - "end-condition": { - "0": { "ScriptKeywords": 1 } - }, - "ended": { - "0": { "DialogScript": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Wait": 10 }, - "3": { "ScriptKeywords": 2 } - }, - "endif": { - "0": { "Constants": 5 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "Preprocessor": 11 }, - "3": { "ScriptKeywords": 2 } - }, - "ending": { - "0": { "EditorPreferences": 1 } - }, - "endorsement": { - "0": { "MIDI-playback": 1 } - }, - "endpoint": { - "0": { "EditorView": 1 } - }, - "endregion": { - "0": { "Preprocessor": 3 } - }, - "ends": { - "0": { "AudioInScript": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "DynamicArrays": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptKeywords": 3 }, - "7": { "Speech": 2 }, - "8": { "String": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 } - }, - "eneath": { - "0": { "Templates": 1 } - }, - "energetic": { - "0": { "Character": 1 } - }, - "engine": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "Camera": 1 }, - "6": { "Character": 2 }, - "7": { "Credits": 2 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DefaultSetup": 2 }, - "10": { "DistGame": 7 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorLogPanel": 5 }, - "13": { "EngineConfigFile": 12 }, - "14": { "EnginePluginDesign-timeAPI": 1 }, - "15": { "EnginePluginRun-timeAPI": 49 }, - "16": { "File": 1 }, - "17": { "Game": 1 }, - "18": { "Gamevariables": 1 }, - "19": { "GeneralSettings": 2 }, - "20": { "Globalfunctions_General": 2 }, - "21": { "Globalfunctions_Room": 1 }, - "22": { "Globalfunctions_Screen": 1 }, - "23": { "MIDI-playback": 2 }, - "24": { "Mouse": 2 }, - "25": { "Object": 1 }, - "26": { "Overlay": 1 }, - "27": { "RuntimeEngine": 11 }, - "28": { "ScriptAPIOverview": 2 }, - "29": { "ScriptKeywords": 2 }, - "30": { "Settingupthegame": 1 }, - "31": { "Setup": 2 }, - "32": { "System": 7 }, - "33": { "TemplateSierraStyle": 1 }, - "34": { "Translations": 1 }, - "35": { "TroubleshootingWindowsZoneID": 1 }, - "36": { "UpgradeTo33": 1 }, - "37": { "UpgradeTo335": 1 }, - "38": { "UpgradeTo34": 1 }, - "39": { "UpgradeTo36": 11 }, - "40": { "UpgradeTo361": 2 }, - "41": { "Viewport": 1 }, - "42": { "VoiceSpeech": 2 } - }, - "engine's": { - "0": { "EditorLogPanel": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Game": 2 }, - "3": { "RuntimeEngine": 1 } - }, - "english": { - "0": { "UpgradeTo36": 1 } - }, - "enhance": { - "0": { "EditorPlugins": 1 } - }, - "enhanced": { - "0": { "UpgradeTo36": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "enhancements": { - "0": { "UpgradeTo34": 1 } - }, - "enhancing": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePlugins": 1 } - }, - "enjoy": { - "0": { "UpgradingTo27": 1 } - }, - "enlarge": { - "0": { "DynamicSprite": 1 }, - "1": { "UpgradeTo31": 1 }, - "2": { "Viewport": 1 } - }, - "enlarges": { - "0": { "DynamicSprite": 1 } - }, - "enough": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DialogScript": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorLogPanel": 1 }, - "6": { "EditorRoom": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "FAQ": 1 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "StringFormats": 1 }, - "13": { "UnicodeSupport": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "UpgradeTo35": 1 }, - "16": { "UpgradeTo36": 1 } - }, - "ensure": { - "0": { "acintro4": 2 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "File": 1 }, - "3": { "Game": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "MusicAndSound": 1 }, - "6": { "SystemLimits": 1 }, - "7": { "UpgradeTo341": 1 } - }, - "ensures": { - "0": { "BlockingScripts": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 2 }, - "3": { "DefaultSetup": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "Object": 1 }, - "6": { "Setup": 1 } - }, - "ensuring": { - "0": { "EditorLogPanel": 1 } - }, - "entails": { - "0": { "BuildAndroid": 1 } - }, - "enter": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EventTypes": 1 }, - "3": { "FAQ": 2 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_Room": 2 }, - "7": { "Lipsync": 2 }, - "8": { "ScriptModules": 1 }, - "9": { "Settingupthegame": 3 }, - "10": { "TextParser": 1 }, - "11": { "Translations": 1 }, - "12": { "Tumbleweed_door": 1 } - }, - "entering": { - "0": { "Character": 2 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Object": 2 }, - "3": { "Tumbleweed_door": 1 } - }, - "enters": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "EventTypes": 5 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "Room": 2 } - }, - "entire": { - "0": { "acintro7": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "ColoursEditor": 2 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EditorView": 2 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "File": 1 }, - "8": { "GUI": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "Templates": 1 } - }, - "entirely": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "TemplateSierraStyle": 1 }, - "3": { "Viewport": 1 } - }, - "entities": { - "0": { "acintro4": 1 }, - "1": { "Globalfunctions_Event": 2 } - }, - "entrances": { - "0": { "Tumbleweed": 1 } - }, - "entries": { - "0": { "ColoursEditor": 2 }, - "1": { "EditorPlugins": 1 }, - "2": { "ScriptAPIOverview": 1 } - }, - "entry": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 7 }, - "2": { "DistGame": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EnginePluginDesign-timeAPI": 3 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "ScriptModules": 1 }, - "7": { "Settingupthegame": 1 } - }, - "enum": { - "0": { "Globalfunctions_Wait": 1 }, - "1": { "Keycodes": 1 }, - "2": { "ScriptKeywords": 8 }, - "3": { "StandardEnums": 35 }, - "4": { "UpgradingTo27": 3 } - }, - "enumerated": { - "0": { "StandardEnums": 1 }, - "1": { "UpgradingTo27": 2 } - }, - "enumeration": { - "0": { "Keycodes": 4 }, - "1": { "ScriptKeywords": 2 }, - "2": { "StandardEnums": 6 } - }, - "enums": { - "0": { "ScriptKeywords": 2 }, - "1": { "TheScriptHeader": 1 } - }, - "environment": { - "0": { "BuildAndroid": 1 }, - "1": { "EditorPreferences": 2 }, - "2": { "MIDI-playback": 1 }, - "3": { "System": 1 } - }, - "equal": { - "0": { "AudioClip": 2 }, - "1": { "Character": 7 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUI": 2 }, - "5": { "GUIControl": 3 }, - "6": { "Hotspot": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "InvWindow": 1 }, - "9": { "Maths": 1 }, - "10": { "Mouse": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "Object": 3 }, - "13": { "Overlay": 1 }, - "14": { "Room": 1 }, - "15": { "Screen": 2 }, - "16": { "ScriptingTutorialPart1": 3 }, - "17": { "ScriptKeywords": 5 }, - "18": { "UpgradeTo35": 1 }, - "19": { "Viewport": 1 } - }, - "equality": { - "0": { "UpgradingTo271": 1 } - }, - "equally": { - "0": { "GraphicsDriver": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "equals": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Maths": 2 }, - "2": { "ScriptingTutorialPart1": 2 } - }, - "equivalent": { - "0": { "Character": 8 }, - "1": { "Dialog": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "EventTypes": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "GUI": 2 }, - "10": { "GUIControl": 1 }, - "11": { "Hotspot": 4 }, - "12": { "InventoryItem": 4 }, - "13": { "Maths": 2 }, - "14": { "Object": 6 }, - "15": { "Pointers": 1 }, - "16": { "Room": 4 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "String": 1 }, - "19": { "System": 2 }, - "20": { "UpgradeTo30": 1 }, - "21": { "UpgradeTo36": 1 }, - "22": { "UpgradingTo27": 1 }, - "23": { "UpgradingTo271": 1 } - }, - "equivalents": { - "0": { "UpgradeTo35": 1 }, - "1": { "UpgradingTo27": 2 } - }, - "er": { - "0": { "Tumbleweed": 2 } - }, - "era": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "erase": { - "0": { "acintro2": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "Globalfunctions_Room": 2 } - }, - "eraser": { - "0": { "EditorRoom": 1 }, - "1": { "Hotspot": 1 }, - "2": { "Region": 1 } - }, - "erroneous": { - "0": { "AudioInScript": 1 } - }, - "error": { - "0": { "BuildAndroid": 1 }, - "1": { "Character": 2 }, - "2": { "Constants": 2 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "EditorCommandLineOptions": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginRun-timeAPI": 16 }, - "7": { "FAQ": 2 }, - "8": { "File": 12 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 2 }, - "11": { "Globalfunctions_General": 4 }, - "12": { "OOProgramming": 1 }, - "13": { "Plugins": 2 }, - "14": { "Pointers": 4 }, - "15": { "Preprocessor": 5 }, - "16": { "RuntimeEngine": 1 }, - "17": { "ScriptingTutorialPart2": 1 }, - "18": { "ScriptKeywords": 2 }, - "19": { "Slider": 2 }, - "20": { "SystemLimits": 1 }, - "21": { "TroubleshootingWindowsZoneID": 2 }, - "22": { "UpgradingTo27": 1 } - }, - "error-checking": { - "0": { "File": 1 } - }, - "errors": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "FAQ": 1 }, - "2": { "File": 1 }, - "3": { "ImportingFunctionsAndVariables": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "Translations": 1 }, - "7": { "UpgradeTo33": 1 }, - "8": { "UpgradingTo27": 1 }, - "9": { "VoiceSpeech": 1 } - }, - "esd": { - "0": { "EngineConfigFile": 1 } - }, - "especially": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "Room": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "UpgradeTo341": 1 } - }, - "essential": { - "0": { "acintro8": 1 }, - "1": { "acintro9": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 2 }, - "5": { "GlobalArrays": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "RepExec": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "ScriptKeywords": 2 }, - "10": { "Translations": 2 }, - "11": { "UnicodeSupport": 1 } - }, - "essentially": { - "0": { "AudioInScript": 2 }, - "1": { "GameSavesCompatibility": 1 } - }, - "etc": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "Character": 7 }, - "5": { "ContactingTheDevelopers": 2 }, - "6": { "DefaultSetup": 1 }, - "7": { "DistGame": 2 }, - "8": { "DynamicArrays": 2 }, - "9": { "EditorPlugins": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "File": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_Event": 2 }, - "15": { "GUI": 1 }, - "16": { "GUIControl": 2 }, - "17": { "Label": 1 }, - "18": { "MIDI-playback": 1 }, - "19": { "MultipleScripts": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "RepExec": 1 }, - "22": { "Room": 1 }, - "23": { "Screen": 2 }, - "24": { "ScriptingTutorialPart2": 1 }, - "25": { "ScriptKeywords": 2 }, - "26": { "Settingupthegame": 2 }, - "27": { "Setup": 1 }, - "28": { "Tumbleweed": 2 }, - "29": { "Tumbleweed_extensions": 1 }, - "30": { "UnicodeSupport": 1 }, - "31": { "UpgradeTo32": 1 }, - "32": { "UpgradeTo36": 2 }, - "33": { "Viewport": 2 } - }, - "eu": { - "0": { "Tumbleweed": 1 } - }, - "evaluate": { - "0": { "ScriptKeywords": 1 } - }, - "evaluated": { - "0": { "GeneralSettings": 1 } - }, - "evaluates": { - "0": { "ScriptKeywords": 2 } - }, - "even": { - "0": { "acintro4": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 3 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DialogScript": 1 }, - "5": { "EditorPreferences": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "File": 1 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 5 }, - "10": { "Gamevariables": 1 }, - "11": { "GlobalArrays": 1 }, - "12": { "Globalfunctions_Event": 2 }, - "13": { "Lipsync": 1 }, - "14": { "Maths": 1 }, - "15": { "MultipleScripts": 2 }, - "16": { "Object": 3 }, - "17": { "OOProgramming": 2 }, - "18": { "Preprocessor": 1 }, - "19": { "RepExec": 1 }, - "20": { "ScriptKeywords": 1 }, - "21": { "Settingupthegame": 2 }, - "22": { "Speech": 1 }, - "23": { "SystemLimits": 1 }, - "24": { "Translations": 2 }, - "25": { "UnicodeSupport": 4 }, - "26": { "UpgradeTo30": 1 }, - "27": { "UpgradeTo31": 2 }, - "28": { "UpgradeTo34": 1 }, - "29": { "UpgradeTo341": 1 }, - "30": { "UpgradeTo35": 2 }, - "31": { "UpgradeTo36": 1 }, - "32": { "UpgradeTo361": 2 }, - "33": { "Viewport": 1 }, - "34": { "VoiceSpeech": 1 } - }, - "event": { - "0": { "acintro3": 4 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "BlockingScripts": 7 }, - "7": { "Button": 2 }, - "8": { "Character": 8 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "CustomProperties": 2 }, - "11": { "DialogScript": 1 }, - "12": { "DynamicSprite": 4 }, - "13": { "EditorCursor": 2 }, - "14": { "EditorGUI": 4 }, - "15": { "EnginePluginRun-timeAPI": 42 }, - "16": { "EventTypes": 22 }, - "17": { "FAQ": 7 }, - "18": { "Game": 1 }, - "19": { "GameEventsOrder": 2 }, - "20": { "GameSavesCompatibility": 3 }, - "21": { "Gamevariables": 1 }, - "22": { "Globalfunctions_Event": 29 }, - "23": { "Globalfunctions_General": 2 }, - "24": { "Globalfunctions_Room": 8 }, - "25": { "GUI": 3 }, - "26": { "Hotspot": 6 }, - "27": { "InventoryItem": 5 }, - "28": { "Mouse": 1 }, - "29": { "MultipleScripts": 4 }, - "30": { "Object": 9 }, - "31": { "ObsoleteScriptAPI": 1 }, - "32": { "Parser": 1 }, - "33": { "Region": 5 }, - "34": { "RepExec": 2 }, - "35": { "Room": 1 }, - "36": { "Scripting": 1 }, - "37": { "ScriptingTutorialPart1": 5 }, - "38": { "ScriptingTutorialPart2": 6 }, - "39": { "Settingupthegame": 4 }, - "40": { "Slider": 1 }, - "41": { "StandardEnums": 1 }, - "42": { "TemplateBASS": 1 }, - "43": { "TemplateVerbcoin": 3 }, - "44": { "TextParser": 1 }, - "45": { "Tumbleweed": 10 }, - "46": { "Tumbleweed_movement": 1 }, - "47": { "UpgradeTo30": 1 }, - "48": { "UpgradeTo361": 3 } - }, - "event-specific": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "events": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 6 }, - "2": { "acintro4": 4 }, - "3": { "acintro5": 3 }, - "4": { "acintro7": 1 }, - "5": { "acintro9": 2 }, - "6": { "BlockingScripts": 5 }, - "7": { "Character": 3 }, - "8": { "EditorCharacter": 1 }, - "9": { "EditorRoom": 1 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 8 }, - "12": { "EventTypes": 12 }, - "13": { "FAQ": 6 }, - "14": { "Game": 1 }, - "15": { "GameEventsOrder": 4 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_Event": 2 }, - "19": { "Globalfunctions_General": 1 }, - "20": { "Globalfunctions_Room": 8 }, - "21": { "GUI": 1 }, - "22": { "Introduction": 1 }, - "23": { "Region": 1 }, - "24": { "ScriptingLanguage": 1 }, - "25": { "Settingupthegame": 4 }, - "26": { "StartingOff": 1 }, - "27": { "TemplateVerbcoin": 1 }, - "28": { "Tumbleweed": 5 }, - "29": { "Tumbleweed_unhandled": 1 }, - "30": { "UpgradeTo361": 2 } - }, - "eventually": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "Tumbleweed_translation": 1 } - }, - "ever": { - "0": { "Dialog": 2 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "GraphicsDriver": 1 }, - "5": { "Speech": 1 }, - "6": { "UpgradeTo31": 1 }, - "7": { "UpgradeTo361": 1 }, - "8": { "VoiceSpeech": 1 } - }, - "every": { - "0": { "acintro1": 2 }, - "1": { "acintro5": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "Character": 5 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "DialogScript": 1 }, - "8": { "DynamicArrays": 1 }, - "9": { "DynamicSprite": 1 }, - "10": { "EditorFont": 1 }, - "11": { "EditorGUI": 1 }, - "12": { "EditorView": 2 }, - "13": { "EngineConfigFile": 2 }, - "14": { "EnginePluginDesign-timeAPI": 1 }, - "15": { "EnginePluginRun-timeAPI": 8 }, - "16": { "EventTypes": 4 }, - "17": { "File": 1 }, - "18": { "Game": 1 }, - "19": { "GameEventsOrder": 1 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "Globalfunctions_Event": 4 }, - "22": { "Globalfunctions_General": 4 }, - "23": { "Maths": 1 }, - "24": { "OOProgramming": 1 }, - "25": { "Preprocessor": 1 }, - "26": { "RepExec": 2 }, - "27": { "RuntimeEngine": 1 }, - "28": { "Screen": 1 }, - "29": { "ScriptingTutorialPart1": 1 }, - "30": { "ScriptKeywords": 1 }, - "31": { "Settingupthegame": 1 }, - "32": { "Speech": 1 }, - "33": { "System": 1 }, - "34": { "TheScriptHeader": 1 }, - "35": { "Translations": 1 }, - "36": { "Tumbleweed_extensions": 1 }, - "37": { "UpgradeTo341": 1 }, - "38": { "UpgradeTo35": 2 }, - "39": { "UpgradingTo27": 1 } - }, - "everyone": { - "0": { "UpgradeTo33": 1 } - }, - "everything": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "EditorView": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 1 }, - "5": { "GameEventsOrder": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "Globalfunctions_General": 3 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "Templates": 1 }, - "10": { "TheScriptHeader": 1 }, - "11": { "Tumbleweed": 1 }, - "12": { "Tumbleweed_movement": 1 }, - "13": { "Tumbleweed_translation": 1 }, - "14": { "Tumbleweed_unhandled": 1 }, - "15": { "UpgradeTo31": 1 } - }, - "everywhere": { - "0": { "FAQ": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "ImportingFunctionsAndVariables": 1 }, - "5": { "Mouse": 1 }, - "6": { "Multimedia": 1 }, - "7": { "TheScriptHeader": 1 } - }, - "evil": { - "0": { "Room": 1 } - }, - "evt": { - "0": { "GameSavesCompatibility": 6 } - }, - "ex": { - "0": { "DialogScript": 2 }, - "1": { "DistGame": 1 }, - "2": { "Plugins": 2 }, - "3": { "UpgradeTo35": 2 } - }, - "exact": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "File": 1 }, - "7": { "Globalfunctions_Wait": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 1 }, - "10": { "Hotspot": 1 }, - "11": { "InventoryItem": 1 }, - "12": { "Lipsync": 1 }, - "13": { "Mouse": 1 }, - "14": { "Object": 1 }, - "15": { "UpgradeTo33": 1 }, - "16": { "UpgradeTo36": 2 } - }, - "exact-case": { - "0": { "String": 2 } - }, - "exactly": { - "0": { "acintro3": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 3 }, - "3": { "EditorFont": 1 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EditorView": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "File": 1 }, - "9": { "GameSavesCompatibility": 2 }, - "10": { "ImportingFunctionsAndVariables": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "ScriptingTutorialPart2": 2 }, - "13": { "UpgradeTo35": 1 }, - "14": { "UpgradingTo27": 2 } - }, - "examine": { - "0": { "acintro1": 1 } - }, - "examined": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "example": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 2 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 2 }, - "9": { "AudioInScript": 3 }, - "10": { "Button": 1 }, - "11": { "Camera": 1 }, - "12": { "Character": 11 }, - "13": { "Constants": 1 }, - "14": { "CustomDialogOptions": 5 }, - "15": { "CustomProperties": 3 }, - "16": { "DateTime": 8 }, - "17": { "DefaultSetup": 1 }, - "18": { "DialogOptionsRenderingInfo": 2 }, - "19": { "DialogScript": 7 }, - "20": { "Dictionary": 3 }, - "21": { "DistGame": 1 }, - "22": { "DrawingSurface": 1 }, - "23": { "DynamicArrays": 2 }, - "24": { "DynamicSprite": 3 }, - "25": { "EditorCommandLineOptions": 1 }, - "26": { "EditorCursor": 1 }, - "27": { "EditorGUI": 6 }, - "28": { "EditorPlugins": 4 }, - "29": { "EditorSprite": 1 }, - "30": { "EditorView": 1 }, - "31": { "EnginePluginDesign-timeAPI": 2 }, - "32": { "EnginePluginRun-timeAPI": 16 }, - "33": { "EventTypes": 4 }, - "34": { "ExtenderFunctions": 4 }, - "35": { "FAQ": 3 }, - "36": { "File": 6 }, - "37": { "Game": 15 }, - "38": { "GameSavesCompatibility": 7 }, - "39": { "GeneralSettings": 6 }, - "40": { "GlobalArrays": 3 }, - "41": { "Globalfunctions_Event": 3 }, - "42": { "Globalfunctions_General": 10 }, - "43": { "Globalfunctions_Room": 3 }, - "44": { "Globalfunctions_Screen": 3 }, - "45": { "Globalfunctions_Wait": 1 }, - "46": { "GlobalVariables": 3 }, - "47": { "GraphicsDriver": 1 }, - "48": { "GUI": 1 }, - "49": { "GUIControl": 1 }, - "50": { "ImportingFunctionsAndVariables": 4 }, - "51": { "InventoryItem": 3 }, - "52": { "Keycodes": 2 }, - "53": { "Lipsync": 5 }, - "54": { "Maths": 3 }, - "55": { "MIDI-playback": 2 }, - "56": { "Mouse": 1 }, - "57": { "Multimedia": 2 }, - "58": { "MultipleScripts": 1 }, - "59": { "MusicAndSound": 5 }, - "60": { "Object": 5 }, - "61": { "OOProgramming": 5 }, - "62": { "Plugins": 1 }, - "63": { "Pointers": 8 }, - "64": { "Preprocessor": 5 }, - "65": { "RepExec": 3 }, - "66": { "Room": 1 }, - "67": { "Screen": 1 }, - "68": { "ScriptAPIOverview": 1 }, - "69": { "ScriptingTutorialPart1": 8 }, - "70": { "ScriptingTutorialPart2": 3 }, - "71": { "ScriptKeywords": 30 }, - "72": { "Set": 2 }, - "73": { "Settingupthegame": 2 }, - "74": { "Setup": 1 }, - "75": { "StandardEnums": 2 }, - "76": { "String": 3 }, - "77": { "System": 5 }, - "78": { "TemplateBASS": 1 }, - "79": { "TextBox": 1 }, - "80": { "TextParser": 7 }, - "81": { "Tumbleweed": 4 }, - "82": { "Tumbleweed_extensions": 1 }, - "83": { "Tumbleweed_helper": 1 }, - "84": { "Tumbleweed_movement": 1 }, - "85": { "Tumbleweed_unhandled": 2 }, - "86": { "UpgradeTo30": 1 }, - "87": { "UpgradeTo32": 1 }, - "88": { "UpgradeTo33": 1 }, - "89": { "UpgradeTo34": 1 }, - "90": { "UpgradeTo35": 5 }, - "91": { "UpgradeTo36": 6 }, - "92": { "UpgradeTo361": 1 }, - "93": { "UpgradingTo27": 8 }, - "94": { "UpgradingTo271": 2 }, - "95": { "Viewport": 1 }, - "96": { "VoiceSpeech": 2 } - }, - "examples": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "Dialog": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "Object": 1 }, - "11": { "Pointers": 3 }, - "12": { "ScriptAPIOverview": 1 }, - "13": { "ScriptingTutorialPart2": 1 }, - "14": { "StringFormats": 2 }, - "15": { "TemplateSierraStyle": 1 }, - "16": { "UpgradeTo30": 1 }, - "17": { "VoiceSpeech": 1 } - }, - "exceed": { - "0": { "acintro6": 1 }, - "1": { "Camera": 6 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 2 }, - "4": { "SystemLimits": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "exceeding": { - "0": { "SystemLimits": 1 } - }, - "excellent": { - "0": { "acintro": 1 } - }, - "except": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "AudioChannel": 1 }, - "5": { "AudioClip": 1 }, - "6": { "Character": 6 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "DynamicArrays": 1 }, - "9": { "DynamicSprite": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EventTypes": 3 }, - "12": { "Game": 1 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Message": 2 }, - "17": { "Globalfunctions_Wait": 1 }, - "18": { "GUIControl": 1 }, - "19": { "Hotspot": 1 }, - "20": { "InventoryItem": 1 }, - "21": { "Object": 1 }, - "22": { "Overlay": 2 }, - "23": { "Settingupthegame": 1 }, - "24": { "Templates": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradeTo36": 1 }, - "27": { "VoiceSpeech": 1 } - }, - "exception": { - "0": { "Pointers": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "exceptions": { - "0": { "GeneralSettings": 1 }, - "1": { "Translations": 1 }, - "2": { "UpgradeTo361": 1 } - }, - "exclude": { - "0": { "EditorSprite": 1 } - }, - "excluding": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "exclusive": { - "0": { "EngineConfigFile": 2 }, - "1": { "Setup": 1 } - }, - "exe": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DistGame": 8 }, - "3": { "EditorCommandLineOptions": 5 }, - "4": { "FAQ": 2 }, - "5": { "GeneralSettings": 4 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Introduction": 1 }, - "8": { "Multimedia": 1 }, - "9": { "Plugins": 3 }, - "10": { "RuntimeEngine": 4 }, - "11": { "TroubleshootingWindowsZoneID": 3 }, - "12": { "UpgradeTo341": 1 } - }, - "executable": { - "0": { "DistGame": 5 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "GeneralSettings": 3 }, - "3": { "RuntimeEngine": 1 }, - "4": { "UpgradeTo341": 1 } - }, - "execute": { - "0": { "BlockingScripts": 5 }, - "1": { "Character": 12 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorDialog": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "EventTypes": 3 }, - "8": { "FAQ": 4 }, - "9": { "GameEventsOrder": 3 }, - "10": { "Globalfunctions_Event": 11 }, - "11": { "Globalfunctions_General": 3 }, - "12": { "Globalfunctions_Palette": 1 }, - "13": { "Globalfunctions_Wait": 1 }, - "14": { "Mouse": 1 }, - "15": { "Multimedia": 1 }, - "16": { "MultipleScripts": 4 }, - "17": { "Object": 1 }, - "18": { "OOProgramming": 1 }, - "19": { "Overlay": 1 }, - "20": { "Pointers": 1 }, - "21": { "RepExec": 29 }, - "22": { "Room": 1 }, - "23": { "Scripting": 2 }, - "24": { "ScriptingTutorialPart2": 1 }, - "25": { "ScriptKeywords": 1 }, - "26": { "Speech": 6 }, - "27": { "StandardEnums": 2 }, - "28": { "System": 1 }, - "29": { "UpgradeTo34": 1 }, - "30": { "UpgradeTo36": 1 } - }, - "executed": { - "0": { "DialogScript": 2 }, - "1": { "EditorDialog": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "FAQ": 1 }, - "4": { "GameEventsOrder": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GUI": 1 }, - "8": { "Mouse": 1 }, - "9": { "Room": 1 }, - "10": { "ScriptingTutorialPart2": 1 }, - "11": { "ScriptKeywords": 5 }, - "12": { "Tumbleweed_movement": 1 } - }, - "executes": { - "0": { "BlockingScripts": 1 } - }, - "executing": { - "0": { "Dialog": 1 }, - "1": { "DistGame": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "ScriptKeywords": 2 } - }, - "execution": { - "0": { "FAQ": 1 }, - "1": { "GameEventsOrder": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "ScriptKeywords": 4 } - }, - "exerts": { - "0": { "Character": 2 }, - "1": { "Object": 2 } - }, - "exist": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dialog": 1 }, - "4": { "Dictionary": 2 }, - "5": { "DynamicArrays": 1 }, - "6": { "DynamicSprite": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "ExtenderFunctions": 1 }, - "9": { "FAQ": 1 }, - "10": { "File": 1 }, - "11": { "Game": 3 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "GUI": 2 }, - "16": { "GUIControl": 1 }, - "17": { "Hotspot": 1 }, - "18": { "ImportingFunctionsAndVariables": 1 }, - "19": { "InventoryItem": 1 }, - "20": { "Multimedia": 1 }, - "21": { "MultipleScripts": 1 }, - "22": { "Object": 1 }, - "23": { "Preprocessor": 1 }, - "24": { "ScriptKeywords": 4 }, - "25": { "TroubleshootingWindowsZoneID": 1 } - }, - "existence": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "existing": { - "0": { "acintro5": 1 }, - "1": { "acintro6": 3 }, - "2": { "acintro7": 2 }, - "3": { "acintro9": 1 }, - "4": { "AudioClip": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "Camera": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "Dictionary": 2 }, - "9": { "DynamicArrays": 1 }, - "10": { "DynamicSprite": 3 }, - "11": { "EditorCursor": 1 }, - "12": { "EditorDialog": 2 }, - "13": { "EditorFont": 2 }, - "14": { "EditorSprite": 2 }, - "15": { "EnginePluginRun-timeAPI": 2 }, - "16": { "ExtenderFunctions": 1 }, - "17": { "FAQ": 1 }, - "18": { "File": 2 }, - "19": { "Game": 1 }, - "20": { "GameSavesCompatibility": 10 }, - "21": { "ImportingFunctionsAndVariables": 1 }, - "22": { "ListBox": 1 }, - "23": { "MusicAndSound": 1 }, - "24": { "Screen": 1 }, - "25": { "ScriptKeywords": 1 }, - "26": { "ScriptModules": 1 }, - "27": { "Settingupthegame": 4 }, - "28": { "String": 2 }, - "29": { "SystemLimits": 1 }, - "30": { "TextParser": 2 }, - "31": { "UpgradeTo30": 1 }, - "32": { "UpgradeTo32": 1 }, - "33": { "UpgradeTo34": 2 }, - "34": { "UpgradeTo36": 2 }, - "35": { "UpgradeTo361": 2 }, - "36": { "UpgradingTo27": 1 }, - "37": { "Viewport": 1 } - }, - "exists": { - "0": { "Character": 2 }, - "1": { "EditorRoom": 1 }, - "2": { "File": 4 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 2 }, - "7": { "InventoryItem": 3 }, - "8": { "MusicAndSound": 1 }, - "9": { "Object": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "Room": 3 }, - "12": { "System": 3 } - }, - "exit": { - "0": { "acintro2": 1 }, - "1": { "EditorCommandLineOptions": 3 }, - "2": { "EnginePluginRun-timeAPI": 4 }, - "3": { "FAQ": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Hotspot": 1 }, - "6": { "ScriptKeywords": 3 }, - "7": { "Tumbleweed": 4 }, - "8": { "Tumbleweed_extensions": 3 }, - "9": { "Tumbleweed_movement": 2 } - }, - "exitHotspot": { - "0": { "Hotspot": 3 } - }, - "exitName": { - "0": { "Hotspot": 2 } - }, - "exited": { - "0": { "Globalfunctions_General": 1 } - }, - "exiting": { - "0": { "acintro2": 1 }, - "1": { "Game": 1 }, - "2": { "TemplateVerbcoin": 1 } - }, - "exits": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Mouse": 1 }, - "2": { "Tumbleweed": 1 } - }, - "exotic": { - "0": { "EditorRoom": 1 } - }, - "expValue": { - "0": { "Maths": 1 } - }, - "expand": { - "0": { "acintro2": 1 }, - "1": { "EditorCharacter": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "EditorFont": 1 }, - "4": { "ScriptModules": 1 } - }, - "expanded": { - "0": { "UpgradeTo36": 2 } - }, - "expanding": { - "0": { "EditorRoom": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ScriptModules": 1 } - }, - "expands": { - "0": { "MIDI-playback": 1 } - }, - "expect": { - "0": { "DrawingSurface": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Screen": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "UpgradeTo31": 1 } - }, - "expected": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "expecting": { - "0": { "Pointers": 2 } - }, - "expects": { - "0": { "DynamicSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "UpgradingTo271": 2 } - }, - "expense": { - "0": { "acintro6": 1 }, - "1": { "Settingupthegame": 1 } - }, - "expensive": { - "0": { "acintro8": 1 } - }, - "experience": { - "0": { "MusicAndSound": 1 }, - "1": { "Pointers": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "experiment": { - "0": { "DistGame": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Preprocessor": 1 }, - "3": { "UpgradeTo34": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "experimental": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "Preprocessor": 1 } - }, - "expert": { - "0": { "File": 1 } - }, - "experts": { - "0": { "File": 1 } - }, - "expire": { - "0": { "Globalfunctions_General": 2 } - }, - "expired": { - "0": { "Globalfunctions_General": 2 } - }, - "expires": { - "0": { "Globalfunctions_General": 1 } - }, - "explain": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro9": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Templates": 1 }, - "9": { "UpgradingTo27": 1 } - }, - "explained": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 1 }, - "2": { "EnginePlugins": 1 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "GeneralSettings": 2 }, - "5": { "Preprocessor": 1 }, - "6": { "Settingupthegame": 2 }, - "7": { "Tumbleweed": 2 }, - "8": { "Tumbleweed_door": 1 }, - "9": { "UpgradeTo30": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "explaining": { - "0": { "UpgradingTo27": 1 } - }, - "explains": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "explanation": { - "0": { "EditorSprite": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "explicit": { - "0": { "Character": 2 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GUI": 1 }, - "4": { "Object": 2 }, - "5": { "Pointers": 1 }, - "6": { "RuntimeEngine": 2 }, - "7": { "System": 1 }, - "8": { "UpgradeTo335": 1 }, - "9": { "UpgradeTo34": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "explicitly": { - "0": { "acintro5": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 3 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "File": 1 }, - "6": { "Game": 1 }, - "7": { "GUIControl": 1 }, - "8": { "ImportingFunctionsAndVariables": 1 }, - "9": { "ListBox": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Object": 3 }, - "12": { "OOProgramming": 1 }, - "13": { "TemplateBASS": 1 }, - "14": { "UpgradeTo335": 1 }, - "15": { "UpgradeTo341": 1 } - }, - "explore": { - "0": { "acintro7": 1 }, - "1": { "BlockingScripts": 2 } - }, - "explorer": { - "0": { "EditorView": 1 } - }, - "explores": { - "0": { "GameSavesCompatibility": 1 } - }, - "explosion": { - "0": { "AudioChannel": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "exponent": { - "0": { "Maths": 3 } - }, - "exponential": { - "0": { "Maths": 1 } - }, - "export": { - "0": { "acintro4": 1 }, - "1": { "ColoursEditor": 2 }, - "2": { "EditorRoom": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "GlobalVariables": 1 }, - "6": { "ImportingFunctionsAndVariables": 15 }, - "7": { "Lipsync": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "ScriptKeywords": 5 }, - "10": { "Settingupthegame": 1 } - }, - "exported": { - "0": { "EditorCharacter": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "ImportingFunctionsAndVariables": 2 }, - "4": { "MultipleScripts": 1 }, - "5": { "ScriptKeywords": 2 }, - "6": { "Settingupthegame": 2 }, - "7": { "SystemLimits": 1 } - }, - "exporting": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "exports": { - "0": { "Game": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "expose": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "exposed": { - "0": { "ScriptAPIOverview": 1 } - }, - "expressed": { - "0": { "Character": 2 } - }, - "expression": { - "0": { "ListBox": 1 }, - "1": { "ScriptingTutorialPart2": 3 }, - "2": { "ScriptKeywords": 17 }, - "3": { "UpgradingTo271": 1 } - }, - "expressions": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptKeywords": 3 } - }, - "extend": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Plugins": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "extended": { - "0": { "acintro9": 1 }, - "1": { "Camera": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EditorFont": 1 }, - "4": { "EnginePluginRun-timeAPI": 4 }, - "5": { "Keycodes": 1 }, - "6": { "String": 1 }, - "7": { "UnicodeSupport": 1 }, - "8": { "UpgradeTo34": 2 }, - "9": { "UpgradeTo36": 5 }, - "10": { "UpgradeTo361": 1 } - }, - "extender": { - "0": { "ExtenderFunctions": 6 }, - "1": { "GeneralSettings": 1 }, - "2": { "OOProgramming": 2 }, - "3": { "ScriptKeywords": 3 }, - "4": { "UpgradeTo30": 1 } - }, - "extenders": { - "0": { "ExtenderFunctions": 1 }, - "1": { "OOProgramming": 1 } - }, - "extends": { - "0": { "TextWindowGUI": 1 }, - "1": { "Tumbleweed_door": 1 } - }, - "extension": { - "0": { "ColoursEditor": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 2 }, - "4": { "GeneralSettings": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Multimedia": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "Templates": 1 }, - "9": { "Tumbleweed": 6 }, - "10": { "Tumbleweed_actions": 5 }, - "11": { "Tumbleweed_extensions": 14 }, - "12": { "Tumbleweed_movement": 2 }, - "13": { "VoiceSpeech": 1 } - }, - "extensions": { - "0": { "Tumbleweed": 2 }, - "1": { "Tumbleweed_actions": 1 }, - "2": { "Tumbleweed_extensions": 5 }, - "3": { "Tumbleweed_movement": 1 } - }, - "extensive": { - "0": { "ScriptingLanguage": 1 } - }, - "extent": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "external": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioClip": 1 }, - "2": { "DistGame": 4 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "ScriptKeywords": 2 } - }, - "externally": { - "0": { "EditorPreferences": 1 } - }, - "extra": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 2 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "Character": 1 }, - "6": { "Constants": 1 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "Dialog": 1 }, - "10": { "DynamicSprite": 1 }, - "11": { "EditorView": 1 }, - "12": { "EnginePluginDesign-timeAPI": 1 }, - "13": { "EnginePluginRun-timeAPI": 2 }, - "14": { "EnginePlugins": 1 }, - "15": { "FAQ": 1 }, - "16": { "GameSavesCompatibility": 2 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_General": 1 }, - "19": { "Multimedia": 1 }, - "20": { "MultipleScripts": 2 }, - "21": { "ScriptingTutorialPart1": 2 }, - "22": { "ScriptingTutorialPart2": 1 }, - "23": { "Settingupthegame": 1 }, - "24": { "Slider": 1 }, - "25": { "SourceControl": 1 }, - "26": { "Speech": 1 }, - "27": { "Translations": 1 }, - "28": { "Tumbleweed": 1 }, - "29": { "UpgradeTo31": 2 }, - "30": { "UpgradeTo36": 1 }, - "31": { "VoiceSpeech": 1 } - }, - "extraChar": { - "0": { "String": 1 } - }, - "extract": { - "0": { "Globalfunctions_Wait": 2 }, - "1": { "Keycodes": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "extracted": { - "0": { "Introduction": 2 }, - "1": { "Templates": 1 }, - "2": { "TroubleshootingWindowsZoneID": 4 } - }, - "extracting": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "extrapolate": { - "0": { "OOProgramming": 1 } - }, - "eye": { - "0": { "acintro2": 1 }, - "1": { "DialogScript": 3 }, - "2": { "EditorRoom": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "UpgradeTo35": 2 } - }, - "eyeball": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 2 } - }, - "eyeballs": { - "0": { "acintro8": 1 } - }, - "face": { - "0": { "Character": 24 }, - "1": { "GeneralSettings": 3 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed_door": 1 } - }, - "faces": { - "0": { "Character": 2 }, - "1": { "Tumbleweed_door": 1 } - }, - "facility": { - "0": { "Settingupthegame": 1 } - }, - "facing": { - "0": { "acintro1": 1 }, - "1": { "Character": 7 }, - "2": { "EditorView": 1 }, - "3": { "GeneralSettings": 1 } - }, - "fact": { - "0": { "acintro2": 1 }, - "1": { "Button": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "TheScriptHeader": 1 }, - "4": { "UpgradeTo32": 2 } - }, - "factor": { - "0": { "Character": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "RuntimeEngine": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "factors": { - "0": { "Character": 2 }, - "1": { "GeneralSettings": 2 }, - "2": { "Object": 1 }, - "3": { "SystemRequirements": 1 } - }, - "fade": { - "0": { "Character": 2 }, - "1": { "Credits": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "EventTypes": 2 }, - "5": { "Globalfunctions_Screen": 5 }, - "6": { "GUI": 2 }, - "7": { "Object": 2 } - }, - "fade-in": { - "0": { "AudioInScript": 1 }, - "1": { "EventTypes": 3 }, - "2": { "FAQ": 1 }, - "3": { "Game": 1 } - }, - "fade-out": { - "0": { "Globalfunctions_Event": 2 } - }, - "faded": { - "0": { "EventTypes": 2 } - }, - "faded-in": { - "0": { "EventTypes": 1 } - }, - "faded-out": { - "0": { "EventTypes": 1 } - }, - "fades": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "EventTypes": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "Globalfunctions_Screen": 3 } - }, - "fading": { - "0": { "DrawingSurface": 1 } - }, - "fail": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Mouse": 1 }, - "5": { "RepExec": 1 }, - "6": { "Room": 1 }, - "7": { "UpgradeTo30": 1 } - }, - "failed": { - "0": { "DynamicSprite": 1 }, - "1": { "File": 1 }, - "2": { "GraphicsDriver": 1 } - }, - "fails": { - "0": { "Debuggingfeatures": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "File": 1 }, - "3": { "System": 1 } - }, - "failure": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "File": 1 }, - "3": { "Game": 1 }, - "4": { "Hotspot": 2 }, - "5": { "InventoryItem": 2 }, - "6": { "Object": 1 }, - "7": { "Room": 2 }, - "8": { "UpgradeTo335": 1 } - }, - "fair": { - "0": { "Character": 1 } - }, - "fairly": { - "0": { "acintro9": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "MultipleScripts": 1 }, - "3": { "Pointers": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "TextParser": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "faith": { - "0": { "Copyright": 1 } - }, - "fake": { - "0": { "acintro8": 2 } - }, - "fall": { - "0": { "EngineConfigFile": 1 } - }, - "fall-through": { - "0": { "ScriptKeywords": 1 } - }, - "fallback": { - "0": { "TemplateVerbcoin": 1 } - }, - "false": { - "0": { "AudioChannel": 2 }, - "1": { "Button": 2 }, - "2": { "Character": 28 }, - "3": { "Dialog": 1 }, - "4": { "Dictionary": 2 }, - "5": { "DynamicSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 1 }, - "8": { "File": 1 }, - "9": { "Game": 6 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_General": 4 }, - "12": { "GUI": 7 }, - "13": { "GUIControl": 13 }, - "14": { "Hotspot": 3 }, - "15": { "InventoryItem": 1 }, - "16": { "InvWindow": 2 }, - "17": { "ListBox": 2 }, - "18": { "Mouse": 3 }, - "19": { "Object": 17 }, - "20": { "Overlay": 3 }, - "21": { "Parser": 1 }, - "22": { "Region": 9 }, - "23": { "Screen": 3 }, - "24": { "ScriptKeywords": 2 }, - "25": { "Set": 3 }, - "26": { "Speech": 1 }, - "27": { "String": 5 }, - "28": { "System": 2 }, - "29": { "TemplateBASS": 2 }, - "30": { "TemplateVerbcoin": 2 }, - "31": { "Tumbleweed_helper": 1 }, - "32": { "Viewport": 4 } - }, - "familiar": { - "0": { "acintro1": 1 }, - "1": { "EditorPlugins": 1 } - }, - "family": { - "0": { "DrawingSurface": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "UpgradeTo30": 1 }, - "3": { "VoiceSpeech": 1 } - }, - "far": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 2 }, - "4": { "Character": 2 }, - "5": { "EditorRoom": 1 }, - "6": { "Pointers": 1 }, - "7": { "ScriptingTutorialPart2": 1 }, - "8": { "Templates": 1 } - }, - "fast": { - "0": { "Dictionary": 1 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "Set": 1 }, - "7": { "Settingupthegame": 3 }, - "8": { "System": 1 }, - "9": { "UpgradingTo27": 1 } - }, - "fast-forward": { - "0": { "Globalfunctions_General": 1 } - }, - "fast-forwarding": { - "0": { "AudioChannel": 2 } - }, - "faster": { - "0": { "acintro9": 2 }, - "1": { "AudioChannel": 1 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "Dictionary": 2 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Gamevariables": 1 }, - "6": { "GraphicsDriver": 1 }, - "7": { "Mouse": 1 }, - "8": { "Set": 2 }, - "9": { "Settingupthegame": 2 }, - "10": { "Setup": 1 }, - "11": { "System": 1 }, - "12": { "UpgradeTo30": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "fastest": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Screen": 1 }, - "2": { "Object": 1 } - }, - "fatal": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "fault": { - "0": { "ScriptKeywords": 1 } - }, - "favor": { - "0": { "TemplateBASS": 1 } - }, - "favorite": { - "0": { "acintro2": 1 } - }, - "fear": { - "0": { "acintro2": 1 }, - "1": { "AutonumberSpeechFiles": 1 } - }, - "feature": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 4 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "AnonymousUsageInfo": 2 }, - "4": { "AutonumberSpeechFiles": 1 }, - "5": { "ContactingTheDevelopers": 1 }, - "6": { "Debuggingfeatures": 2 }, - "7": { "DistGame": 1 }, - "8": { "DrawingSurface": 2 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "FAQ": 1 }, - "11": { "Game": 1 }, - "12": { "GeneralSettings": 2 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Globalfunctions_Room": 1 }, - "15": { "Globalfunctions_Screen": 1 }, - "16": { "Lipsync": 3 }, - "17": { "Multimedia": 1 }, - "18": { "Preprocessor": 1 }, - "19": { "Tumbleweed_door": 1 }, - "20": { "UpgradeTo33": 1 }, - "21": { "UpgradeTo34": 1 }, - "22": { "UpgradeTo36": 2 }, - "23": { "UpgradeTo361": 2 } - }, - "features": { - "0": { "acintro1": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AnonymousUsageInfo": 1 }, - "3": { "Debuggingfeatures": 4 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "EnginePlugins": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "GraphicsDriver": 1 }, - "10": { "OtherFeatures": 2 }, - "11": { "Pointers": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "System": 1 }, - "15": { "TemplateVerbcoin": 1 }, - "16": { "Tutorial": 1 }, - "17": { "UpgradeTo30": 1 }, - "18": { "UpgradeTo33": 1 }, - "19": { "UpgradeTo34": 1 }, - "20": { "UpgradeTo36": 1 }, - "21": { "UpgradeTo361": 1 } - }, - "feedback": { - "0": { "Tumbleweed_unhandled": 1 } - }, - "feel": { - "0": { "acintro1": 2 }, - "1": { "Pointers": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "feeling": { - "0": { "UpgradeTo30": 1 } - }, - "feet": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 1 }, - "2": { "Character": 2 }, - "3": { "EditorRoom": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "Settingupthegame": 1 } - }, - "fence": { - "0": { "TextParser": 6 } - }, - "feof": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "ferocious": { - "0": { "Globalfunctions_Screen": 1 } - }, - "ferociousness": { - "0": { "Globalfunctions_Screen": 1 } - }, - "few": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "FAQ": 2 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GeneralSettings": 2 }, - "8": { "Lipsync": 1 }, - "9": { "Multimedia": 2 }, - "10": { "Pointers": 2 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "Templates": 1 }, - "13": { "Translations": 3 }, - "14": { "UpgradeTo35": 1 }, - "15": { "UpgradeTo36": 1 }, - "16": { "UpgradeTo361": 2 } - }, - "fhandle": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "field": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 2 }, - "2": { "EditorDialog": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "FAQ": 3 }, - "6": { "GeneralSettings": 2 }, - "7": { "Lipsync": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "field's": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "fields": { - "0": { "acintro3": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Lipsync": 1 } - }, - "file": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 4 }, - "5": { "acintro8": 2 }, - "6": { "AdvancedRoomFeatures": 4 }, - "7": { "AudioChannel": 5 }, - "8": { "AudioClip": 7 }, - "9": { "AutonumberSpeechFiles": 2 }, - "10": { "BackingUpYourGame": 2 }, - "11": { "Character": 2 }, - "12": { "ColoursEditor": 4 }, - "13": { "ContactingTheDevelopers": 3 }, - "14": { "DefaultSetup": 8 }, - "15": { "Dialog": 1 }, - "16": { "DistGame": 24 }, - "17": { "DynamicArrays": 1 }, - "18": { "DynamicSprite": 6 }, - "19": { "EditorPlugins": 5 }, - "20": { "EditorPreferences": 2 }, - "21": { "EditorSprite": 12 }, - "22": { "EngineConfigFile": 19 }, - "23": { "EnginePluginDesign-timeAPI": 2 }, - "24": { "EnginePluginRun-timeAPI": 20 }, - "25": { "FAQ": 6 }, - "26": { "File": 84 }, - "27": { "Game": 7 }, - "28": { "GameSavesCompatibility": 3 }, - "29": { "GeneralSettings": 8 }, - "30": { "Globalfunctions_General": 2 }, - "31": { "Globalfunctions_Message": 1 }, - "32": { "GlobalVariables": 1 }, - "33": { "GraphicsDriver": 1 }, - "34": { "GUI": 9 }, - "35": { "GUIControl": 4 }, - "36": { "Hotspot": 1 }, - "37": { "InventoryItem": 1 }, - "38": { "Lipsync": 12 }, - "39": { "ListBox": 2 }, - "40": { "MIDI-playback": 7 }, - "41": { "Mouse": 2 }, - "42": { "Multimedia": 3 }, - "43": { "MultipleScripts": 2 }, - "44": { "MusicAndSound": 10 }, - "45": { "Object": 1 }, - "46": { "Plugins": 2 }, - "47": { "Pointers": 7 }, - "48": { "Preprocessor": 1 }, - "49": { "RuntimeEngine": 8 }, - "50": { "ScriptingTutorialPart1": 3 }, - "51": { "ScriptingTutorialPart2": 1 }, - "52": { "ScriptModules": 4 }, - "53": { "Settingupthegame": 6 }, - "54": { "Setup": 1 }, - "55": { "SourceControl": 2 }, - "56": { "Speech": 1 }, - "57": { "System": 2 }, - "58": { "Templates": 5 }, - "59": { "TemplateSierraStyle": 1 }, - "60": { "Translations": 18 }, - "61": { "TroubleshootingWindowsZoneID": 20 }, - "62": { "UpgradeTo30": 2 }, - "63": { "UpgradeTo32": 6 }, - "64": { "UpgradeTo335": 10 }, - "65": { "UpgradeTo341": 5 }, - "66": { "UpgradeTo35": 4 }, - "67": { "UpgradeTo36": 8 }, - "68": { "UpgradeTo361": 1 }, - "69": { "UpgradingTo27": 1 }, - "70": { "VoiceSpeech": 8 } - }, - "file's": { - "0": { "File": 3 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "file-path": { - "0": { "EngineConfigFile": 1 } - }, - "fileName": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "filemask": { - "0": { "ListBox": 1 } - }, - "filename": { - "0": { "acintro9": 1 }, - "1": { "DynamicSprite": 5 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "File": 4 }, - "4": { "Game": 4 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 5 }, - "7": { "Multimedia": 1 }, - "8": { "ScriptAPIOverview": 1 } - }, - "filenames": { - "0": { "EnginePlugins": 1 }, - "1": { "ListBox": 1 } - }, - "filepath": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 1 }, - "2": { "RuntimeEngine": 2 }, - "3": { "UpgradeTo335": 1 } - }, - "filepaths": { - "0": { "RuntimeEngine": 1 } - }, - "files": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "AudioClip": 1 }, - "4": { "AutonumberSpeechFiles": 1 }, - "5": { "BackingUpYourGame": 9 }, - "6": { "BuildAndroid": 2 }, - "7": { "ColoursEditor": 2 }, - "8": { "Constants": 1 }, - "9": { "DefaultSetup": 4 }, - "10": { "DistGame": 28 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorPlugins": 1 }, - "13": { "EditorPreferences": 2 }, - "14": { "EditorRoom": 1 }, - "15": { "EditorSprite": 11 }, - "16": { "EditorView": 1 }, - "17": { "EngineConfigFile": 2 }, - "18": { "EnginePluginDesign-timeAPI": 1 }, - "19": { "EnginePlugins": 2 }, - "20": { "File": 18 }, - "21": { "Game": 1 }, - "22": { "GameSavesCompatibility": 2 }, - "23": { "Gamevariables": 1 }, - "24": { "GeneralSettings": 7 }, - "25": { "Globalfunctions_General": 1 }, - "26": { "Lipsync": 1 }, - "27": { "ListBox": 4 }, - "28": { "MIDI-playback": 13 }, - "29": { "Multimedia": 1 }, - "30": { "MusicAndSound": 11 }, - "31": { "OtherFeatures": 1 }, - "32": { "Plugins": 2 }, - "33": { "RuntimeEngine": 5 }, - "34": { "ScriptModules": 1 }, - "35": { "Setup": 2 }, - "36": { "SourceControl": 3 }, - "37": { "Templates": 6 }, - "38": { "Translations": 1 }, - "39": { "TroubleshootingWindowsZoneID": 5 }, - "40": { "Tumbleweed": 1 }, - "41": { "UnicodeSupport": 2 }, - "42": { "UpgradeTo30": 2 }, - "43": { "UpgradeTo32": 6 }, - "44": { "UpgradeTo33": 1 }, - "45": { "UpgradeTo335": 1 }, - "46": { "UpgradeTo34": 1 }, - "47": { "UpgradeTo341": 4 }, - "48": { "UpgradeTo35": 2 }, - "49": { "UpgradeTo36": 10 }, - "50": { "UpgradeTo361": 2 }, - "51": { "VoiceSpeech": 9 } - }, - "filesize": { - "0": { "DistGame": 1 } - }, - "filesystem": { - "0": { "UpgradeTo335": 1 } - }, - "fill": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "Camera": 1 }, - "3": { "DefaultSetup": 2 }, - "4": { "DynamicArrays": 2 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "FAQ": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "ListBox": 3 }, - "11": { "MusicAndSound": 1 }, - "12": { "Setup": 1 }, - "13": { "TextBox": 1 }, - "14": { "Translations": 1 }, - "15": { "UpgradeTo35": 1 }, - "16": { "Viewport": 1 } - }, - "filled": { - "0": { "acintro2": 1 }, - "1": { "Constants": 1 }, - "2": { "Dictionary": 2 }, - "3": { "DrawingSurface": 3 }, - "4": { "EditorGUI": 1 }, - "5": { "EnginePluginRun-timeAPI": 5 }, - "6": { "FAQ": 2 }, - "7": { "Label": 1 }, - "8": { "Set": 1 } - }, - "fills": { - "0": { "EditorGUI": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "filter": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 6 }, - "2": { "RuntimeEngine": 2 }, - "3": { "UpgradeTo31": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "filters": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Setup": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "final": { - "0": { "acintro1": 2 }, - "1": { "acintro7": 1 }, - "2": { "Character": 5 }, - "3": { "DistGame": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "EngineConfigFile": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GraphicsDriver": 2 }, - "9": { "ImportingFunctionsAndVariables": 1 }, - "10": { "Object": 1 }, - "11": { "Screen": 2 }, - "12": { "ScriptingTutorialPart1": 2 }, - "13": { "System": 1 } - }, - "finalize": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "finalized": { - "0": { "acintro6": 1 } - }, - "finally": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "UpgradeTo30": 1 }, - "4": { "UpgradeTo36": 1 }, - "5": { "UpgradingTo27": 1 }, - "6": { "UpgradingTo271": 1 } - }, - "find": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 1 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 3 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 2 }, - "7": { "AudioChannel": 1 }, - "8": { "AudioClip": 4 }, - "9": { "AudioInScript": 1 }, - "10": { "BlockingScripts": 1 }, - "11": { "BuildAndroid": 1 }, - "12": { "Character": 2 }, - "13": { "ColoursEditor": 1 }, - "14": { "ContactingTheDevelopers": 3 }, - "15": { "CustomDialogOptions": 1 }, - "16": { "Debuggingfeatures": 1 }, - "17": { "DrawingSurface": 1 }, - "18": { "EditorGUI": 1 }, - "19": { "EditorPlugins": 4 }, - "20": { "EditorSprite": 1 }, - "21": { "EnginePluginRun-timeAPI": 5 }, - "22": { "FAQ": 3 }, - "23": { "File": 1 }, - "24": { "Game": 2 }, - "25": { "GameSavesCompatibility": 1 }, - "26": { "Gamevariables": 1 }, - "27": { "GeneralSettings": 1 }, - "28": { "GlobalArrays": 2 }, - "29": { "Globalfunctions_Room": 4 }, - "30": { "Globalfunctions_Wait": 1 }, - "31": { "GUI": 1 }, - "32": { "ListBox": 1 }, - "33": { "MultipleScripts": 1 }, - "34": { "MusicAndSound": 4 }, - "35": { "Object": 1 }, - "36": { "Pointers": 2 }, - "37": { "ScriptAPIOverview": 1 }, - "38": { "ScriptingTutorialPart1": 3 }, - "39": { "ScriptingTutorialPart2": 1 }, - "40": { "ScriptKeywords": 2 }, - "41": { "ScriptModules": 1 }, - "42": { "Settingupthegame": 5 }, - "43": { "Slider": 1 }, - "44": { "StringFormats": 1 }, - "45": { "System": 1 }, - "46": { "Templates": 1 }, - "47": { "Translations": 3 }, - "48": { "Tumbleweed": 1 }, - "49": { "UnicodeSupport": 3 }, - "50": { "UpgradingTo27": 3 }, - "51": { "UpgradingTo271": 1 }, - "52": { "Viewport": 1 } - }, - "finding": { - "0": { "MusicAndSound": 1 } - }, - "finds": { - "0": { "BlockingScripts": 1 }, - "1": { "Maths": 3 }, - "2": { "Multimedia": 1 }, - "3": { "RuntimeEngine": 1 } - }, - "fine": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "DialogScript": 2 }, - "4": { "DistGame": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "MusicAndSound": 2 }, - "7": { "ScriptingTutorialPart2": 2 }, - "8": { "Tumbleweed_movement": 1 }, - "9": { "UnicodeSupport": 1 }, - "10": { "UpgradeTo36": 1 }, - "11": { "UpgradeTo361": 1 }, - "12": { "UpgradingTo27": 2 }, - "13": { "VoiceSpeech": 3 } - }, - "finer": { - "0": { "UpgradeTo32": 1 } - }, - "finger": { - "0": { "DefaultSetup": 8 }, - "1": { "EngineConfigFile": 5 } - }, - "finger's": { - "0": { "DefaultSetup": 1 } - }, - "fingers": { - "0": { "DefaultSetup": 2 }, - "1": { "EngineConfigFile": 1 } - }, - "finish": { - "0": { "acintro3": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 7 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "Game": 2 }, - "6": { "Lipsync": 1 }, - "7": { "Object": 2 }, - "8": { "UpgradeTo30": 1 } - }, - "finished": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 5 }, - "3": { "DrawingSurface": 2 }, - "4": { "DynamicSprite": 2 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "File": 1 }, - "7": { "Game": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "Globalfunctions_General": 2 }, - "10": { "Globalfunctions_Room": 2 }, - "11": { "Hotspot": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Object": 2 }, - "14": { "Region": 1 }, - "15": { "RepExec": 1 }, - "16": { "Room": 1 }, - "17": { "UpgradeTo30": 3 }, - "18": { "VoiceSpeech": 1 } - }, - "finishes": { - "0": { "AudioChannel": 1 }, - "1": { "BlockingScripts": 4 }, - "2": { "Button": 1 }, - "3": { "Character": 9 }, - "4": { "Dialog": 3 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_General": 5 }, - "8": { "Object": 1 }, - "9": { "ScriptingTutorialPart2": 1 } - }, - "finishing": { - "0": { "File": 1 } - }, - "fire": { - "0": { "EditorCursor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "fired": { - "0": { "acintro3": 1 }, - "1": { "EditorGUI": 1 } - }, - "first": { - "0": { "acintro": 1 }, - "1": { "acintro1": 3 }, - "2": { "acintro2": 3 }, - "3": { "acintro3": 4 }, - "4": { "acintro4": 3 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 4 }, - "7": { "acintro8": 7 }, - "8": { "AudioChannel": 1 }, - "9": { "AudioInScript": 1 }, - "10": { "BlockingScripts": 1 }, - "11": { "BuildAndroid": 1 }, - "12": { "Button": 2 }, - "13": { "Character": 7 }, - "14": { "ColoursEditor": 2 }, - "15": { "ContactingTheDevelopers": 1 }, - "16": { "CustomDialogOptions": 3 }, - "17": { "DialogOptionsRenderingInfo": 1 }, - "18": { "DialogScript": 1 }, - "19": { "DrawingSurface": 1 }, - "20": { "DynamicSprite": 1 }, - "21": { "EditorCursor": 1 }, - "22": { "EditorPreferences": 1 }, - "23": { "EditorRoom": 1 }, - "24": { "EditorSprite": 1 }, - "25": { "EditorView": 1 }, - "26": { "EnginePluginDesign-timeAPI": 2 }, - "27": { "EnginePluginRun-timeAPI": 10 }, - "28": { "EventTypes": 1 }, - "29": { "File": 2 }, - "30": { "Game": 5 }, - "31": { "GameEventsOrder": 1 }, - "32": { "GameSavesCompatibility": 1 }, - "33": { "GeneralSettings": 4 }, - "34": { "Globalfunctions_Event": 3 }, - "35": { "Globalfunctions_General": 4 }, - "36": { "InvWindow": 3 }, - "37": { "ListBox": 7 }, - "38": { "Object": 3 }, - "39": { "OOProgramming": 1 }, - "40": { "Parser": 1 }, - "41": { "RepExec": 1 }, - "42": { "Room": 1 }, - "43": { "RuntimeEngine": 1 }, - "44": { "ScriptingTutorialPart1": 4 }, - "45": { "ScriptingTutorialPart2": 1 }, - "46": { "ScriptKeywords": 4 }, - "47": { "Settingupthegame": 8 }, - "48": { "StandardEnums": 1 }, - "49": { "StartingOff": 1 }, - "50": { "String": 3 }, - "51": { "Templates": 1 }, - "52": { "Tumbleweed": 2 }, - "53": { "Tumbleweed_door": 1 }, - "54": { "Tumbleweed_extensions": 1 }, - "55": { "UpgradeTo30": 1 }, - "56": { "UpgradeTo31": 1 }, - "57": { "UpgradeTo33": 1 }, - "58": { "UpgradeTo335": 1 }, - "59": { "UpgradeTo35": 1 }, - "60": { "VoiceSpeech": 2 } - }, - "firstOne": { - "0": { "InvWindow": 2 } - }, - "firstly": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Plugins": 1 } - }, - "fit": { - "0": { "Button": 1 }, - "1": { "Camera": 1 }, - "2": { "Dictionary": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "FAQ": 2 }, - "6": { "InvWindow": 1 }, - "7": { "Set": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "Templates": 1 }, - "10": { "UpgradeTo32": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "fits": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "Setup": 1 } - }, - "five": { - "0": { "Tumbleweed": 1 } - }, - "fix": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "ScriptKeywords": 2 }, - "3": { "TroubleshootingWindowsZoneID": 1 }, - "4": { "UpgradingTo271": 1 } - }, - "fixed": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Character": 3 }, - "4": { "ColoursEditor": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "FAQ": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "ScriptingTutorialPart2": 2 }, - "10": { "TemplateVerbcoin": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "fixed-length": { - "0": { "GeneralSettings": 1 } - }, - "fixes": { - "0": { "GameSavesCompatibility": 1 } - }, - "fixing": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo34": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "fixup": { - "0": { "UpgradeTo36": 1 } - }, - "flag": { - "0": { "acintro7": 1 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "Settingupthegame": 1 } - }, - "flags": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EditorLogPanel": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_Wait": 1 }, - "5": { "Keycodes": 2 }, - "6": { "Multimedia": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "flash": { - "0": { "Tumbleweed": 1 } - }, - "flat": { - "0": { "acintro4": 1 }, - "1": { "Setup": 1 } - }, - "flaw": { - "0": { "GameSavesCompatibility": 1 } - }, - "flaws": { - "0": { "AudioInScript": 1 } - }, - "flc": { - "0": { "Multimedia": 1 } - }, - "flic": { - "0": { "Multimedia": 2 } - }, - "flick": { - "0": { "UpgradeTo30": 1 } - }, - "flickering": { - "0": { "Setup": 1 } - }, - "flies": { - "0": { "RepExec": 1 } - }, - "flip": { - "0": { "acintro7": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorView": 3 }, - "3": { "Globalfunctions_Screen": 3 } - }, - "flipped": { - "0": { "Button": 1 }, - "1": { "EditorView": 2 }, - "2": { "ViewFrame": 2 } - }, - "flipping": { - "0": { "EditorView": 1 } - }, - "flips": { - "0": { "DynamicSprite": 3 } - }, - "float": { - "0": { "Camera": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Maths": 56 }, - "4": { "Mouse": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptKeywords": 4 }, - "7": { "String": 4 }, - "8": { "StringFormats": 3 }, - "9": { "SystemLimits": 1 }, - "10": { "TemplateBASS": 1 }, - "11": { "Tumbleweed_helper": 1 }, - "12": { "UpgradingTo27": 1 }, - "13": { "Viewport": 1 } - }, - "floating": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Maths": 3 }, - "2": { "ScriptKeywords": 4 }, - "3": { "UpgradeTo33": 1 } - }, - "floating-point": { - "0": { "Maths": 1 }, - "1": { "SystemLimits": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "floats": { - "0": { "SystemLimits": 1 } - }, - "floor": { - "0": { "acintro7": 1 } - }, - "flow": { - "0": { "EditorLogPanel": 1 } - }, - "flower": { - "0": { "FAQ": 1 } - }, - "flowing": { - "0": { "Globalfunctions_Palette": 1 } - }, - "flushed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "fly": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "RepExec": 1 } - }, - "flying": { - "0": { "RepExec": 2 } - }, - "fmt": { - "0": { "String": 1 } - }, - "focal": { - "0": { "acintro4": 1 } - }, - "focus": { - "0": { "EngineConfigFile": 2 }, - "1": { "GameEventsOrder": 2 }, - "2": { "System": 1 } - }, - "focusing": { - "0": { "UpgradeTo361": 1 } - }, - "folder": { - "0": { "acintro1": 2 }, - "1": { "acintro6": 1 }, - "2": { "acintro9": 3 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "DefaultSetup": 6 }, - "6": { "DistGame": 17 }, - "7": { "EditorCharacter": 1 }, - "8": { "EditorCommandLineOptions": 1 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorFont": 2 }, - "11": { "EditorPlugins": 4 }, - "12": { "EditorSprite": 3 }, - "13": { "EditorView": 4 }, - "14": { "EnginePluginRun-timeAPI": 1 }, - "15": { "FAQ": 1 }, - "16": { "File": 3 }, - "17": { "Game": 8 }, - "18": { "GeneralSettings": 3 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Introduction": 2 }, - "21": { "Lipsync": 2 }, - "22": { "ListBox": 1 }, - "23": { "Multimedia": 1 }, - "24": { "MusicAndSound": 9 }, - "25": { "Plugins": 2 }, - "26": { "ScriptModules": 3 }, - "27": { "Settingupthegame": 4 }, - "28": { "Setup": 2 }, - "29": { "Templates": 9 }, - "30": { "Translations": 2 }, - "31": { "TroubleshootingWindowsZoneID": 2 }, - "32": { "UpgradeTo30": 1 }, - "33": { "UpgradeTo32": 5 }, - "34": { "UpgradeTo335": 2 }, - "35": { "UpgradeTo34": 1 }, - "36": { "UpgradeTo341": 8 }, - "37": { "UpgradeTo36": 3 }, - "38": { "VoiceSpeech": 5 } - }, - "folder's": { - "0": { "GeneralSettings": 1 } - }, - "folders": { - "0": { "acintro6": 2 }, - "1": { "EditorSprite": 2 }, - "2": { "GeneralSettings": 2 }, - "3": { "MusicAndSound": 5 }, - "4": { "Settingupthegame": 2 }, - "5": { "UpgradeTo32": 4 }, - "6": { "UpgradeTo33": 2 } - }, - "folding": { - "0": { "Preprocessor": 1 } - }, - "follow": { - "0": { "acintro": 1 }, - "1": { "acintro2": 1 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "BlockingScripts": 1 }, - "4": { "Camera": 2 }, - "5": { "Character": 3 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "ScriptingTutorialPart2": 1 } - }, - "followed": { - "0": { "Character": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 2 }, - "5": { "ScriptingTutorialPart1": 6 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "StartingOff": 1 }, - "9": { "Translations": 1 }, - "10": { "Tumbleweed": 2 }, - "11": { "UpgradeTo30": 1 } - }, - "followers": { - "0": { "UpgradeTo36": 1 } - }, - "following": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 8 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro8": 1 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "AudioInScript": 2 }, - "8": { "AutonumberSpeechFiles": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Character": 6 }, - "11": { "Constants": 1 }, - "12": { "ContactingTheDevelopers": 1 }, - "13": { "Credits": 1 }, - "14": { "Dialog": 2 }, - "15": { "DialogScript": 4 }, - "16": { "DistGame": 2 }, - "17": { "DrawingSurface": 1 }, - "18": { "DynamicArrays": 1 }, - "19": { "EditorFont": 1 }, - "20": { "EditorGUI": 2 }, - "21": { "EditorPlugins": 1 }, - "22": { "EditorView": 1 }, - "23": { "EngineConfigFile": 3 }, - "24": { "EnginePluginDesign-timeAPI": 1 }, - "25": { "EnginePluginRun-timeAPI": 11 }, - "26": { "ExtenderFunctions": 2 }, - "27": { "Game": 4 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "Gamevariables": 4 }, - "30": { "GeneralSettings": 2 }, - "31": { "Globalfunctions_Event": 1 }, - "32": { "Globalfunctions_General": 3 }, - "33": { "Globalfunctions_Room": 1 }, - "34": { "Globalfunctions_Screen": 1 }, - "35": { "ImportingFunctionsAndVariables": 2 }, - "36": { "Label": 1 }, - "37": { "Lipsync": 2 }, - "38": { "MIDI-playback": 3 }, - "39": { "MultipleScripts": 1 }, - "40": { "MusicAndSound": 2 }, - "41": { "Plugins": 1 }, - "42": { "Pointers": 2 }, - "43": { "Preprocessor": 1 }, - "44": { "RepExec": 1 }, - "45": { "RuntimeEngine": 1 }, - "46": { "Screen": 1 }, - "47": { "ScriptingTutorialPart1": 3 }, - "48": { "ScriptKeywords": 8 }, - "49": { "Settingupthegame": 1 }, - "50": { "String": 3 }, - "51": { "System": 1 }, - "52": { "SystemLimits": 1 }, - "53": { "SystemRequirements": 1 }, - "54": { "Templates": 1 }, - "55": { "Translations": 1 }, - "56": { "TroubleshootingWindowsZoneID": 1 }, - "57": { "Tumbleweed": 1 }, - "58": { "Tumbleweed_door": 1 }, - "59": { "Tumbleweed_extensions": 2 }, - "60": { "Tumbleweed_player": 1 }, - "61": { "Tumbleweed_translation": 2 }, - "62": { "UnicodeSupport": 1 }, - "63": { "UpgradeTo30": 2 }, - "64": { "UpgradeTo34": 1 }, - "65": { "UpgradeTo35": 3 }, - "66": { "UpgradeTo36": 1 }, - "67": { "UpgradingTo27": 1 }, - "68": { "Viewport": 1 }, - "69": { "VoiceSpeech": 2 } - }, - "follows": { - "0": { "acintro1": 1 }, - "1": { "Camera": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "EnginePlugins": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "Multimedia": 1 }, - "7": { "Preprocessor": 1 }, - "8": { "Region": 1 }, - "9": { "RepExec": 1 }, - "10": { "ScriptingTutorialPart1": 2 }, - "11": { "Settingupthegame": 1 }, - "12": { "StringFormats": 1 }, - "13": { "UpgradeTo30": 1 } - }, - "font": { - "0": { "acintro9": 21 }, - "1": { "Button": 2 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "DistGame": 1 }, - "5": { "DrawingSurface": 4 }, - "6": { "EditorFont": 20 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorLogPanel": 1 }, - "9": { "EditorPreferences": 3 }, - "10": { "EnginePluginRun-timeAPI": 34 }, - "11": { "Game": 9 }, - "12": { "GeneralSettings": 3 }, - "13": { "Globalfunctions_General": 6 }, - "14": { "Globalfunctions_Message": 4 }, - "15": { "Label": 4 }, - "16": { "ListBox": 1 }, - "17": { "Overlay": 8 }, - "18": { "Settingupthegame": 17 }, - "19": { "StandardEnums": 1 }, - "20": { "TextBox": 2 }, - "21": { "Translations": 13 }, - "22": { "UnicodeSupport": 5 }, - "23": { "UpgradeTo35": 2 }, - "24": { "UpgradeTo36": 6 } - }, - "font's": { - "0": { "EditorFont": 2 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Translations": 2 }, - "4": { "UpgradeTo36": 1 } - }, - "fontNum": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "fontNumber": { - "0": { "EnginePluginRun-timeAPI": 14 } - }, - "fontSize": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "fonts": { - "0": { "acintro": 1 }, - "1": { "acintro9": 8 }, - "2": { "BackingUpYourGame": 1 }, - "3": { "Button": 1 }, - "4": { "EditorFont": 10 }, - "5": { "EditorPreferences": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "Game": 3 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 4 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Settingupthegame": 9 }, - "13": { "SourceControl": 1 }, - "14": { "StandardEnums": 1 }, - "15": { "StartingOff": 1 }, - "16": { "Templates": 1 }, - "17": { "Tumbleweed_translation": 2 }, - "18": { "UnicodeSupport": 9 }, - "19": { "UpgradeTo34": 3 }, - "20": { "UpgradeTo35": 1 }, - "21": { "UpgradeTo36": 7 } - }, - "fontsheet": { - "0": { "Translations": 1 } - }, - "footstep": { - "0": { "acintro7": 1 }, - "1": { "Character": 2 }, - "2": { "MusicAndSound": 1 }, - "3": { "Settingupthegame": 2 } - }, - "footsteps": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorView": 1 } - }, - "forbidden": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "force": { - "0": { "Dialog": 1 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "FAQ": 1 }, - "3": { "UpgradeTo335": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "forces": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "UpgradeTo33": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "forcing": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "OOProgramming": 1 } - }, - "foreign": { - "0": { "Label": 1 }, - "1": { "TextBox": 1 } - }, - "forever": { - "0": { "Globalfunctions_Wait": 4 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "forget": { - "0": { "acintro6": 1 }, - "1": { "DynamicArrays": 1 }, - "2": { "Globalfunctions_Room": 2 }, - "3": { "Hotspot": 1 }, - "4": { "Pointers": 1 }, - "5": { "Region": 1 }, - "6": { "Tumbleweed": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "forgetting": { - "0": { "File": 1 } - }, - "forgot": { - "0": { "EditorView": 1 }, - "1": { "Preprocessor": 1 } - }, - "forgotten": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "form": { - "0": { "acintro8": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "StandardEnums": 2 }, - "7": { "UpgradeTo35": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "formal": { - "0": { "Overlay": 1 } - }, - "format": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 2 }, - "2": { "DateTime": 3 }, - "3": { "DistGame": 3 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorFont": 2 }, - "6": { "EditorSprite": 1 }, - "7": { "EngineConfigFile": 3 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "File": 3 }, - "10": { "GeneralSettings": 4 }, - "11": { "Lipsync": 1 }, - "12": { "Multimedia": 2 }, - "13": { "MusicAndSound": 1 }, - "14": { "RuntimeEngine": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "Settingupthegame": 2 }, - "17": { "String": 1 }, - "18": { "StringFormats": 1 }, - "19": { "System": 2 }, - "20": { "Translations": 1 }, - "21": { "UnicodeSupport": 3 }, - "22": { "UpgradeTo36": 6 }, - "23": { "VoiceSpeech": 2 } - }, - "formats": { - "0": { "EngineConfigFile": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Lipsync": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "Multimedia": 2 }, - "5": { "MusicAndSound": 1 }, - "6": { "UpgradeTo36": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "formatted": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Label": 2 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "formatting": { - "0": { "Character": 4 }, - "1": { "DrawingSurface": 2 }, - "2": { "Globalfunctions_Message": 4 }, - "3": { "Overlay": 2 }, - "4": { "ScriptingLanguage": 1 }, - "5": { "String": 1 }, - "6": { "StringFormats": 2 } - }, - "formed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "former": { - "0": { "GraphicsDriver": 1 } - }, - "forms": { - "0": { "DialogScript": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "UpgradeTo34": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "formula": { - "0": { "DynamicSprite": 1 } - }, - "forth": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro9": 1 }, - "3": { "Character": 2 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DistGame": 1 }, - "6": { "EnginePluginRun-timeAPI": 6 }, - "7": { "Game": 1 }, - "8": { "GameEventsOrder": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Room": 2 }, - "11": { "Hotspot": 1 }, - "12": { "Lipsync": 1 }, - "13": { "Mouse": 1 }, - "14": { "MultipleScripts": 1 }, - "15": { "Pointers": 1 }, - "16": { "Region": 1 }, - "17": { "Settingupthegame": 1 }, - "18": { "UpgradeTo35": 2 }, - "19": { "UpgradeTo361": 1 }, - "20": { "VoiceSpeech": 1 } - }, - "forum": { - "0": { "BlockingScripts": 1 }, - "1": { "ContactingTheDevelopers": 1 } - }, - "forums": { - "0": { "ContactingTheDevelopers": 4 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "Introduction": 2 }, - "3": { "Plugins": 1 }, - "4": { "Pointers": 1 }, - "5": { "ScriptingTutorialPart2": 1 }, - "6": { "ScriptModules": 1 } - }, - "forward": { - "0": { "acintro2": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Lipsync": 2 }, - "3": { "UpgradeTo32": 1 } - }, - "forwards": { - "0": { "RepExec": 1 } - }, - "found": { - "0": { "acintro8": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "AudioClip": 2 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Copyright": 1 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "DefaultSetup": 1 }, - "7": { "DistGame": 1 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorSprite": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "EventTypes": 1 }, - "13": { "File": 1 }, - "14": { "Game": 2 }, - "15": { "GameEventsOrder": 2 }, - "16": { "GlobalArrays": 1 }, - "17": { "Globalfunctions_General": 3 }, - "18": { "GUIControl": 1 }, - "19": { "Introduction": 1 }, - "20": { "Parser": 1 }, - "21": { "Pointers": 3 }, - "22": { "Room": 1 }, - "23": { "Screen": 2 }, - "24": { "ScriptAPIOverview": 1 }, - "25": { "ScriptKeywords": 2 }, - "26": { "String": 1 }, - "27": { "UpgradeTo33": 1 }, - "28": { "UpgradeTo335": 1 }, - "29": { "UpgradeTo36": 1 }, - "30": { "Viewport": 1 } - }, - "four": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Mouse": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "VoiceSpeech": 1 } - }, - "fps": { - "0": { "Character": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "RuntimeEngine": 2 }, - "4": { "System": 1 } - }, - "fractional": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "frame": { - "0": { "acintro7": 12 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Button": 14 }, - "3": { "Character": 40 }, - "4": { "DrawingSurface": 2 }, - "5": { "DynamicSprite": 3 }, - "6": { "EditorRoom": 2 }, - "7": { "EditorSprite": 2 }, - "8": { "EditorView": 19 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 22 }, - "11": { "FAQ": 1 }, - "12": { "Game": 5 }, - "13": { "Globalfunctions_General": 3 }, - "14": { "Globalfunctions_Room": 8 }, - "15": { "Lipsync": 11 }, - "16": { "Multimedia": 1 }, - "17": { "Object": 28 }, - "18": { "ObsoleteScriptAPI": 1 }, - "19": { "Room": 3 }, - "20": { "Settingupthegame": 20 }, - "21": { "System": 2 }, - "22": { "ViewFrame": 35 }, - "23": { "Viewport": 1 } - }, - "frame's": { - "0": { "acintro7": 3 }, - "1": { "EditorView": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Settingupthegame": 2 } - }, - "frame-linked": { - "0": { "Button": 1 }, - "1": { "Character": 3 }, - "2": { "Game": 1 }, - "3": { "Object": 2 }, - "4": { "Settingupthegame": 1 }, - "5": { "ViewFrame": 1 } - }, - "frameCount": { - "0": { "Game": 2 } - }, - "frames": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 2 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "Button": 3 }, - "4": { "Character": 9 }, - "5": { "EditorRoom": 2 }, - "6": { "EditorSprite": 3 }, - "7": { "EditorView": 5 }, - "8": { "EnginePluginRun-timeAPI": 3 }, - "9": { "Game": 3 }, - "10": { "GameSavesCompatibility": 3 }, - "11": { "GeneralSettings": 1 }, - "12": { "Globalfunctions_General": 2 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "Globalfunctions_Wait": 2 }, - "15": { "Lipsync": 4 }, - "16": { "Object": 2 }, - "17": { "RepExec": 1 }, - "18": { "Settingupthegame": 4 }, - "19": { "SystemLimits": 1 }, - "20": { "UpgradeTo36": 1 } - }, - "francais": { - "0": { "Game": 2 }, - "1": { "VoiceSpeech": 1 } - }, - "fread": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "free": { - "0": { "acintro5": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "BlockingScripts": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "FAQ": 1 }, - "6": { "Pointers": 1 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "ScriptingTutorialPart2": 1 } - }, - "freed": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Pointers": 3 } - }, - "freedom": { - "0": { "UpgradeTo34": 1 } - }, - "freehand": { - "0": { "EditorRoom": 1 } - }, - "freeing": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "freely": { - "0": { "Copyright": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "freeze": { - "0": { "EngineConfigFile": 1 } - }, - "frequency": { - "0": { "EventTypes": 1 } - }, - "frequent": { - "0": { "DefaultSetup": 1 } - }, - "frequently": { - "0": { "DefaultSetup": 1 } - }, - "fresh": { - "0": { "EditorLogPanel": 1 }, - "1": { "ScriptKeywords": 2 } - }, - "freshness": { - "0": { "ScriptKeywords": 6 } - }, - "friend": { - "0": { "Templates": 1 } - }, - "from": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 7 }, - "6": { "acintro7": 6 }, - "7": { "acintro8": 7 }, - "8": { "acintro9": 4 }, - "9": { "AdvancedRoomFeatures": 8 }, - "10": { "AnonymousUsageInfo": 1 }, - "11": { "AudioChannel": 3 }, - "12": { "AudioClip": 2 }, - "13": { "AudioInScript": 2 }, - "14": { "BackingUpYourGame": 1 }, - "15": { "BuildAndroid": 1 }, - "16": { "Button": 3 }, - "17": { "Camera": 6 }, - "18": { "Character": 39 }, - "19": { "ColoursEditor": 1 }, - "20": { "Constants": 1 }, - "21": { "Copyright": 2 }, - "22": { "Credits": 1 }, - "23": { "CustomDialogOptions": 2 }, - "24": { "CustomProperties": 2 }, - "25": { "DateTime": 5 }, - "26": { "DefaultSetup": 5 }, - "27": { "Dialog": 11 }, - "28": { "DialogOptionsRenderingInfo": 3 }, - "29": { "DialogScript": 3 }, - "30": { "Dictionary": 3 }, - "31": { "DistGame": 5 }, - "32": { "DrawingSurface": 12 }, - "33": { "DynamicArrays": 2 }, - "34": { "DynamicSprite": 14 }, - "35": { "EditorCharacter": 1 }, - "36": { "EditorCommandLineOptions": 2 }, - "37": { "EditorDialog": 1 }, - "38": { "EditorFont": 3 }, - "39": { "EditorGUI": 3 }, - "40": { "EditorInventoryItems": 6 }, - "41": { "EditorLogPanel": 1 }, - "42": { "EditorPlugins": 5 }, - "43": { "EditorSprite": 14 }, - "44": { "EditorView": 3 }, - "45": { "EngineConfigFile": 5 }, - "46": { "EnginePluginDesign-timeAPI": 3 }, - "47": { "EnginePluginRun-timeAPI": 53 }, - "48": { "EventTypes": 3 }, - "49": { "ExtenderFunctions": 5 }, - "50": { "FAQ": 6 }, - "51": { "File": 24 }, - "52": { "Game": 17 }, - "53": { "GameSavesCompatibility": 11 }, - "54": { "GeneralSettings": 9 }, - "55": { "Globalfunctions_Event": 3 }, - "56": { "Globalfunctions_General": 17 }, - "57": { "Globalfunctions_Message": 1 }, - "58": { "Globalfunctions_Palette": 5 }, - "59": { "Globalfunctions_Room": 9 }, - "60": { "Globalfunctions_Screen": 6 }, - "61": { "Globalfunctions_Wait": 1 }, - "62": { "GlobalVariables": 2 }, - "63": { "GraphicsDriver": 1 }, - "64": { "GUI": 5 }, - "65": { "GUIControl": 6 }, - "66": { "Hotspot": 1 }, - "67": { "ImportingFunctionsAndVariables": 3 }, - "68": { "Introduction": 2 }, - "69": { "InventoryItem": 2 }, - "70": { "InvWindow": 1 }, - "71": { "Keycodes": 1 }, - "72": { "Label": 1 }, - "73": { "Lipsync": 1 }, - "74": { "ListBox": 14 }, - "75": { "Maths": 1 }, - "76": { "MIDI-playback": 2 }, - "77": { "Mouse": 2 }, - "78": { "Multimedia": 5 }, - "79": { "MultipleScripts": 4 }, - "80": { "MusicAndSound": 3 }, - "81": { "Object": 16 }, - "82": { "ObsoleteScriptAPI": 1 }, - "83": { "Overlay": 8 }, - "84": { "Plugins": 1 }, - "85": { "Pointers": 4 }, - "86": { "Region": 5 }, - "87": { "Room": 2 }, - "88": { "RuntimeEngine": 2 }, - "89": { "Screen": 2 }, - "90": { "ScriptAPIOverview": 1 }, - "91": { "ScriptingTutorialPart1": 4 }, - "92": { "ScriptingTutorialPart2": 6 }, - "93": { "ScriptKeywords": 16 }, - "94": { "ScriptModules": 4 }, - "95": { "Set": 2 }, - "96": { "Settingupthegame": 11 }, - "97": { "Setup": 2 }, - "98": { "SourceControl": 1 }, - "99": { "StandardEnums": 1 }, - "100": { "String": 16 }, - "101": { "System": 8 }, - "102": { "SystemLimits": 4 }, - "103": { "Templates": 7 }, - "104": { "TemplateVerbcoin": 1 }, - "105": { "TextBox": 1 }, - "106": { "TextWindowGUI": 1 }, - "107": { "Translations": 1 }, - "108": { "TroubleshootingWindowsZoneID": 5 }, - "109": { "Tumbleweed": 4 }, - "110": { "Tumbleweed_extensions": 1 }, - "111": { "Tumbleweed_movement": 1 }, - "112": { "Tumbleweed_player": 1 }, - "113": { "Tumbleweed_translation": 1 }, - "114": { "UpgradeTo30": 2 }, - "115": { "UpgradeTo31": 1 }, - "116": { "UpgradeTo32": 4 }, - "117": { "UpgradeTo33": 1 }, - "118": { "UpgradeTo34": 1 }, - "119": { "UpgradeTo341": 5 }, - "120": { "UpgradeTo35": 6 }, - "121": { "UpgradeTo36": 4 }, - "122": { "UpgradeTo361": 3 }, - "123": { "UpgradingFromPreviousVersion": 1 }, - "124": { "UpgradingTo27": 6 }, - "125": { "UpgradingTo271": 1 }, - "126": { "Viewport": 3 }, - "127": { "VoiceSpeech": 6 } - }, - "fromSpriteSlot": { - "0": { "DynamicSprite": 1 } - }, - "fromText": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "front": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 3 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 1 }, - "4": { "EditorGUI": 2 }, - "5": { "Game": 9 }, - "6": { "Globalfunctions_Room": 2 }, - "7": { "GUI": 2 }, - "8": { "GUIControl": 2 }, - "9": { "Overlay": 1 }, - "10": { "StandardEnums": 2 } - }, - "front-most": { - "0": { "GUI": 1 } - }, - "fs": { - "0": { "EngineConfigFile": 1 } - }, - "full": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 2 }, - "4": { "DateTime": 1 }, - "5": { "DialogScript": 1 }, - "6": { "DynamicSprite": 1 }, - "7": { "EditorCommandLineOptions": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EngineConfigFile": 3 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "FAQ": 1 }, - "12": { "File": 1 }, - "13": { "Game": 3 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Gamevariables": 1 }, - "16": { "GeneralSettings": 2 }, - "17": { "GraphicsDriver": 1 }, - "18": { "GUIControl": 1 }, - "19": { "Multimedia": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "Speech": 1 }, - "22": { "System": 3 }, - "23": { "UnicodeSupport": 1 }, - "24": { "UpgradeTo34": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradeTo36": 3 } - }, - "full-screen": { - "0": { "acintro2": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Multimedia": 1 }, - "5": { "System": 1 }, - "6": { "UpgradeTo30": 1 } - }, - "fullscreen": { - "0": { "DefaultSetup": 4 }, - "1": { "EngineConfigFile": 12 }, - "2": { "Mouse": 2 }, - "3": { "Multimedia": 1 }, - "4": { "RuntimeEngine": 2 }, - "5": { "Setup": 6 }, - "6": { "System": 2 } - }, - "fully": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 4 }, - "2": { "DefaultSetup": 1 }, - "3": { "DrawingSurface": 2 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorSprite": 3 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "Game": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "GraphicsDriver": 1 }, - "11": { "GUI": 3 }, - "12": { "Multimedia": 2 }, - "13": { "Object": 1 }, - "14": { "Setup": 1 }, - "15": { "UpgradeTo341": 1 }, - "16": { "UpgradeTo36": 1 }, - "17": { "UpgradingTo27": 1 }, - "18": { "Viewport": 1 } - }, - "fully-working": { - "0": { "acintro4": 1 } - }, - "fumbling": { - "0": { "Settingupthegame": 1 } - }, - "fun": { - "0": { "acintro8": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "func": { - "0": { "DynamicArrays": 3 } - }, - "funcName": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "function": { - "0": { "acintro3": 3 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "AudioChannel": 2 }, - "4": { "AudioClip": 5 }, - "5": { "AudioInScript": 1 }, - "6": { "BlockingScripts": 3 }, - "7": { "Button": 2 }, - "8": { "Camera": 2 }, - "9": { "Character": 63 }, - "10": { "CustomDialogOptions": 20 }, - "11": { "DateTime": 2 }, - "12": { "Dialog": 12 }, - "13": { "DialogOptionsRenderingInfo": 27 }, - "14": { "DialogScript": 10 }, - "15": { "Dictionary": 4 }, - "16": { "DynamicArrays": 7 }, - "17": { "DynamicSprite": 16 }, - "18": { "EditorCharacter": 1 }, - "19": { "EditorDialog": 2 }, - "20": { "EditorGUI": 3 }, - "21": { "EditorInventoryItems": 2 }, - "22": { "EditorLogPanel": 1 }, - "23": { "EditorRoom": 1 }, - "24": { "EditorView": 3 }, - "25": { "EnginePluginDesign-timeAPI": 13 }, - "26": { "EnginePluginRun-timeAPI": 104 }, - "27": { "EventTypes": 56 }, - "28": { "ExtenderFunctions": 14 }, - "29": { "FAQ": 15 }, - "30": { "File": 14 }, - "31": { "Game": 33 }, - "32": { "GameEventsOrder": 2 }, - "33": { "GameSavesCompatibility": 11 }, - "34": { "Gamevariables": 2 }, - "35": { "GeneralSettings": 20 }, - "36": { "Globalfunctions_Event": 16 }, - "37": { "Globalfunctions_General": 48 }, - "38": { "Globalfunctions_Message": 6 }, - "39": { "Globalfunctions_Palette": 5 }, - "40": { "Globalfunctions_Room": 12 }, - "41": { "Globalfunctions_Screen": 5 }, - "42": { "Globalfunctions_Wait": 2 }, - "43": { "GUI": 7 }, - "44": { "GUIControl": 7 }, - "45": { "Hotspot": 13 }, - "46": { "ImportingFunctionsAndVariables": 8 }, - "47": { "InventoryItem": 13 }, - "48": { "Keycodes": 2 }, - "49": { "ListBox": 3 }, - "50": { "Maths": 5 }, - "51": { "Mouse": 11 }, - "52": { "Multimedia": 5 }, - "53": { "MultipleScripts": 12 }, - "54": { "Object": 25 }, - "55": { "OOProgramming": 2 }, - "56": { "Overlay": 6 }, - "57": { "Parser": 2 }, - "58": { "Plugins": 1 }, - "59": { "Pointers": 6 }, - "60": { "Preprocessor": 2 }, - "61": { "Region": 4 }, - "62": { "RepExec": 7 }, - "63": { "Room": 11 }, - "64": { "Screen": 2 }, - "65": { "ScriptAPIOverview": 2 }, - "66": { "ScriptingTutorialPart1": 16 }, - "67": { "ScriptingTutorialPart2": 22 }, - "68": { "ScriptKeywords": 52 }, - "69": { "ScriptModules": 1 }, - "70": { "Set": 1 }, - "71": { "Settingupthegame": 3 }, - "72": { "Speech": 2 }, - "73": { "StandardEnums": 2 }, - "74": { "String": 26 }, - "75": { "System": 4 }, - "76": { "SystemLimits": 3 }, - "77": { "TemplateBASS": 1 }, - "78": { "TemplateVerbcoin": 1 }, - "79": { "TextParser": 2 }, - "80": { "TextWindowGUI": 5 }, - "81": { "TheScriptHeader": 1 }, - "82": { "Translations": 5 }, - "83": { "Tumbleweed": 20 }, - "84": { "Tumbleweed_actions": 7 }, - "85": { "Tumbleweed_door": 11 }, - "86": { "Tumbleweed_extensions": 3 }, - "87": { "Tumbleweed_helper": 3 }, - "88": { "Tumbleweed_movement": 10 }, - "89": { "Tumbleweed_player": 6 }, - "90": { "Tumbleweed_translation": 12 }, - "91": { "Tumbleweed_unhandled": 5 }, - "92": { "UnicodeSupport": 1 }, - "93": { "UpgradeTo30": 1 }, - "94": { "UpgradeTo33": 2 }, - "95": { "UpgradeTo34": 7 }, - "96": { "UpgradeTo35": 10 }, - "97": { "UpgradeTo36": 13 }, - "98": { "UpgradeTo361": 7 }, - "99": { "UpgradingTo27": 7 }, - "100": { "UpgradingTo271": 3 }, - "101": { "Viewport": 6 }, - "102": { "VoiceSpeech": 4 } - }, - "function's": { - "0": { "FAQ": 1 }, - "1": { "Globalfunctions_Palette": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "functionalities": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "functionality": { - "0": { "acintro4": 1 }, - "1": { "Copyright": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EditorPlugins": 6 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "EnginePlugins": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GraphicsDriver": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "MultipleScripts": 3 }, - "10": { "Parser": 1 }, - "11": { "Plugins": 2 }, - "12": { "ScriptAPIOverview": 2 }, - "13": { "SourceControl": 1 }, - "14": { "UpgradeTo30": 1 }, - "15": { "UpgradeTo36": 1 }, - "16": { "UpgradeTo361": 1 }, - "17": { "UpgradingTo27": 1 } - }, - "functionname": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "functions": { - "0": { "acintro9": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioClip": 1 }, - "3": { "BlockingScripts": 4 }, - "4": { "Button": 2 }, - "5": { "Camera": 1 }, - "6": { "Character": 4 }, - "7": { "Constants": 1 }, - "8": { "Copyright": 1 }, - "9": { "CustomDialogOptions": 5 }, - "10": { "CustomProperties": 1 }, - "11": { "DateTime": 1 }, - "12": { "Dialog": 1 }, - "13": { "DialogOptionsRenderingInfo": 10 }, - "14": { "DialogScript": 2 }, - "15": { "Dictionary": 1 }, - "16": { "DrawingSurface": 2 }, - "17": { "DynamicSprite": 5 }, - "18": { "EditorCharacter": 1 }, - "19": { "EditorGUI": 2 }, - "20": { "EditorRoom": 1 }, - "21": { "EnginePluginDesign-timeAPI": 1 }, - "22": { "EnginePluginRun-timeAPI": 26 }, - "23": { "EventTypes": 1 }, - "24": { "ExtenderFunctions": 10 }, - "25": { "FAQ": 5 }, - "26": { "File": 3 }, - "27": { "Game": 2 }, - "28": { "GameSavesCompatibility": 3 }, - "29": { "GeneralSettings": 6 }, - "30": { "Globalfunctions_Event": 6 }, - "31": { "Globalfunctions_General": 5 }, - "32": { "Globalfunctions_Message": 1 }, - "33": { "Globalfunctions_Palette": 1 }, - "34": { "Globalfunctions_Room": 3 }, - "35": { "Globalfunctions_Screen": 2 }, - "36": { "Globalfunctions_Wait": 5 }, - "37": { "GUI": 2 }, - "38": { "GUIControl": 3 }, - "39": { "Hotspot": 3 }, - "40": { "ImportingFunctionsAndVariables": 3 }, - "41": { "InventoryItem": 1 }, - "42": { "InvWindow": 2 }, - "43": { "Label": 2 }, - "44": { "ListBox": 3 }, - "45": { "Maths": 4 }, - "46": { "Mouse": 1 }, - "47": { "Multimedia": 5 }, - "48": { "MultipleScripts": 7 }, - "49": { "Object": 3 }, - "50": { "ObsoleteScriptAPI": 1 }, - "51": { "OOProgramming": 6 }, - "52": { "Overlay": 3 }, - "53": { "Parser": 1 }, - "54": { "Pointers": 4 }, - "55": { "Region": 3 }, - "56": { "RepExec": 1 }, - "57": { "Room": 2 }, - "58": { "ScriptAPIOverview": 8 }, - "59": { "Scripting": 43 }, - "60": { "ScriptingLanguage": 2 }, - "61": { "ScriptingTutorialPart1": 2 }, - "62": { "ScriptingTutorialPart2": 10 }, - "63": { "ScriptKeywords": 7 }, - "64": { "ScriptModules": 1 }, - "65": { "Settingupthegame": 1 }, - "66": { "Slider": 1 }, - "67": { "Speech": 1 }, - "68": { "StandardEnums": 1 }, - "69": { "String": 3 }, - "70": { "StringFormats": 1 }, - "71": { "System": 2 }, - "72": { "SystemLimits": 1 }, - "73": { "TemplateBASS": 1 }, - "74": { "TemplateSierraStyle": 3 }, - "75": { "TemplateVerbcoin": 1 }, - "76": { "TextBox": 2 }, - "77": { "TextWindowGUI": 2 }, - "78": { "TheScriptHeader": 3 }, - "79": { "Translations": 1 }, - "80": { "Tumbleweed": 6 }, - "81": { "Tumbleweed_actions": 2 }, - "82": { "Tumbleweed_door": 1 }, - "83": { "Tumbleweed_helper": 1 }, - "84": { "Tumbleweed_movement": 3 }, - "85": { "Tumbleweed_player": 2 }, - "86": { "Tumbleweed_unhandled": 1 }, - "87": { "UnicodeSupport": 2 }, - "88": { "UpgradeTo30": 2 }, - "89": { "UpgradeTo33": 1 }, - "90": { "UpgradeTo34": 7 }, - "91": { "UpgradeTo35": 8 }, - "92": { "UpgradeTo36": 4 }, - "93": { "UpgradeTo361": 1 }, - "94": { "UpgradingTo27": 5 }, - "95": { "UpgradingTo271": 7 }, - "96": { "ViewFrame": 1 }, - "97": { "Viewport": 1 }, - "98": { "VoiceSpeech": 2 } - }, - "fundamental": { - "0": { "UpgradeTo31": 1 } - }, - "furniture": { - "0": { "Object": 1 } - }, - "further": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 4 }, - "7": { "GameSavesCompatibility": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_Message": 1 }, - "10": { "GUI": 1 }, - "11": { "Introduction": 1 }, - "12": { "Lipsync": 1 }, - "13": { "Multimedia": 1 }, - "14": { "Object": 1 }, - "15": { "OOProgramming": 1 }, - "16": { "Pointers": 1 }, - "17": { "Preprocessor": 2 }, - "18": { "UpgradeTo32": 1 }, - "19": { "UpgradeTo36": 1 }, - "20": { "VoiceSpeech": 1 } - }, - "future": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Camera": 1 }, - "2": { "Character": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "FAQ": 1 }, - "8": { "Game": 4 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Screen": 2 }, - "13": { "StandardEnums": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "UpgradeTo341": 1 }, - "16": { "UpgradeTo36": 2 } - }, - "fwrite": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "gBottomLine": { - "0": { "Globalfunctions_General": 1 } - }, - "gControlpanel": { - "0": { "GUI": 1 } - }, - "gIconBar": { - "0": { "EditorGUI": 2 } - }, - "gIconbar": { - "0": { "GUI": 4 }, - "1": { "GUIControl": 1 } - }, - "gInventory": { - "0": { "GUI": 5 }, - "1": { "GUIControl": 1 }, - "2": { "TemplateVerbcoin": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "gInventoryBar": { - "0": { "TemplateBASS": 1 } - }, - "gLeverPuzzle": { - "0": { "FAQ": 1 } - }, - "gMainMenu": { - "0": { "GUI": 2 } - }, - "gMaingui": { - "0": { "Tumbleweed_translation": 3 } - }, - "gMyGUI": { - "0": { "GUI": 9 } - }, - "gMyGui": { - "0": { "GUI": 3 } - }, - "gMyTextGui": { - "0": { "GUI": 1 } - }, - "gSettings": { - "0": { "GUI": 1 } - }, - "gStatusline": { - "0": { "GUI": 2 } - }, - "gTextGui": { - "0": { "TextWindowGUI": 3 } - }, - "gTextGui's": { - "0": { "TextWindowGUI": 1 } - }, - "gVerbCoin": { - "0": { "TemplateVerbcoin": 1 } - }, - "gain": { - "0": { "Object": 1 } - }, - "gains": { - "0": { "DistGame": 1 } - }, - "game": { - "0": { "acintro": 3 }, - "1": { "acintro1": 25 }, - "2": { "acintro2": 16 }, - "3": { "acintro3": 7 }, - "4": { "acintro4": 6 }, - "5": { "acintro5": 6 }, - "6": { "acintro6": 9 }, - "7": { "acintro7": 15 }, - "8": { "acintro8": 4 }, - "9": { "acintro9": 8 }, - "10": { "AdvancedRoomFeatures": 12 }, - "11": { "AudioChannel": 4 }, - "12": { "AudioClip": 1 }, - "13": { "AudioInScript": 2 }, - "14": { "AutonumberSpeechFiles": 4 }, - "15": { "BackingUpYourGame": 6 }, - "16": { "BlockingScripts": 3 }, - "17": { "BuildAndroid": 2 }, - "18": { "Button": 1 }, - "19": { "Camera": 6 }, - "20": { "Character": 25 }, - "21": { "ColoursEditor": 7 }, - "22": { "Constants": 4 }, - "23": { "ContactingTheDevelopers": 1 }, - "24": { "Copyright": 3 }, - "25": { "Credits": 5 }, - "26": { "CustomDialogOptions": 4 }, - "27": { "CustomProperties": 3 }, - "28": { "DateTime": 2 }, - "29": { "Debuggingfeatures": 13 }, - "30": { "DefaultSetup": 44 }, - "31": { "Dialog": 2 }, - "32": { "DialogOptionsRenderingInfo": 1 }, - "33": { "DialogScript": 3 }, - "34": { "DistGame": 56 }, - "35": { "DrawingSurface": 7 }, - "36": { "DynamicArrays": 4 }, - "37": { "DynamicSprite": 21 }, - "38": { "EditorCharacter": 3 }, - "39": { "EditorCursor": 5 }, - "40": { "EditorDialog": 5 }, - "41": { "EditorFont": 2 }, - "42": { "EditorGUI": 18 }, - "43": { "EditorInventoryItems": 2 }, - "44": { "EditorLogPanel": 3 }, - "45": { "EditorPlugins": 2 }, - "46": { "EditorPreferences": 4 }, - "47": { "EditorRoom": 3 }, - "48": { "EditorSprite": 8 }, - "49": { "EditorView": 4 }, - "50": { "EngineConfigFile": 43 }, - "51": { "EnginePluginDesign-timeAPI": 8 }, - "52": { "EnginePluginRun-timeAPI": 68 }, - "53": { "EnginePlugins": 2 }, - "54": { "EventTypes": 5 }, - "55": { "ExtenderFunctions": 2 }, - "56": { "FAQ": 27 }, - "57": { "File": 14 }, - "58": { "Game": 64 }, - "59": { "GameEventsOrder": 6 }, - "60": { "GameSavesCompatibility": 46 }, - "61": { "Gamevariables": 47 }, - "62": { "GeneralSettings": 69 }, - "63": { "GlobalArrays": 7 }, - "64": { "Globalfunctions_Event": 17 }, - "65": { "Globalfunctions_General": 95 }, - "66": { "Globalfunctions_Message": 5 }, - "67": { "Globalfunctions_Palette": 3 }, - "68": { "Globalfunctions_Room": 1 }, - "69": { "Globalfunctions_Screen": 5 }, - "70": { "Globalfunctions_Wait": 8 }, - "71": { "GlobalVariables": 1 }, - "72": { "GraphicsDriver": 6 }, - "73": { "GUI": 7 }, - "74": { "GUIControl": 8 }, - "75": { "Hotspot": 1 }, - "76": { "Introduction": 4 }, - "77": { "InventoryItem": 2 }, - "78": { "InvWindow": 6 }, - "79": { "Label": 3 }, - "80": { "Lipsync": 4 }, - "81": { "ListBox": 10 }, - "82": { "MIDI-playback": 3 }, - "83": { "Mouse": 14 }, - "84": { "Multimedia": 14 }, - "85": { "MultipleScripts": 6 }, - "86": { "MusicAndSound": 19 }, - "87": { "Object": 6 }, - "88": { "ObsoleteScriptAPI": 13 }, - "89": { "OtherFeatures": 2 }, - "90": { "Overlay": 4 }, - "91": { "Parser": 6 }, - "92": { "Plugins": 5 }, - "93": { "Pointers": 4 }, - "94": { "Preprocessor": 5 }, - "95": { "RepExec": 15 }, - "96": { "Room": 4 }, - "97": { "RuntimeEngine": 29 }, - "98": { "Screen": 15 }, - "99": { "ScriptAPIOverview": 2 }, - "100": { "ScriptingTutorial": 1 }, - "101": { "ScriptingTutorialPart1": 5 }, - "102": { "ScriptingTutorialPart2": 2 }, - "103": { "ScriptKeywords": 16 }, - "104": { "ScriptModules": 2 }, - "105": { "Settingupthegame": 37 }, - "106": { "Setup": 41 }, - "107": { "SourceControl": 3 }, - "108": { "Speech": 11 }, - "109": { "StartingOff": 1 }, - "110": { "StringFormats": 2 }, - "111": { "System": 31 }, - "112": { "SystemRequirements": 1 }, - "113": { "TemplateBASS": 1 }, - "114": { "Templates": 22 }, - "115": { "TemplateSierraStyle": 2 }, - "116": { "TemplateVerbcoin": 2 }, - "117": { "TextParser": 1 }, - "118": { "Translations": 19 }, - "119": { "TroubleshootingWindowsZoneID": 2 }, - "120": { "Tumbleweed": 7 }, - "121": { "Tumbleweed_translation": 4 }, - "122": { "Tumbleweed_unhandled": 1 }, - "123": { "Tutorial": 2 }, - "124": { "UnicodeSupport": 9 }, - "125": { "UpgradeTo30": 10 }, - "126": { "UpgradeTo31": 15 }, - "127": { "UpgradeTo32": 5 }, - "128": { "UpgradeTo33": 6 }, - "129": { "UpgradeTo335": 10 }, - "130": { "UpgradeTo34": 12 }, - "131": { "UpgradeTo341": 16 }, - "132": { "UpgradeTo35": 15 }, - "133": { "UpgradeTo36": 31 }, - "134": { "UpgradeTo361": 8 }, - "135": { "UpgradingTo27": 1 }, - "136": { "Viewport": 6 }, - "137": { "VoiceSpeech": 8 } - }, - "game's": { - "0": { "acintro1": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "DefaultSetup": 9 }, - "4": { "DistGame": 4 }, - "5": { "EditorCharacter": 1 }, - "6": { "EditorGUI": 3 }, - "7": { "EngineConfigFile": 5 }, - "8": { "EnginePluginRun-timeAPI": 8 }, - "9": { "FAQ": 2 }, - "10": { "Game": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Gamevariables": 1 }, - "13": { "GeneralSettings": 9 }, - "14": { "GlobalArrays": 4 }, - "15": { "GUI": 1 }, - "16": { "Label": 1 }, - "17": { "Lipsync": 2 }, - "18": { "Multimedia": 3 }, - "19": { "MusicAndSound": 1 }, - "20": { "Overlay": 1 }, - "21": { "RuntimeEngine": 1 }, - "22": { "Settingupthegame": 1 }, - "23": { "Setup": 2 }, - "24": { "System": 11 }, - "25": { "UnicodeSupport": 1 }, - "26": { "UpgradeTo335": 2 }, - "27": { "UpgradeTo341": 1 }, - "28": { "UpgradeTo35": 2 }, - "29": { "UpgradeTo36": 2 } - }, - "game-creation": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "game-making": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "game-speed": { - "0": { "EditorView": 1 } - }, - "game-wide": { - "0": { "acintro1": 3 }, - "1": { "acintro5": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "GeneralSettings": 4 }, - "5": { "Settingupthegame": 1 }, - "6": { "TextParser": 1 }, - "7": { "UpgradeTo33": 3 } - }, - "gamename": { - "0": { "GeneralSettings": 2 } - }, - "gameplay": { - "0": { "EditorInventoryItems": 1 }, - "1": { "Mouse": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "Templates": 1 } - }, - "gameproject's": { - "0": { "DistGame": 1 } - }, - "gameproperties": { - "0": { "RuntimeEngine": 1 } - }, - "gamers": { - "0": { "MIDI-playback": 1 } - }, - "games": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro5": 4 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 2 }, - "7": { "AdvancedRoomFeatures": 2 }, - "8": { "AnonymousUsageInfo": 2 }, - "9": { "Character": 5 }, - "10": { "ColoursEditor": 2 }, - "11": { "Copyright": 1 }, - "12": { "DefaultSetup": 3 }, - "13": { "DrawingSurface": 4 }, - "14": { "DynamicArrays": 1 }, - "15": { "DynamicSprite": 1 }, - "16": { "EditorGUI": 2 }, - "17": { "EditorPreferences": 1 }, - "18": { "EditorView": 1 }, - "19": { "EngineConfigFile": 2 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "EnginePlugins": 2 }, - "22": { "FAQ": 13 }, - "23": { "File": 1 }, - "24": { "Game": 4 }, - "25": { "GameSavesCompatibility": 1 }, - "26": { "Gamevariables": 2 }, - "27": { "GeneralSettings": 15 }, - "28": { "Globalfunctions_General": 7 }, - "29": { "Globalfunctions_Message": 1 }, - "30": { "Globalfunctions_Palette": 2 }, - "31": { "Globalfunctions_Screen": 1 }, - "32": { "GraphicsDriver": 4 }, - "33": { "GUI": 1 }, - "34": { "GUIControl": 1 }, - "35": { "Introduction": 1 }, - "36": { "ListBox": 5 }, - "37": { "Multimedia": 1 }, - "38": { "MusicAndSound": 1 }, - "39": { "Object": 3 }, - "40": { "ObsoleteScriptAPI": 1 }, - "41": { "Overlay": 2 }, - "42": { "Parser": 1 }, - "43": { "Region": 2 }, - "44": { "Room": 1 }, - "45": { "ScriptingTutorialPart1": 1 }, - "46": { "Settingupthegame": 9 }, - "47": { "Setup": 7 }, - "48": { "SystemRequirements": 2 }, - "49": { "TextParser": 2 }, - "50": { "Tumbleweed": 1 }, - "51": { "UnicodeSupport": 3 }, - "52": { "UpgradeTo30": 1 }, - "53": { "UpgradeTo31": 1 }, - "54": { "UpgradeTo335": 1 }, - "55": { "UpgradeTo35": 5 }, - "56": { "UpgradeTo36": 3 }, - "57": { "UpgradeTo361": 1 }, - "58": { "VoiceSpeech": 1 } - }, - "gamma": { - "0": { "System": 3 } - }, - "gap": { - "0": { "DistGame": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 4 } - }, - "garbage": { - "0": { "UnicodeSupport": 1 } - }, - "gave": { - "0": { "GlobalVariables": 1 }, - "1": { "Translations": 1 } - }, - "general": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Dictionary": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "FAQ": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "RuntimeEngine": 1 }, - "7": { "Scripting": 1 }, - "8": { "Set": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "TemplateSierraStyle": 1 }, - "11": { "TemplateVerbcoin": 1 }, - "12": { "UpgradeTo33": 1 } - }, - "generally": { - "0": { "acintro3": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "InvWindow": 2 }, - "5": { "Settingupthegame": 1 } - }, - "generate": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 1 }, - "2": { "FAQ": 1 }, - "3": { "MIDI-playback": 2 }, - "4": { "Overlay": 2 }, - "5": { "UpgradeTo36": 1 } - }, - "generated": { - "0": { "DistGame": 1 }, - "1": { "EditorLogPanel": 3 }, - "2": { "Overlay": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "StandardEnums": 2 }, - "5": { "Translations": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "generates": { - "0": { "Pointers": 1 } - }, - "generating": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 1 }, - "2": { "File": 1 }, - "3": { "Tumbleweed": 1 } - }, - "genere": { - "0": { "GeneralSettings": 1 } - }, - "generic": { - "0": { "acintro9": 1 }, - "1": { "EventTypes": 1 }, - "2": { "GUIControl": 1 }, - "3": { "TextParser": 1 } - }, - "genre": { - "0": { "FAQ": 1 } - }, - "gesture": { - "0": { "EditorRoom": 1 } - }, - "get": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 3 }, - "2": { "acintro4": 3 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 4 }, - "5": { "acintro8": 3 }, - "6": { "acintro9": 3 }, - "7": { "AdvancedRoomFeatures": 5 }, - "8": { "AudioInScript": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Character": 11 }, - "11": { "Constants": 1 }, - "12": { "ContactingTheDevelopers": 2 }, - "13": { "CustomDialogOptions": 11 }, - "14": { "CustomProperties": 1 }, - "15": { "DateTime": 1 }, - "16": { "DialogOptionsRenderingInfo": 19 }, - "17": { "DrawingSurface": 5 }, - "18": { "DynamicArrays": 4 }, - "19": { "DynamicSprite": 2 }, - "20": { "EditorGUI": 4 }, - "21": { "EditorView": 1 }, - "22": { "EnginePluginDesign-timeAPI": 2 }, - "23": { "EnginePluginRun-timeAPI": 10 }, - "24": { "FAQ": 6 }, - "25": { "Game": 5 }, - "26": { "GameSavesCompatibility": 1 }, - "27": { "Gamevariables": 1 }, - "28": { "GeneralSettings": 1 }, - "29": { "Globalfunctions_Event": 2 }, - "30": { "Globalfunctions_General": 7 }, - "31": { "GUI": 2 }, - "32": { "GUIControl": 2 }, - "33": { "Hotspot": 2 }, - "34": { "Introduction": 3 }, - "35": { "InventoryItem": 2 }, - "36": { "KeyboardShortcuts": 1 }, - "37": { "ListBox": 3 }, - "38": { "MIDI-playback": 1 }, - "39": { "MusicAndSound": 1 }, - "40": { "Object": 8 }, - "41": { "OOProgramming": 11 }, - "42": { "Parser": 1 }, - "43": { "Plugins": 1 }, - "44": { "Pointers": 5 }, - "45": { "Preprocessor": 1 }, - "46": { "Region": 1 }, - "47": { "Room": 2 }, - "48": { "RuntimeEngine": 1 }, - "49": { "ScriptingTutorialPart1": 2 }, - "50": { "ScriptingTutorialPart2": 2 }, - "51": { "ScriptKeywords": 2 }, - "52": { "Settingupthegame": 2 }, - "53": { "System": 1 }, - "54": { "SystemLimits": 2 }, - "55": { "Templates": 1 }, - "56": { "TextParser": 2 }, - "57": { "Translations": 1 }, - "58": { "Tumbleweed_extensions": 1 }, - "59": { "Tumbleweed_translation": 2 }, - "60": { "Tumbleweed_unhandled": 1 }, - "61": { "UpgradeTo30": 3 }, - "62": { "UpgradeTo31": 1 }, - "63": { "UpgradeTo32": 1 }, - "64": { "UpgradeTo33": 2 }, - "65": { "UpgradeTo34": 3 }, - "66": { "UpgradeTo35": 2 }, - "67": { "UpgradeTo36": 2 }, - "68": { "UpgradingTo27": 3 } - }, - "get's": { - "0": { "ScriptKeywords": 1 } - }, - "geti": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "OOProgramming": 3 } - }, - "gets": { - "0": { "BlockingScripts": 3 }, - "1": { "Character": 4 }, - "2": { "Dialog": 1 }, - "3": { "DynamicArrays": 3 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Wait": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "Object": 2 }, - "10": { "Overlay": 1 }, - "11": { "Pointers": 2 }, - "12": { "ScriptAPIOverview": 1 }, - "13": { "ScriptingTutorialPart1": 1 }, - "14": { "ScriptingTutorialPart2": 2 }, - "15": { "ScriptKeywords": 4 }, - "16": { "Tumbleweed_movement": 1 }, - "17": { "Tumbleweed_player": 1 }, - "18": { "UpgradeTo35": 1 } - }, - "getter": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "OOProgramming": 4 }, - "2": { "ScriptKeywords": 1 } - }, - "getters": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "getting": { - "0": { "Character": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "DateTime": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Pointers": 1 }, - "5": { "RepExec": 1 }, - "6": { "ScriptingTutorialPart1": 2 }, - "7": { "Tumbleweed_extensions": 1 } - }, - "gfxdriver": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "gfxdrivers": { - "0": { "EngineConfigFile": 1 } - }, - "gfxfilter": { - "0": { "RuntimeEngine": 4 } - }, - "ghostly": { - "0": { "Object": 1 } - }, - "gift": { - "0": { "Copyright": 1 } - }, - "giftware": { - "0": { "Copyright": 1 } - }, - "ginfo": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "github": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 } - }, - "give": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 3 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 3 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 1 }, - "6": { "Character": 2 }, - "7": { "ContactingTheDevelopers": 2 }, - "8": { "DefaultSetup": 1 }, - "9": { "Dialog": 1 }, - "10": { "DialogScript": 1 }, - "11": { "DistGame": 1 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EditorPlugins": 1 }, - "16": { "EditorSprite": 1 }, - "17": { "EnginePluginRun-timeAPI": 1 }, - "18": { "EventTypes": 2 }, - "19": { "Game": 1 }, - "20": { "GeneralSettings": 1 }, - "21": { "Globalfunctions_General": 3 }, - "22": { "Globalfunctions_Palette": 1 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "GUI": 1 }, - "25": { "Object": 1 }, - "26": { "Pointers": 1 }, - "27": { "ScriptingTutorialPart1": 1 }, - "28": { "ScriptModules": 2 }, - "29": { "Settingupthegame": 1 }, - "30": { "Setup": 1 }, - "31": { "Translations": 1 }, - "32": { "Tumbleweed": 4 }, - "33": { "Tumbleweed_extensions": 1 }, - "34": { "Tumbleweed_unhandled": 1 }, - "35": { "UpgradeTo34": 1 } - }, - "given": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "Character": 2 }, - "5": { "Copyright": 1 }, - "6": { "DialogScript": 1 }, - "7": { "Dictionary": 3 }, - "8": { "DrawingSurface": 3 }, - "9": { "EditorPlugins": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "Game": 2 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 3 }, - "15": { "GUI": 2 }, - "16": { "MusicAndSound": 1 }, - "17": { "Object": 2 }, - "18": { "Preprocessor": 1 }, - "19": { "Room": 3 }, - "20": { "RuntimeEngine": 2 }, - "21": { "Screen": 2 }, - "22": { "ScriptingTutorialPart1": 2 }, - "23": { "Set": 1 }, - "24": { "Settingupthegame": 1 }, - "25": { "TextParser": 1 }, - "26": { "Tumbleweed": 1 }, - "27": { "Tumbleweed_actions": 4 }, - "28": { "Tumbleweed_door": 2 }, - "29": { "Tumbleweed_extensions": 2 }, - "30": { "Tumbleweed_helper": 1 }, - "31": { "Tumbleweed_movement": 8 }, - "32": { "Viewport": 4 } - }, - "gives": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "CustomProperties": 3 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "EditorInventoryItems": 1 }, - "7": { "EnginePluginDesign-timeAPI": 2 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Game": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Gamevariables": 1 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "Globalfunctions_Palette": 1 }, - "14": { "MusicAndSound": 1 }, - "15": { "OOProgramming": 1 }, - "16": { "ScriptingTutorialPart1": 1 }, - "17": { "ScriptingTutorialPart2": 1 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Tumbleweed": 1 } - }, - "giving": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "ScriptingTutorial": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "Tumbleweed_movement": 1 } - }, - "glad": { - "0": { "Settingupthegame": 1 } - }, - "glide": { - "0": { "Character": 1 } - }, - "glitch": { - "0": { "GameSavesCompatibility": 1 } - }, - "global": { - "0": { "acintro5": 1 }, - "1": { "AudioClip": 2 }, - "2": { "AudioInScript": 1 }, - "3": { "BlockingScripts": 8 }, - "4": { "Camera": 3 }, - "5": { "Character": 12 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "CustomProperties": 1 }, - "8": { "Dialog": 5 }, - "9": { "DynamicArrays": 1 }, - "10": { "DynamicSprite": 8 }, - "11": { "EngineConfigFile": 3 }, - "12": { "EnginePluginRun-timeAPI": 4 }, - "13": { "EventTypes": 1 }, - "14": { "File": 1 }, - "15": { "Game": 13 }, - "16": { "GameSavesCompatibility": 4 }, - "17": { "GlobalArrays": 1 }, - "18": { "Globalfunctions_Event": 4 }, - "19": { "Globalfunctions_General": 15 }, - "20": { "Globalfunctions_Message": 2 }, - "21": { "Globalfunctions_Palette": 1 }, - "22": { "GlobalVariables": 7 }, - "23": { "GUI": 2 }, - "24": { "GUIControl": 2 }, - "25": { "Hotspot": 3 }, - "26": { "InventoryItem": 3 }, - "27": { "ListBox": 1 }, - "28": { "Mouse": 2 }, - "29": { "MultipleScripts": 6 }, - "30": { "MusicAndSound": 1 }, - "31": { "Object": 3 }, - "32": { "ObsoleteScriptAPI": 2 }, - "33": { "Overlay": 1 }, - "34": { "Pointers": 4 }, - "35": { "Region": 1 }, - "36": { "RepExec": 1 }, - "37": { "Room": 4 }, - "38": { "ScriptAPIOverview": 1 }, - "39": { "ScriptingTutorialPart1": 2 }, - "40": { "ScriptingTutorialPart2": 3 }, - "41": { "ScriptKeywords": 7 }, - "42": { "Settingupthegame": 1 }, - "43": { "Speech": 5 }, - "44": { "String": 12 }, - "45": { "TemplateBASS": 1 }, - "46": { "TemplateVerbcoin": 1 }, - "47": { "TextParser": 1 }, - "48": { "Tumbleweed": 3 }, - "49": { "UpgradeTo30": 2 }, - "50": { "UpgradeTo33": 1 }, - "51": { "UpgradeTo36": 2 }, - "52": { "UpgradingTo27": 3 }, - "53": { "Viewport": 1 } - }, - "globalScript": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "globalSprite": { - "0": { "DynamicSprite": 6 } - }, - "globally": { - "0": { "OOProgramming": 1 } - }, - "glue": { - "0": { "EditorLogPanel": 1 } - }, - "go": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 3 }, - "3": { "acintro5": 1 }, - "4": { "acintro8": 6 }, - "5": { "acintro9": 1 }, - "6": { "AutonumberSpeechFiles": 2 }, - "7": { "BackingUpYourGame": 1 }, - "8": { "BuildAndroid": 4 }, - "9": { "Button": 2 }, - "10": { "Character": 6 }, - "11": { "ContactingTheDevelopers": 1 }, - "12": { "CustomDialogOptions": 1 }, - "13": { "DateTime": 1 }, - "14": { "DialogScript": 2 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorPreferences": 1 }, - "17": { "EditorSprite": 1 }, - "18": { "EditorView": 1 }, - "19": { "EnginePluginRun-timeAPI": 5 }, - "20": { "EventTypes": 1 }, - "21": { "FAQ": 1 }, - "22": { "GameSavesCompatibility": 1 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_General": 6 }, - "25": { "Globalfunctions_Room": 1 }, - "26": { "Globalfunctions_Screen": 2 }, - "27": { "GUIControl": 2 }, - "28": { "Lipsync": 1 }, - "29": { "ListBox": 1 }, - "30": { "Object": 2 }, - "31": { "Room": 1 }, - "32": { "ScriptingTutorialPart1": 1 }, - "33": { "ScriptingTutorialPart2": 2 }, - "34": { "ScriptKeywords": 1 }, - "35": { "Settingupthegame": 1 }, - "36": { "Templates": 1 }, - "37": { "UnicodeSupport": 1 }, - "38": { "UpgradingTo27": 1 }, - "39": { "Viewport": 1 } - }, - "goal": { - "0": { "Tumbleweed_movement": 8 } - }, - "goes": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 2 }, - "2": { "Character": 3 }, - "3": { "GameEventsOrder": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "Overlay": 6 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "ScriptingTutorialPart2": 1 } - }, - "going": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "BuildAndroid": 2 }, - "6": { "EditorPlugins": 4 }, - "7": { "EditorView": 2 }, - "8": { "ExtenderFunctions": 1 }, - "9": { "File": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "OOProgramming": 1 }, - "15": { "RepExec": 2 }, - "16": { "ScriptingTutorialPart1": 1 }, - "17": { "Settingupthegame": 2 }, - "18": { "Speech": 1 }, - "19": { "Templates": 1 }, - "20": { "Translations": 1 }, - "21": { "Tumbleweed_movement": 1 }, - "22": { "UpgradeTo32": 1 } - }, - "gone": { - "0": { "UpgradeTo30": 2 }, - "1": { "UpgradeTo35": 1 } - }, - "good": { - "0": { "acintro3": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "Copyright": 1 }, - "6": { "DateTime": 1 }, - "7": { "DistGame": 4 }, - "8": { "EditorInventoryItems": 1 }, - "9": { "EditorSprite": 1 }, - "10": { "EditorView": 2 }, - "11": { "FAQ": 4 }, - "12": { "Game": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Multimedia": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Object": 1 }, - "17": { "Pointers": 3 }, - "18": { "Preprocessor": 1 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "ScriptKeywords": 1 }, - "21": { "TemplateSierraStyle": 1 }, - "22": { "TheScriptHeader": 1 }, - "23": { "Translations": 1 }, - "24": { "UnicodeSupport": 3 }, - "25": { "UpgradeTo30": 1 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo35": 1 }, - "28": { "UpgradeTo36": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "goodbye": { - "0": { "String": 2 } - }, - "got": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 2 }, - "6": { "AudioClip": 1 }, - "7": { "Character": 1 }, - "8": { "Dialog": 1 }, - "9": { "GlobalArrays": 1 }, - "10": { "GUI": 1 }, - "11": { "GUIControl": 1 }, - "12": { "Hotspot": 1 }, - "13": { "InventoryItem": 1 }, - "14": { "Object": 1 }, - "15": { "Pointers": 1 }, - "16": { "ScriptingTutorialPart2": 1 }, - "17": { "Translations": 1 }, - "18": { "Tumbleweed": 1 }, - "19": { "UpgradeTo30": 1 }, - "20": { "UpgradeTo31": 1 }, - "21": { "UpgradeTo35": 1 } - }, - "gotcha": { - "0": { "ScriptKeywords": 1 } - }, - "goto-dialog": { - "0": { "acintro8": 2 }, - "1": { "DialogScript": 2 } - }, - "goto-previous": { - "0": { "acintro8": 2 }, - "1": { "DialogScript": 2 } - }, - "gp": { - "0": { "Globalfunctions_General": 4 }, - "1": { "ObsoleteScriptAPI": 4 } - }, - "grab": { - "0": { "DynamicSprite": 2 } - }, - "gradle": { - "0": { "EditorPreferences": 1 } - }, - "gradually": { - "0": { "Character": 2 }, - "1": { "DrawingSurface": 1 }, - "2": { "GUI": 1 }, - "3": { "Object": 1 }, - "4": { "Overlay": 2 }, - "5": { "UpgradeTo335": 1 } - }, - "grants": { - "0": { "OOProgramming": 1 } - }, - "graphic": { - "0": { "acintro4": 5 }, - "1": { "acintro5": 1 }, - "2": { "acintro6": 3 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "Button": 8 }, - "6": { "Character": 4 }, - "7": { "DrawingSurface": 1 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorCursor": 3 }, - "10": { "EditorGUI": 2 }, - "11": { "EnginePluginRun-timeAPI": 6 }, - "12": { "FAQ": 1 }, - "13": { "Game": 2 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "InventoryItem": 3 }, - "17": { "Mouse": 6 }, - "18": { "Object": 6 }, - "19": { "Overlay": 4 }, - "20": { "RuntimeEngine": 1 }, - "21": { "Settingupthegame": 11 }, - "22": { "Setup": 1 }, - "23": { "Slider": 2 }, - "24": { "System": 5 }, - "25": { "Tumbleweed_translation": 1 }, - "26": { "UpgradeTo36": 2 } - }, - "graphical": { - "0": { "acintro7": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "Overlay": 3 }, - "5": { "RuntimeEngine": 1 }, - "6": { "UpgradeTo36": 3 } - }, - "graphicdriver": { - "0": { "RuntimeEngine": 1 } - }, - "graphics": { - "0": { "acintro1": 10 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 10 }, - "3": { "Character": 1 }, - "4": { "ColoursEditor": 1 }, - "5": { "Credits": 1 }, - "6": { "DefaultSetup": 5 }, - "7": { "DistGame": 1 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorGUI": 3 }, - "10": { "EngineConfigFile": 5 }, - "11": { "EnginePluginRun-timeAPI": 11 }, - "12": { "EventTypes": 1 }, - "13": { "FAQ": 1 }, - "14": { "Game": 2 }, - "15": { "GeneralSettings": 3 }, - "16": { "Globalfunctions_General": 3 }, - "17": { "GraphicsDriver": 8 }, - "18": { "Object": 1 }, - "19": { "RuntimeEngine": 2 }, - "20": { "Screen": 2 }, - "21": { "Settingupthegame": 10 }, - "22": { "Setup": 7 }, - "23": { "StartingOff": 1 }, - "24": { "System": 1 }, - "25": { "Templates": 1 }, - "26": { "Tumbleweed": 2 }, - "27": { "Tumbleweed_actions": 1 }, - "28": { "Tumbleweed_translation": 3 }, - "29": { "UpgradeTo31": 1 } - }, - "grasp": { - "0": { "acintro9": 1 } - }, - "grass": { - "0": { "acintro3": 1 } - }, - "grayscale": { - "0": { "acintro1": 1 } - }, - "great": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "ScriptingTutorial": 1 }, - "2": { "Translations": 1 } - }, - "greater": { - "0": { "Character": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GUI": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "ScriptKeywords": 2 }, - "6": { "String": 1 } - }, - "green": { - "0": { "Character": 3 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Game": 3 }, - "4": { "Gamevariables": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Globalfunctions_Palette": 3 }, - "7": { "Globalfunctions_Screen": 2 }, - "8": { "Object": 3 }, - "9": { "Region": 2 } - }, - "greeted": { - "0": { "acintro1": 1 } - }, - "grey": { - "0": { "acintro3": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Message": 2 }, - "4": { "Settingupthegame": 1 }, - "5": { "Slider": 2 } - }, - "greyed": { - "0": { "acintro3": 2 } - }, - "greys": { - "0": { "Gamevariables": 1 }, - "1": { "Mouse": 1 } - }, - "grid": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 2 }, - "3": { "acintro6": 4 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "ColoursEditor": 2 }, - "6": { "EditorCursor": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "FAQ": 1 }, - "10": { "Settingupthegame": 8 } - }, - "grids": { - "0": { "CustomProperties": 1 } - }, - "grind": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "ground": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 1 }, - "3": { "Overlay": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "ground-level": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Room": 4 } - }, - "group": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "EditorLogPanel": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 2 }, - "5": { "MusicAndSound": 1 }, - "6": { "ScriptKeywords": 4 }, - "7": { "Settingupthegame": 1 }, - "8": { "System": 1 }, - "9": { "UpgradeTo33": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "UpgradeTo36": 1 } - }, - "group's": { - "0": { "UpgradeTo35": 2 } - }, - "groupOfChars": { - "0": { "DynamicArrays": 6 } - }, - "grouped": { - "0": { "Tumbleweed": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "groups": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 }, - "2": { "ScriptModules": 1 } - }, - "grows": { - "0": { "DistGame": 1 } - }, - "guarantee": { - "0": { "MusicAndSound": 1 }, - "1": { "Speech": 1 } - }, - "guaranteed": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "SystemLimits": 1 } - }, - "guarantees": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "guess": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "guessed": { - "0": { "acintro4": 1 } - }, - "guessing": { - "0": { "UpgradingTo27": 1 } - }, - "gui": { - "0": { "EngineConfigFile": 2 }, - "1": { "Gamevariables": 1 }, - "2": { "GlobalArrays": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "GUI": 9 }, - "5": { "Tumbleweed": 1 }, - "6": { "UpgradingTo27": 2 } - }, - "gui-script": { - "0": { "Tumbleweed_door": 1 } - }, - "guiconfig": { - "0": { "GUI": 2 } - }, - "guicontrol": { - "0": { "GUIControl": 1 } - }, - "guide": { - "0": { "acintro": 1 }, - "1": { "Plugins": 1 }, - "2": { "TemplateSierraStyle": 1 }, - "3": { "TemplateVerbcoin": 1 } - }, - "guides": { - "0": { "AnonymousUsageInfo": 1 } - }, - "guis": { - "0": { "GUI": 1 }, - "1": { "UnicodeSupport": 1 }, - "2": { "UpgradeTo33": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "guiscript": { - "0": { "Tumbleweed_movement": 1 } - }, - "guy": { - "0": { "Character": 1 } - }, - "hBrownTree": { - "0": { "Hotspot": 2 } - }, - "hDoor": { - "0": { "acintro3": 1 }, - "1": { "Hotspot": 7 }, - "2": { "Pointers": 2 }, - "3": { "Tumbleweed_door": 1 } - }, - "hDoor's": { - "0": { "Hotspot": 1 } - }, - "hExit": { - "0": { "Tumbleweed": 1 } - }, - "hExitDoor": { - "0": { "FAQ": 1 } - }, - "hHotspot": { - "0": { "EventTypes": 2 } - }, - "hPressurePlate": { - "0": { "Hotspot": 2 } - }, - "hSignHome": { - "0": { "acintro3": 3 }, - "1": { "ScriptingTutorialPart1": 4 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "hTable": { - "0": { "Hotspot": 5 } - }, - "hTable's": { - "0": { "Hotspot": 2 } - }, - "hTree": { - "0": { "UpgradingTo27": 1 } - }, - "hack": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "had": { - "0": { "acintro2": 3 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "AudioClip": 1 }, - "6": { "BackingUpYourGame": 1 }, - "7": { "Character": 2 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "Dialog": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "EventTypes": 1 }, - "12": { "File": 1 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "GUI": 1 }, - "17": { "GUIControl": 2 }, - "18": { "Hotspot": 2 }, - "19": { "InventoryItem": 2 }, - "20": { "ListBox": 1 }, - "21": { "Object": 3 }, - "22": { "Region": 1 }, - "23": { "ScriptAPIOverview": 1 }, - "24": { "ScriptKeywords": 1 }, - "25": { "String": 1 }, - "26": { "UpgradeTo30": 3 }, - "27": { "UpgradeTo31": 1 }, - "28": { "UpgradeTo34": 2 }, - "29": { "UpgradeTo35": 3 }, - "30": { "UpgradeTo36": 4 }, - "31": { "UpgradingTo27": 2 }, - "32": { "UpgradingTo271": 1 } - }, - "half": { - "0": { "Camera": 4 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "GUI": 1 }, - "7": { "Viewport": 5 } - }, - "half-finished": { - "0": { "Templates": 1 } - }, - "halfCircle": { - "0": { "Maths": 1 } - }, - "halo": { - "0": { "Character": 1 } - }, - "halt": { - "0": { "FAQ": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "hand": { - "0": { "acintro4": 2 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 4 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Room": 1 }, - "11": { "GUIControl": 1 }, - "12": { "Object": 1 }, - "13": { "Overlay": 1 }, - "14": { "Pointers": 2 }, - "15": { "RepExec": 3 }, - "16": { "ScriptAPIOverview": 1 }, - "17": { "ScriptingTutorialPart1": 8 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Settingupthegame": 1 }, - "20": { "SystemLimits": 1 }, - "21": { "TheScriptHeader": 1 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo341": 1 }, - "24": { "UpgradeTo36": 1 } - }, - "hand-made": { - "0": { "acintro8": 1 } - }, - "handle": { - "0": { "acintro9": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "EditorGUI": 2 }, - "3": { "EnginePluginDesign-timeAPI": 5 }, - "4": { "EnginePluginRun-timeAPI": 13 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 2 }, - "7": { "MultipleScripts": 1 }, - "8": { "Plugins": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "Slider": 8 } - }, - "handle's": { - "0": { "EditorGUI": 1 } - }, - "handled": { - "0": { "Credits": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "MIDI-playback": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "Tumbleweed_extensions": 1 }, - "8": { "Tumbleweed_movement": 1 }, - "9": { "UpgradeTo32": 1 }, - "10": { "UpgradingTo27": 1 }, - "11": { "VoiceSpeech": 1 } - }, - "handler": { - "0": { "Character": 2 }, - "1": { "DialogScript": 1 }, - "2": { "Globalfunctions_Event": 4 }, - "3": { "Hotspot": 3 }, - "4": { "InventoryItem": 4 }, - "5": { "Object": 4 }, - "6": { "Parser": 1 }, - "7": { "Region": 2 }, - "8": { "Slider": 1 }, - "9": { "Templates": 1 } - }, - "handlers": { - "0": { "Character": 4 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "EventTypes": 1 }, - "4": { "Globalfunctions_Event": 2 }, - "5": { "MultipleScripts": 1 }, - "6": { "Scripting": 1 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "TemplateVerbcoin": 1 } - }, - "handles": { - "0": { "BlockingScripts": 1 }, - "1": { "File": 1 }, - "2": { "Pointers": 1 } - }, - "handling": { - "0": { "acintro5": 1 }, - "1": { "Constants": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "EditorCommandLineOptions": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "GeneralSettings": 2 }, - "7": { "Globalfunctions_Event": 4 }, - "8": { "Keycodes": 1 }, - "9": { "ScriptAPIOverview": 2 }, - "10": { "ScriptModules": 1 }, - "11": { "TemplateSierraStyle": 2 }, - "12": { "Translations": 1 }, - "13": { "Tumbleweed": 2 }, - "14": { "UpgradeTo36": 5 } - }, - "handsome": { - "0": { "Character": 1 } - }, - "handy": { - "0": { "acintro7": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "Maths": 2 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Tumbleweed": 1 } - }, - "handywork": { - "0": { "BackingUpYourGame": 1 } - }, - "hang": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "happen": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 2 }, - "3": { "acintro8": 1 }, - "4": { "Character": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Game": 1 }, - "7": { "GameEventsOrder": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "GUI": 2 }, - "11": { "Mouse": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Pointers": 2 }, - "14": { "RepExec": 2 }, - "15": { "Room": 1 }, - "16": { "ScriptingTutorialPart1": 1 }, - "17": { "ScriptingTutorialPart2": 1 }, - "18": { "Templates": 1 }, - "19": { "UpgradeTo30": 1 } - }, - "happened": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 1 }, - "2": { "Character": 1 }, - "3": { "FAQ": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "Hotspot": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "Object": 1 }, - "9": { "RepExec": 1 }, - "10": { "System": 1 }, - "11": { "UpgradeTo30": 1 } - }, - "happening": { - "0": { "BlockingScripts": 1 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 1 } - }, - "happens": { - "0": { "acintro8": 1 }, - "1": { "Button": 2 }, - "2": { "Character": 2 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "Dialog": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EventTypes": 2 }, - "8": { "FAQ": 3 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "Gamevariables": 1 }, - "11": { "GeneralSettings": 1 }, - "12": { "Globalfunctions_General": 5 }, - "13": { "Globalfunctions_Palette": 1 }, - "14": { "GUI": 1 }, - "15": { "InvWindow": 2 }, - "16": { "ListBox": 2 }, - "17": { "Multimedia": 1 }, - "18": { "MusicAndSound": 1 }, - "19": { "Object": 1 }, - "20": { "Settingupthegame": 3 }, - "21": { "Tumbleweed": 1 } - }, - "happy": { - "0": { "acintro6": 1 }, - "1": { "DialogScript": 1 }, - "2": { "Lipsync": 1 }, - "3": { "Settingupthegame": 1 } - }, - "hard": { - "0": { "acintro9": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "MusicAndSound": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "SystemLimits": 1 }, - "6": { "Tumbleweed": 1 }, - "7": { "UpgradingTo27": 2 } - }, - "hard-coded": { - "0": { "EditorCursor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "hard-wired": { - "0": { "Tumbleweed_helper": 1 } - }, - "harder": { - "0": { "Tumbleweed_door": 1 } - }, - "hardly": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "Settingupthegame": 1 } - }, - "hardware": { - "0": { "GraphicsDriver": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "Setup": 1 }, - "3": { "System": 2 } - }, - "has": { - "0": { "acintro": 1 }, - "1": { "acintro1": 2 }, - "2": { "acintro2": 4 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 6 }, - "5": { "acintro5": 3 }, - "6": { "acintro6": 1 }, - "7": { "acintro7": 3 }, - "8": { "acintro8": 2 }, - "9": { "acintro9": 3 }, - "10": { "AdvancedRoomFeatures": 2 }, - "11": { "AudioClip": 2 }, - "12": { "AudioInScript": 2 }, - "13": { "AutonumberSpeechFiles": 1 }, - "14": { "BlockingScripts": 1 }, - "15": { "Button": 3 }, - "16": { "Character": 45 }, - "17": { "ContactingTheDevelopers": 3 }, - "18": { "CustomProperties": 1 }, - "19": { "DateTime": 1 }, - "20": { "Debuggingfeatures": 3 }, - "21": { "DefaultSetup": 2 }, - "22": { "Dialog": 9 }, - "23": { "DialogOptionsRenderingInfo": 1 }, - "24": { "Dictionary": 3 }, - "25": { "DistGame": 2 }, - "26": { "DynamicSprite": 5 }, - "27": { "EditorCursor": 1 }, - "28": { "EditorGUI": 1 }, - "29": { "EditorInventoryItems": 1 }, - "30": { "EditorPlugins": 1 }, - "31": { "EditorRoom": 6 }, - "32": { "EditorSprite": 1 }, - "33": { "EngineConfigFile": 1 }, - "34": { "EnginePluginDesign-timeAPI": 1 }, - "35": { "EnginePluginRun-timeAPI": 24 }, - "36": { "EventTypes": 5 }, - "37": { "FAQ": 4 }, - "38": { "File": 6 }, - "39": { "Game": 18 }, - "40": { "GameSavesCompatibility": 2 }, - "41": { "Gamevariables": 2 }, - "42": { "GeneralSettings": 7 }, - "43": { "Globalfunctions_Event": 6 }, - "44": { "Globalfunctions_General": 14 }, - "45": { "Globalfunctions_Message": 1 }, - "46": { "Globalfunctions_Room": 8 }, - "47": { "Globalfunctions_Screen": 1 }, - "48": { "GraphicsDriver": 1 }, - "49": { "GUI": 5 }, - "50": { "GUIControl": 3 }, - "51": { "Hotspot": 1 }, - "52": { "ImportingFunctionsAndVariables": 3 }, - "53": { "Introduction": 1 }, - "54": { "InventoryItem": 2 }, - "55": { "InvWindow": 2 }, - "56": { "Keycodes": 1 }, - "57": { "Mouse": 7 }, - "58": { "Multimedia": 9 }, - "59": { "MultipleScripts": 2 }, - "60": { "MusicAndSound": 5 }, - "61": { "Object": 16 }, - "62": { "Plugins": 1 }, - "63": { "Pointers": 1 }, - "64": { "Preprocessor": 6 }, - "65": { "Region": 1 }, - "66": { "RepExec": 6 }, - "67": { "Room": 2 }, - "68": { "ScriptingTutorialPart1": 2 }, - "69": { "ScriptingTutorialPart2": 2 }, - "70": { "ScriptKeywords": 3 }, - "71": { "Set": 1 }, - "72": { "Settingupthegame": 5 }, - "73": { "Slider": 1 }, - "74": { "Speech": 3 }, - "75": { "StandardEnums": 1 }, - "76": { "StandardTypes": 1 }, - "77": { "String": 3 }, - "78": { "System": 3 }, - "79": { "SystemLimits": 1 }, - "80": { "TemplateBASS": 1 }, - "81": { "TextBox": 1 }, - "82": { "TextParser": 5 }, - "83": { "TextWindowGUI": 2 }, - "84": { "Translations": 2 }, - "85": { "TroubleshootingWindowsZoneID": 1 }, - "86": { "Tumbleweed": 3 }, - "87": { "Tumbleweed_actions": 2 }, - "88": { "Tumbleweed_movement": 22 }, - "89": { "Tumbleweed_translation": 2 }, - "90": { "UnicodeSupport": 2 }, - "91": { "UpgradeTo30": 7 }, - "92": { "UpgradeTo31": 3 }, - "93": { "UpgradeTo32": 2 }, - "94": { "UpgradeTo33": 3 }, - "95": { "UpgradeTo34": 2 }, - "96": { "UpgradeTo341": 1 }, - "97": { "UpgradeTo35": 8 }, - "98": { "UpgradeTo36": 6 }, - "99": { "UpgradeTo361": 1 }, - "100": { "UpgradingTo27": 7 }, - "101": { "UpgradingTo271": 1 }, - "102": { "ViewFrame": 3 }, - "103": { "Viewport": 1 }, - "104": { "VoiceSpeech": 3 } - }, - "hasAlphaChannel": { - "0": { "DynamicSprite": 2 } - }, - "hasn't": { - "0": { "Tumbleweed_movement": 2 }, - "1": { "Tumbleweed_unhandled": 1 }, - "2": { "UpgradeTo30": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "haunted": { - "0": { "Object": 2 } - }, - "haunted-object": { - "0": { "Object": 1 } - }, - "hauntedObject": { - "0": { "Object": 4 } - }, - "hauntedObjectName": { - "0": { "Object": 2 } - }, - "haunts": { - "0": { "Object": 1 } - }, - "have": { - "0": { "acintro1": 11 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 10 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 5 }, - "6": { "acintro7": 4 }, - "7": { "acintro8": 8 }, - "8": { "acintro9": 5 }, - "9": { "AdvancedRoomFeatures": 7 }, - "10": { "AudioClip": 3 }, - "11": { "BackingUpYourGame": 1 }, - "12": { "BlockingScripts": 3 }, - "13": { "BuildAndroid": 3 }, - "14": { "Button": 4 }, - "15": { "Camera": 2 }, - "16": { "Character": 31 }, - "17": { "ColoursEditor": 1 }, - "18": { "Constants": 1 }, - "19": { "ContactingTheDevelopers": 1 }, - "20": { "CustomDialogOptions": 4 }, - "21": { "CustomProperties": 7 }, - "22": { "DateTime": 1 }, - "23": { "DefaultSetup": 8 }, - "24": { "Dialog": 6 }, - "25": { "DialogOptionsRenderingInfo": 2 }, - "26": { "DialogScript": 4 }, - "27": { "Dictionary": 5 }, - "28": { "DistGame": 17 }, - "29": { "DrawingSurface": 5 }, - "30": { "DynamicArrays": 7 }, - "31": { "DynamicSprite": 8 }, - "32": { "EditorCommandLineOptions": 1 }, - "33": { "EditorFont": 3 }, - "34": { "EditorGUI": 5 }, - "35": { "EditorPlugins": 5 }, - "36": { "EditorRoom": 4 }, - "37": { "EditorSprite": 7 }, - "38": { "EditorView": 5 }, - "39": { "EngineConfigFile": 1 }, - "40": { "EnginePluginDesign-timeAPI": 10 }, - "41": { "EnginePluginRun-timeAPI": 26 }, - "42": { "EnginePlugins": 2 }, - "43": { "EventTypes": 5 }, - "44": { "ExtenderFunctions": 1 }, - "45": { "FAQ": 11 }, - "46": { "File": 7 }, - "47": { "Game": 6 }, - "48": { "GameSavesCompatibility": 10 }, - "49": { "Gamevariables": 1 }, - "50": { "GeneralSettings": 12 }, - "51": { "GlobalArrays": 8 }, - "52": { "Globalfunctions_Event": 1 }, - "53": { "Globalfunctions_General": 16 }, - "54": { "Globalfunctions_Message": 2 }, - "55": { "Globalfunctions_Room": 7 }, - "56": { "Globalfunctions_Screen": 1 }, - "57": { "Globalfunctions_Wait": 9 }, - "58": { "GraphicsDriver": 2 }, - "59": { "GUI": 5 }, - "60": { "GUIControl": 6 }, - "61": { "Hotspot": 6 }, - "62": { "ImportingFunctionsAndVariables": 8 }, - "63": { "Introduction": 1 }, - "64": { "InventoryItem": 5 }, - "65": { "Keycodes": 3 }, - "66": { "Label": 3 }, - "67": { "Lipsync": 2 }, - "68": { "ListBox": 3 }, - "69": { "MIDI-playback": 3 }, - "70": { "Mouse": 3 }, - "71": { "Multimedia": 6 }, - "72": { "MultipleScripts": 3 }, - "73": { "MusicAndSound": 8 }, - "74": { "Object": 6 }, - "75": { "OOProgramming": 4 }, - "76": { "Overlay": 6 }, - "77": { "Plugins": 1 }, - "78": { "Pointers": 12 }, - "79": { "Preprocessor": 1 }, - "80": { "Region": 1 }, - "81": { "RepExec": 2 }, - "82": { "Screen": 2 }, - "83": { "ScriptAPIOverview": 2 }, - "84": { "ScriptingTutorialPart1": 13 }, - "85": { "ScriptingTutorialPart2": 9 }, - "86": { "ScriptKeywords": 7 }, - "87": { "ScriptModules": 1 }, - "88": { "Set": 2 }, - "89": { "Settingupthegame": 11 }, - "90": { "Setup": 1 }, - "91": { "Speech": 2 }, - "92": { "System": 4 }, - "93": { "SystemLimits": 6 }, - "94": { "SystemRequirements": 1 }, - "95": { "Templates": 5 }, - "96": { "TextBox": 1 }, - "97": { "TextParser": 5 }, - "98": { "Translations": 5 }, - "99": { "TroubleshootingWindowsZoneID": 2 }, - "100": { "Tumbleweed": 11 }, - "101": { "Tumbleweed_door": 6 }, - "102": { "Tumbleweed_extensions": 8 }, - "103": { "Tumbleweed_translation": 2 }, - "104": { "UnicodeSupport": 9 }, - "105": { "UpgradeTo30": 6 }, - "106": { "UpgradeTo31": 1 }, - "107": { "UpgradeTo32": 7 }, - "108": { "UpgradeTo33": 2 }, - "109": { "UpgradeTo34": 4 }, - "110": { "UpgradeTo341": 2 }, - "111": { "UpgradeTo35": 10 }, - "112": { "UpgradeTo36": 13 }, - "113": { "UpgradeTo361": 7 }, - "114": { "UpgradingTo27": 10 }, - "115": { "UpgradingTo271": 5 }, - "116": { "ViewFrame": 1 }, - "117": { "Viewport": 4 }, - "118": { "VoiceSpeech": 4 } - }, - "haven't": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "having": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "Character": 1 }, - "5": { "ContactingTheDevelopers": 2 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "GameSavesCompatibility": 3 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Globalfunctions_Room": 1 }, - "14": { "MusicAndSound": 2 }, - "15": { "Pointers": 1 }, - "16": { "Preprocessor": 1 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptingTutorialPart2": 1 }, - "19": { "Settingupthegame": 1 }, - "20": { "StandardEnums": 1 }, - "21": { "UnicodeSupport": 1 }, - "22": { "UpgradeTo32": 1 }, - "23": { "UpgradeTo335": 1 }, - "24": { "UpgradeTo35": 1 }, - "25": { "UpgradeTo36": 3 }, - "26": { "UpgradingTo27": 2 } - }, - "haystack": { - "0": { "String": 3 } - }, - "hcos": { - "0": { "Maths": 2 } - }, - "he": { - "0": { "acintro2": 3 }, - "1": { "acintro7": 2 }, - "2": { "acintro8": 1 }, - "3": { "AdvancedRoomFeatures": 3 }, - "4": { "Character": 25 }, - "5": { "FAQ": 2 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Room": 2 }, - "8": { "Globalfunctions_Wait": 1 }, - "9": { "RepExec": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 2 }, - "13": { "Settingupthegame": 3 }, - "14": { "Tumbleweed_movement": 1 }, - "15": { "Tumbleweed_unhandled": 1 } - }, - "he'll": { - "0": { "acintro1": 1 } - }, - "head": { - "0": { "Character": 5 }, - "1": { "GeneralSettings": 2 }, - "2": { "Speech": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "headache": { - "0": { "TextParser": 1 } - }, - "header": { - "0": { "EnginePluginDesign-timeAPI": 8 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "ExtenderFunctions": 1 }, - "3": { "FAQ": 1 }, - "4": { "ImportingFunctionsAndVariables": 7 }, - "5": { "MultipleScripts": 2 }, - "6": { "OOProgramming": 3 }, - "7": { "Preprocessor": 2 }, - "8": { "ScriptingLanguage": 1 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "ScriptingTutorialPart2": 1 }, - "11": { "ScriptKeywords": 8 }, - "12": { "ScriptModules": 1 }, - "13": { "StandardEnums": 1 }, - "14": { "TheScriptHeader": 6 }, - "15": { "Tumbleweed": 1 }, - "16": { "UpgradeTo33": 1 }, - "17": { "UpgradeTo34": 1 }, - "18": { "UpgradeTo36": 1 } - }, - "headers": { - "0": { "DialogScript": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "ScriptModules": 1 }, - "3": { "TheScriptHeader": 2 }, - "4": { "UpgradeTo35": 1 } - }, - "heading": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "heads": { - "0": { "VoiceSpeech": 1 } - }, - "health": { - "0": { "DynamicArrays": 1 }, - "1": { "GlobalVariables": 1 }, - "2": { "ScriptKeywords": 7 }, - "3": { "String": 5 } - }, - "hear": { - "0": { "MusicAndSound": 1 } - }, - "heard": { - "0": { "Lipsync": 1 } - }, - "heavy": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "TemplateSierraStyle": 1 } - }, - "heavyweight": { - "0": { "SourceControl": 1 } - }, - "height": { - "0": { "acintro2": 1 }, - "1": { "Camera": 6 }, - "2": { "Character": 4 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DialogOptionsRenderingInfo": 1 }, - "6": { "DrawingSurface": 7 }, - "7": { "DynamicSprite": 21 }, - "8": { "EditorFont": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorPreferences": 2 }, - "11": { "EnginePluginRun-timeAPI": 17 }, - "12": { "Game": 2 }, - "13": { "Gamevariables": 3 }, - "14": { "GeneralSettings": 3 }, - "15": { "Globalfunctions_General": 9 }, - "16": { "Globalfunctions_Message": 1 }, - "17": { "Globalfunctions_Room": 1 }, - "18": { "GUI": 5 }, - "19": { "GUIControl": 2 }, - "20": { "InvWindow": 3 }, - "21": { "ListBox": 1 }, - "22": { "Object": 3 }, - "23": { "ObsoleteScriptAPI": 1 }, - "24": { "Overlay": 2 }, - "25": { "Room": 2 }, - "26": { "Screen": 1 }, - "27": { "Setup": 1 }, - "28": { "System": 4 }, - "29": { "TemplateBASS": 3 }, - "30": { "UpgradeTo36": 9 }, - "31": { "Viewport": 2 } - }, - "held": { - "0": { "Copyright": 2 }, - "1": { "DefaultSetup": 2 } - }, - "hello": { - "0": { "String": 6 } - }, - "help": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "AudioClip": 2 }, - "5": { "ContactingTheDevelopers": 4 }, - "6": { "Debuggingfeatures": 3 }, - "7": { "EditorCharacter": 1 }, - "8": { "EditorDialog": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "File": 1 }, - "11": { "GeneralSettings": 2 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Introduction": 2 }, - "14": { "KeyboardShortcuts": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Parser": 1 }, - "17": { "RuntimeEngine": 1 }, - "18": { "ScriptAPIOverview": 1 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "System": 1 }, - "21": { "TroubleshootingWindowsZoneID": 3 }, - "22": { "Tumbleweed": 1 }, - "23": { "UpgradeTo30": 1 }, - "24": { "UpgradeTo32": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradingTo27": 5 } - }, - "helped": { - "0": { "acintro9": 1 } - }, - "helper": { - "0": { "Tumbleweed_helper": 1 } - }, - "helpful": { - "0": { "File": 1 } - }, - "helps": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 1 } - }, - "hence": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UpgradeTo34": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "her": { - "0": { "FAQ": 1 } - }, - "here": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 2 }, - "7": { "BuildAndroid": 3 }, - "8": { "Character": 2 }, - "9": { "ColoursEditor": 1 }, - "10": { "DefaultSetup": 1 }, - "11": { "DialogScript": 1 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorSprite": 1 }, - "14": { "EngineConfigFile": 1 }, - "15": { "EnginePluginDesign-timeAPI": 1 }, - "16": { "EnginePluginRun-timeAPI": 6 }, - "17": { "EnginePlugins": 1 }, - "18": { "FAQ": 1 }, - "19": { "GameSavesCompatibility": 3 }, - "20": { "GeneralSettings": 4 }, - "21": { "Globalfunctions_Event": 4 }, - "22": { "Globalfunctions_General": 7 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "Globalfunctions_Screen": 1 }, - "25": { "ImportingFunctionsAndVariables": 1 }, - "26": { "Introduction": 1 }, - "27": { "MIDI-playback": 1 }, - "28": { "Mouse": 1 }, - "29": { "MusicAndSound": 3 }, - "30": { "OOProgramming": 1 }, - "31": { "Plugins": 1 }, - "32": { "RepExec": 2 }, - "33": { "ScriptingTutorialPart1": 2 }, - "34": { "ScriptingTutorialPart2": 2 }, - "35": { "ScriptKeywords": 3 }, - "36": { "Settingupthegame": 1 }, - "37": { "Setup": 1 }, - "38": { "StandardEnums": 2 }, - "39": { "TroubleshootingWindowsZoneID": 1 }, - "40": { "Tumbleweed_actions": 1 }, - "41": { "Tumbleweed_extensions": 1 }, - "42": { "Tumbleweed_translation": 3 } - }, - "here's": { - "0": { "UpgradingTo27": 1 } - }, - "hero": { - "0": { "Character": 2 } - }, - "hi": { - "0": { "Game": 3 } - }, - "hi-color": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 3 }, - "4": { "DynamicSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Object": 2 }, - "9": { "Region": 1 }, - "10": { "Settingupthegame": 6 } - }, - "hi-res": { - "0": { "EngineConfigFile": 2 }, - "1": { "UpgradeTo31": 7 } - }, - "hi-score": { - "0": { "DefaultSetup": 1 } - }, - "hidden": { - "0": { "acintro2": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "EditorGUI": 4 }, - "3": { "EditorRoom": 2 }, - "4": { "GUI": 3 }, - "5": { "ListBox": 4 }, - "6": { "Settingupthegame": 1 }, - "7": { "TemplateBASS": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "hide": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "FAQ": 2 }, - "3": { "GUI": 1 }, - "4": { "ListBox": 2 }, - "5": { "Preprocessor": 1 }, - "6": { "TemplateBASS": 2 }, - "7": { "TemplateVerbcoin": 1 }, - "8": { "Tumbleweed": 1 } - }, - "hides": { - "0": { "Mouse": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "Screen": 1 }, - "3": { "Tumbleweed_helper": 1 } - }, - "hiding": { - "0": { "GUI": 1 }, - "1": { "ListBox": 1 }, - "2": { "Mouse": 1 }, - "3": { "Tumbleweed_helper": 1 } - }, - "high": { - "0": { "Character": 3 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "Object": 3 }, - "8": { "Preprocessor": 1 }, - "9": { "Setup": 1 }, - "10": { "System": 1 }, - "11": { "SystemLimits": 1 }, - "12": { "UpgradeTo35": 2 } - }, - "high-color": { - "0": { "DrawingSurface": 1 } - }, - "high-res": { - "0": { "GeneralSettings": 2 }, - "1": { "UpgradeTo35": 7 } - }, - "high-resolution": { - "0": { "DefaultSetup": 2 }, - "1": { "DrawingSurface": 2 }, - "2": { "GeneralSettings": 2 }, - "3": { "GraphicsDriver": 2 }, - "4": { "Setup": 2 }, - "5": { "UpgradeTo35": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "higher": { - "0": { "AudioClip": 2 }, - "1": { "Camera": 4 }, - "2": { "DefaultSetup": 3 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorFont": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "FAQ": 1 }, - "9": { "Game": 3 }, - "10": { "Gamevariables": 1 }, - "11": { "GeneralSettings": 2 }, - "12": { "Globalfunctions_General": 2 }, - "13": { "Globalfunctions_Room": 1 }, - "14": { "GraphicsDriver": 2 }, - "15": { "GUI": 2 }, - "16": { "Hotspot": 1 }, - "17": { "ListBox": 1 }, - "18": { "Mouse": 1 }, - "19": { "MusicAndSound": 3 }, - "20": { "Object": 1 }, - "21": { "Overlay": 1 }, - "22": { "Preprocessor": 1 }, - "23": { "Setup": 2 }, - "24": { "Slider": 1 }, - "25": { "StandardEnums": 5 }, - "26": { "System": 3 }, - "27": { "SystemRequirements": 2 }, - "28": { "TemplateBASS": 1 }, - "29": { "UpgradeTo31": 1 }, - "30": { "UpgradeTo35": 2 }, - "31": { "Viewport": 1 } - }, - "highest": { - "0": { "Dialog": 5 }, - "1": { "EditorGUI": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "GUIControl": 1 }, - "5": { "ListBox": 1 }, - "6": { "UpgradeTo34": 1 } - }, - "highlight": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "ListBox": 1 }, - "4": { "TextParser": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "Tumbleweed_actions": 1 } - }, - "highlighted": { - "0": { "Dialog": 1 }, - "1": { "Tumbleweed": 1 }, - "2": { "Tumbleweed_actions": 1 }, - "3": { "Tumbleweed_translation": 2 } - }, - "highlights": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "highly": { - "0": { "acintro1": 1 }, - "1": { "GeneralSettings": 1 } - }, - "him": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 3 }, - "3": { "acintro8": 3 }, - "4": { "Character": 9 }, - "5": { "EditorView": 1 }, - "6": { "FAQ": 2 }, - "7": { "Settingupthegame": 3 } - }, - "himself": { - "0": { "acintro8": 1 } - }, - "hint": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Translations": 3 } - }, - "hinting": { - "0": { "EngineConfigFile": 1 } - }, - "his": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 31 }, - "3": { "EditorInventoryItems": 2 }, - "4": { "Game": 1 }, - "5": { "RepExec": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "Settingupthegame": 1 } - }, - "historical": { - "0": { "AudioChannel": 2 }, - "1": { "EngineConfigFile": 1 }, - "2": { "GlobalArrays": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "Keycodes": 1 }, - "7": { "Overlay": 1 }, - "8": { "Pointers": 1 }, - "9": { "ScriptKeywords": 1 }, - "10": { "System": 1 }, - "11": { "UpgradeTo36": 1 } - }, - "historically": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "history": { - "0": { "GameEventsOrder": 1 } - }, - "hit": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "BuildAndroid": 6 }, - "4": { "Character": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Plugins": 1 } - }, - "hits": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "hitting": { - "0": { "Character": 1 } - }, - "hold": { - "0": { "acintro1": 1 }, - "1": { "Button": 3 }, - "2": { "DynamicSprite": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "ListBox": 1 }, - "6": { "Object": 3 }, - "7": { "TemplateSierraStyle": 1 }, - "8": { "TemplateVerbcoin": 1 } - }, - "holding": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorRoom": 3 }, - "2": { "Tumbleweed_door": 1 } - }, - "holds": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ScriptingTutorialPart1": 1 } - }, - "hologram": { - "0": { "Character": 1 } - }, - "home": { - "0": { "acintro6": 1 }, - "1": { "Character": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "hook": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GeneralSettings": 1 } - }, - "hooked": { - "0": { "RuntimeEngine": 1 } - }, - "hooks": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "hope": { - "0": { "acintro9": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "hopefully": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "horizontal": { - "0": { "acintro2": 1 }, - "1": { "Character": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorGUI": 3 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "Globalfunctions_Screen": 1 }, - "7": { "Label": 1 }, - "8": { "Lipsync": 2 }, - "9": { "ListBox": 1 }, - "10": { "Speech": 1 } - }, - "horizontal-flip": { - "0": { "Globalfunctions_Screen": 1 } - }, - "horizontally": { - "0": { "Camera": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "Overlay": 1 }, - "3": { "Settingupthegame": 1 } - }, - "hotkey": { - "0": { "Debuggingfeatures": 1 }, - "1": { "Translations": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "hotkeys": { - "0": { "Debuggingfeatures": 1 }, - "1": { "Tumbleweed_translation": 1 } - }, - "hotspot": { - "0": { "acintro3": 23 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 4 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 2 }, - "5": { "BlockingScripts": 1 }, - "6": { "Character": 1 }, - "7": { "CustomProperties": 2 }, - "8": { "EditorCursor": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorInventoryItems": 4 }, - "11": { "EditorRoom": 4 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "EventTypes": 21 }, - "14": { "FAQ": 1 }, - "15": { "Gamevariables": 1 }, - "16": { "GeneralSettings": 11 }, - "17": { "GlobalArrays": 1 }, - "18": { "Globalfunctions_Event": 10 }, - "19": { "Globalfunctions_General": 6 }, - "20": { "Hotspot": 50 }, - "21": { "Label": 1 }, - "22": { "Mouse": 6 }, - "23": { "Pointers": 4 }, - "24": { "ScriptingTutorialPart1": 4 }, - "25": { "Settingupthegame": 3 }, - "26": { "TemplateVerbcoin": 1 }, - "27": { "Translations": 1 }, - "28": { "Tumbleweed": 9 }, - "29": { "Tumbleweed_door": 4 }, - "30": { "Tumbleweed_extensions": 1 }, - "31": { "UpgradingTo27": 2 } - }, - "hotspot's": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Hotspot": 4 }, - "2": { "Pointers": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "hotspots": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 6 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 3 }, - "4": { "acintro7": 1 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "Character": 1 }, - "7": { "Constants": 1 }, - "8": { "CustomProperties": 2 }, - "9": { "EditorRoom": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "GUI": 1 }, - "13": { "Hotspot": 1 }, - "14": { "Pointers": 1 }, - "15": { "Tumbleweed": 2 }, - "16": { "Tumbleweed_actions": 1 }, - "17": { "Tumbleweed_extensions": 1 }, - "18": { "Tumbleweed_movement": 1 }, - "19": { "UpgradeTo35": 4 } - }, - "hour": { - "0": { "DateTime": 2 } - }, - "hours": { - "0": { "ContactingTheDevelopers": 1 } - }, - "house": { - "0": { "Globalfunctions_Message": 2 } - }, - "hovering": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "ListBox": 2 } - }, - "how": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 2 }, - "6": { "AnonymousUsageInfo": 4 }, - "7": { "AudioChannel": 1 }, - "8": { "AudioInScript": 3 }, - "9": { "Button": 1 }, - "10": { "Camera": 1 }, - "11": { "Character": 10 }, - "12": { "CustomProperties": 1 }, - "13": { "DateTime": 1 }, - "14": { "DialogScript": 1 }, - "15": { "Dictionary": 1 }, - "16": { "DrawingSurface": 2 }, - "17": { "DynamicArrays": 2 }, - "18": { "EditorDialog": 1 }, - "19": { "EditorGUI": 1 }, - "20": { "EditorInventoryItems": 1 }, - "21": { "EditorSprite": 4 }, - "22": { "EditorView": 2 }, - "23": { "EngineConfigFile": 2 }, - "24": { "EnginePluginDesign-timeAPI": 1 }, - "25": { "EnginePluginRun-timeAPI": 6 }, - "26": { "FAQ": 3 }, - "27": { "File": 1 }, - "28": { "Game": 6 }, - "29": { "GameSavesCompatibility": 1 }, - "30": { "Gamevariables": 3 }, - "31": { "GeneralSettings": 3 }, - "32": { "Globalfunctions_General": 4 }, - "33": { "Globalfunctions_Room": 1 }, - "34": { "Globalfunctions_Screen": 4 }, - "35": { "Globalfunctions_Wait": 3 }, - "36": { "GUI": 1 }, - "37": { "InvWindow": 2 }, - "38": { "Label": 1 }, - "39": { "Lipsync": 1 }, - "40": { "ListBox": 1 }, - "41": { "Multimedia": 1 }, - "42": { "MusicAndSound": 3 }, - "43": { "Object": 3 }, - "44": { "OOProgramming": 1 }, - "45": { "Overlay": 5 }, - "46": { "Pointers": 2 }, - "47": { "RepExec": 1 }, - "48": { "ScriptingTutorialPart1": 2 }, - "49": { "ScriptingTutorialPart2": 6 }, - "50": { "Set": 1 }, - "51": { "Settingupthegame": 8 }, - "52": { "Speech": 2 }, - "53": { "String": 2 }, - "54": { "SystemRequirements": 1 }, - "55": { "TemplateBASS": 1 }, - "56": { "Templates": 1 }, - "57": { "TemplateSierraStyle": 1 }, - "58": { "TextParser": 2 }, - "59": { "Translations": 1 }, - "60": { "Tumbleweed": 1 }, - "61": { "Tumbleweed_translation": 1 }, - "62": { "Tutorial": 1 }, - "63": { "UpgradeTo30": 1 }, - "64": { "UpgradeTo32": 1 }, - "65": { "UpgradeTo341": 1 }, - "66": { "UpgradeTo35": 1 }, - "67": { "UpgradeTo36": 4 }, - "68": { "UpgradingTo27": 2 }, - "69": { "Viewport": 1 }, - "70": { "VoiceSpeech": 1 } - }, - "however": { - "0": { "acintro8": 1 }, - "1": { "acintro9": 2 }, - "2": { "Character": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "File": 2 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 2 }, - "9": { "ScriptingTutorialPart2": 2 }, - "10": { "Settingupthegame": 2 }, - "11": { "UpgradeTo30": 2 }, - "12": { "UpgradeTo36": 2 } - }, - "hs": { - "0": { "Pointers": 3 } - }, - "hsine": { - "0": { "Maths": 2 } - }, - "htan": { - "0": { "Maths": 2 } - }, - "http": { - "0": { "Credits": 1 }, - "1": { "DistGame": 1 }, - "2": { "MIDI-playback": 1 } - }, - "https": { - "0": { "ContactingTheDevelopers": 2 }, - "1": { "Copyright": 1 }, - "2": { "Credits": 8 }, - "3": { "DistGame": 1 }, - "4": { "Lipsync": 2 }, - "5": { "MusicAndSound": 1 } - }, - "huge": { - "0": { "ScriptAPIOverview": 1 } - }, - "human-readable": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "hundred": { - "0": { "SystemLimits": 1 } - }, - "hung": { - "0": { "ScriptKeywords": 1 } - }, - "hunger": { - "0": { "RepExec": 2 } - }, - "hungerTimer": { - "0": { "RepExec": 2 } - }, - "hungry": { - "0": { "RepExec": 1 }, - "1": { "Tumbleweed_unhandled": 1 } - }, - "hurry": { - "0": { "FAQ": 1 } - }, - "hyperbolic": { - "0": { "Maths": 6 } - }, - "i--": { - "0": { "Globalfunctions_General": 1 } - }, - "iBall": { - "0": { "ScriptKeywords": 2 } - }, - "iBlueCup": { - "0": { "acintro4": 1 } - }, - "iCash": { - "0": { "Character": 2 } - }, - "iChainsaw": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "iCup": { - "0": { "Tumbleweed": 4 } - }, - "iDoorKey": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "iFirstItem": { - "0": { "ScriptingTutorialPart2": 2 } - }, - "iInvItem": { - "0": { "EditorInventoryItems": 2 }, - "1": { "EventTypes": 5 } - }, - "iKey": { - "0": { "acintro4": 4 }, - "1": { "Character": 7 }, - "2": { "DialogScript": 2 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "InventoryItem": 4 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptKeywords": 2 }, - "7": { "Tumbleweed": 1 } - }, - "iKeyring": { - "0": { "InventoryItem": 1 } - }, - "iOS": { - "0": { "GraphicsDriver": 1 }, - "1": { "System": 1 } - }, - "iPinkPoster": { - "0": { "UpgradingTo27": 1 } - }, - "iPoster": { - "0": { "Character": 2 }, - "1": { "Dialog": 1 }, - "2": { "ScriptingTutorialPart1": 2 } - }, - "iSecondItem": { - "0": { "ScriptingTutorialPart2": 2 } - }, - "iShovel": { - "0": { "InventoryItem": 1 } - }, - "iStone": { - "0": { "InventoryItem": 1 } - }, - "iWrench": { - "0": { "Tumbleweed_movement": 1 } - }, - "ic": { - "0": { "BuildAndroid": 6 } - }, - "icculus": { - "0": { "Credits": 1 } - }, - "ico": { - "0": { "DistGame": 1 }, - "1": { "Templates": 2 } - }, - "icon": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "BuildAndroid": 5 }, - "3": { "DistGame": 6 }, - "4": { "EditorCharacter": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EditorRoom": 3 }, - "7": { "EventTypes": 2 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "GUI": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "Settingupthegame": 3 }, - "12": { "Templates": 4 } - }, - "icon-bar": { - "0": { "EditorGUI": 1 } - }, - "icons": { - "0": { "BuildAndroid": 8 }, - "1": { "Credits": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Templates": 1 } - }, - "id": { - "0": { "EngineConfigFile": 6 }, - "1": { "GlobalArrays": 3 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Pointers": 1 }, - "4": { "Tumbleweed_door": 13 }, - "5": { "Tumbleweed_extensions": 2 } - }, - "idea": { - "0": { "acintro3": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "DateTime": 1 }, - "3": { "DistGame": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "OOProgramming": 2 }, - "9": { "Pointers": 2 }, - "10": { "ScriptAPIOverview": 1 }, - "11": { "ScriptingTutorialPart1": 5 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "Translations": 1 }, - "14": { "UnicodeSupport": 1 }, - "15": { "UpgradeTo35": 1 }, - "16": { "UpgradingTo27": 1 } - }, - "ideal": { - "0": { "Overlay": 1 }, - "1": { "RepExec": 1 } - }, - "ideally": { - "0": { "Globalfunctions_General": 1 } - }, - "ideas": { - "0": { "Credits": 1 } - }, - "identical": { - "0": { "Character": 3 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "FAQ": 1 }, - "3": { "Game": 1 }, - "4": { "Mouse": 1 }, - "5": { "Overlay": 4 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "Set": 1 }, - "8": { "TextParser": 2 }, - "9": { "TheScriptHeader": 1 }, - "10": { "UpgradingTo27": 2 } - }, - "identically": { - "0": { "AudioClip": 2 }, - "1": { "Settingupthegame": 1 } - }, - "identified": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "identifier": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "Object": 1 } - }, - "identify": { - "0": { "acintro7": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "identifying": { - "0": { "acintro5": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "idgames": { - "0": { "MIDI-playback": 1 } - }, - "idle": { - "0": { "BlockingScripts": 2 }, - "1": { "Character": 15 }, - "2": { "EditorView": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Settingupthegame": 3 } - }, - "idleview": { - "0": { "Character": 1 } - }, - "if-clause": { - "0": { "Tumbleweed_movement": 1 } - }, - "ifdef": { - "0": { "Constants": 4 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "Preprocessor": 6 } - }, - "ifndef": { - "0": { "Constants": 3 }, - "1": { "Preprocessor": 4 } - }, - "ifnver": { - "0": { "Preprocessor": 4 }, - "1": { "ScriptKeywords": 1 } - }, - "ifver": { - "0": { "Constants": 1 }, - "1": { "Preprocessor": 7 }, - "2": { "ScriptKeywords": 2 } - }, - "ignore": { - "0": { "Character": 6 }, - "1": { "EditorGUI": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Object": 1 }, - "6": { "ScriptingTutorialPart1": 2 }, - "7": { "Settingupthegame": 1 }, - "8": { "TextParser": 4 }, - "9": { "UpgradeTo361": 1 } - }, - "ignored": { - "0": { "Character": 1 }, - "1": { "DialogOptionsRenderingInfo": 3 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 4 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "GUI": 4 }, - "9": { "OOProgramming": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "Room": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "Speech": 2 }, - "14": { "Translations": 1 }, - "15": { "Viewport": 2 }, - "16": { "VoiceSpeech": 1 } - }, - "ignores": { - "0": { "Character": 1 }, - "1": { "File": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "ignoring": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "illusion": { - "0": { "acintro7": 1 } - }, - "image": { - "0": { "acintro2": 7 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 13 }, - "3": { "acintro5": 2 }, - "4": { "acintro6": 18 }, - "5": { "acintro7": 4 }, - "6": { "acintro9": 2 }, - "7": { "Button": 15 }, - "8": { "Camera": 4 }, - "9": { "DistGame": 2 }, - "10": { "DrawingSurface": 12 }, - "11": { "DynamicSprite": 38 }, - "12": { "EditorGUI": 4 }, - "13": { "EditorInventoryItems": 12 }, - "14": { "EditorPreferences": 1 }, - "15": { "EditorRoom": 4 }, - "16": { "EditorSprite": 5 }, - "17": { "EditorView": 2 }, - "18": { "EnginePluginRun-timeAPI": 4 }, - "19": { "GeneralSettings": 4 }, - "20": { "GUI": 2 }, - "21": { "Lipsync": 1 }, - "22": { "Mouse": 1 }, - "23": { "Multimedia": 2 }, - "24": { "Object": 7 }, - "25": { "Overlay": 15 }, - "26": { "Room": 3 }, - "27": { "Screen": 2 }, - "28": { "Settingupthegame": 6 }, - "29": { "Slider": 4 }, - "30": { "UpgradeTo34": 1 }, - "31": { "UpgradeTo35": 3 }, - "32": { "Viewport": 3 } - }, - "image's": { - "0": { "acintro6": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "Overlay": 3 } - }, - "imagemagick": { - "0": { "Credits": 1 } - }, - "images": { - "0": { "acintro6": 2 }, - "1": { "acintro7": 3 }, - "2": { "Button": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorRoom": 2 }, - "5": { "EditorSprite": 8 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "Gamevariables": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Overlay": 1 }, - "11": { "Setup": 1 }, - "12": { "System": 1 } - }, - "imagine": { - "0": { "GameSavesCompatibility": 1 } - }, - "immediate": { - "0": { "FAQ": 1 }, - "1": { "GameEventsOrder": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "immediately": { - "0": { "Character": 16 }, - "1": { "Dialog": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_General": 7 }, - "8": { "Object": 1 }, - "9": { "ScriptKeywords": 2 }, - "10": { "Settingupthegame": 1 }, - "11": { "TemplateVerbcoin": 1 } - }, - "immobile": { - "0": { "EditorRoom": 1 } - }, - "implement": { - "0": { "acintro8": 1 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "Dialog": 1 }, - "3": { "EditorPlugins": 3 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 9 }, - "6": { "FAQ": 1 }, - "7": { "Parser": 1 }, - "8": { "RepExec": 1 }, - "9": { "TemplateSierraStyle": 1 }, - "10": { "UpgradeTo34": 1 } - }, - "implementation": { - "0": { "Camera": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 6 }, - "4": { "Game": 1 }, - "5": { "OOProgramming": 1 }, - "6": { "Screen": 1 } - }, - "implemented": { - "0": { "EnginePluginRun-timeAPI": 5 }, - "1": { "EnginePlugins": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Multimedia": 1 }, - "4": { "TemplateBASS": 1 }, - "5": { "TemplateVerbcoin": 1 }, - "6": { "UpgradeTo36": 2 } - }, - "implementing": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "implements": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "TemplateBASS": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "implications": { - "0": { "acintro9": 1 } - }, - "implicit": { - "0": { "Maths": 2 } - }, - "implicitly": { - "0": { "ListBox": 1 } - }, - "import": { - "0": { "acintro2": 3 }, - "1": { "acintro4": 3 }, - "2": { "acintro6": 13 }, - "3": { "acintro9": 6 }, - "4": { "AdvancedRoomFeatures": 5 }, - "5": { "AudioClip": 1 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorCursor": 1 }, - "8": { "EditorFont": 2 }, - "9": { "EditorPlugins": 1 }, - "10": { "EditorPreferences": 3 }, - "11": { "EditorRoom": 1 }, - "12": { "EditorSprite": 16 }, - "13": { "EnginePluginDesign-timeAPI": 2 }, - "14": { "ExtenderFunctions": 1 }, - "15": { "FAQ": 1 }, - "16": { "GlobalVariables": 1 }, - "17": { "ImportingFunctionsAndVariables": 22 }, - "18": { "Mouse": 1 }, - "19": { "MultipleScripts": 3 }, - "20": { "MusicAndSound": 4 }, - "21": { "OOProgramming": 17 }, - "22": { "Preprocessor": 1 }, - "23": { "ScriptingTutorialPart1": 1 }, - "24": { "ScriptKeywords": 22 }, - "25": { "ScriptModules": 1 }, - "26": { "Settingupthegame": 11 }, - "27": { "Tumbleweed": 1 }, - "28": { "Tumbleweed_translation": 1 }, - "29": { "UpgradeTo30": 1 }, - "30": { "UpgradeTo31": 1 }, - "31": { "UpgradeTo32": 4 }, - "32": { "UpgradeTo35": 2 }, - "33": { "UpgradeTo36": 1 } - }, - "important": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 2 }, - "4": { "AudioInScript": 2 }, - "5": { "ColoursEditor": 1 }, - "6": { "EditorView": 1 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "EventTypes": 1 }, - "10": { "FAQ": 1 }, - "11": { "GameEventsOrder": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "ImportingFunctionsAndVariables": 1 }, - "17": { "MultipleScripts": 1 }, - "18": { "MusicAndSound": 2 }, - "19": { "RepExec": 1 }, - "20": { "Room": 1 }, - "21": { "ScriptingTutorialPart1": 3 }, - "22": { "ScriptModules": 1 }, - "23": { "Settingupthegame": 1 }, - "24": { "Setup": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradeTo36": 1 } - }, - "imported": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro6": 7 }, - "3": { "acintro7": 1 }, - "4": { "BackingUpYourGame": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DistGame": 2 }, - "7": { "EditorFont": 2 }, - "8": { "EditorSprite": 11 }, - "9": { "GeneralSettings": 2 }, - "10": { "ImportingFunctionsAndVariables": 1 }, - "11": { "Mouse": 1 }, - "12": { "MultipleScripts": 1 }, - "13": { "MusicAndSound": 1 }, - "14": { "Object": 1 }, - "15": { "Settingupthegame": 6 }, - "16": { "SystemLimits": 1 }, - "17": { "Translations": 1 }, - "18": { "UpgradeTo33": 1 }, - "19": { "UpgradeTo35": 1 }, - "20": { "UpgradeTo36": 2 } - }, - "importing": { - "0": { "acintro6": 4 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "GeneralSettings": 3 }, - "4": { "ImportingFunctionsAndVariables": 2 }, - "5": { "MusicAndSound": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "ScriptingTutorialPart2": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "UpgradeTo31": 1 }, - "10": { "UpgradeTo33": 1 }, - "11": { "UpgradeTo35": 2 } - }, - "imports": { - "0": { "DialogScript": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "Settingupthegame": 1 }, - "4": { "TheScriptHeader": 2 }, - "5": { "UpgradeTo35": 1 } - }, - "impose": { - "0": { "GUI": 1 } - }, - "imposes": { - "0": { "acintro4": 1 } - }, - "impossible": { - "0": { "DefaultSetup": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Pointers": 1 }, - "3": { "Setup": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "improve": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorPreferences": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Overlay": 1 }, - "5": { "UpgradeTo341": 1 } - }, - "improved": { - "0": { "acintro9": 1 } - }, - "improvement": { - "0": { "UpgradeTo30": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "in-case": { - "0": { "EditorRoom": 1 } - }, - "in-depth": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "in-game": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 1 }, - "4": { "EditorView": 1 }, - "5": { "EngineConfigFile": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "Game": 1 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "Hotspot": 1 }, - "11": { "Mouse": 1 }, - "12": { "Multimedia": 1 }, - "13": { "MusicAndSound": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Speech": 1 }, - "16": { "Translations": 1 }, - "17": { "UnicodeSupport": 1 }, - "18": { "UpgradeTo36": 1 } - }, - "in-memory": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "in-order": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "in-room": { - "0": { "Overlay": 1 } - }, - "inaccurate": { - "0": { "Lipsync": 1 } - }, - "inactivity": { - "0": { "Character": 1 } - }, - "inappropriate": { - "0": { "GUIControl": 1 } - }, - "include": { - "0": { "acintro2": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Character": 3 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DateTime": 1 }, - "5": { "DialogScript": 1 }, - "6": { "DistGame": 2 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "GameEventsOrder": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Preprocessor": 2 }, - "15": { "ScriptKeywords": 1 }, - "16": { "Settingupthegame": 2 }, - "17": { "Templates": 3 }, - "18": { "TextParser": 1 }, - "19": { "TheScriptHeader": 1 }, - "20": { "UnicodeSupport": 1 }, - "21": { "UpgradeTo30": 1 }, - "22": { "UpgradeTo361": 2 } - }, - "included": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "EditorView": 1 }, - "4": { "EnginePlugins": 1 }, - "5": { "Multimedia": 2 }, - "6": { "Plugins": 1 }, - "7": { "Preprocessor": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "System": 2 }, - "10": { "TemplateSierraStyle": 1 }, - "11": { "TheScriptHeader": 1 }, - "12": { "VoiceSpeech": 1 } - }, - "includes": { - "0": { "DistGame": 1 }, - "1": { "EditorLogPanel": 2 }, - "2": { "EditorRoom": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "Game": 1 }, - "5": { "Parser": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "Translations": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "UpgradeTo36": 2 } - }, - "including": { - "0": { "Character": 1 }, - "1": { "Copyright": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DialogScript": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EditorSprite": 2 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "ExtenderFunctions": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "MultipleScripts": 1 }, - "11": { "ScriptKeywords": 3 }, - "12": { "Settingupthegame": 1 }, - "13": { "SystemRequirements": 1 }, - "14": { "TextParser": 1 }, - "15": { "Tumbleweed": 1 }, - "16": { "Tumbleweed_movement": 1 }, - "17": { "UpgradeTo35": 1 }, - "18": { "UpgradeTo361": 1 }, - "19": { "UpgradingTo27": 1 } - }, - "inclusive": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "incomplete": { - "0": { "Templates": 1 } - }, - "inconsistencies": { - "0": { "acintro1": 1 } - }, - "inconsistent": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "inconvenience": { - "0": { "UpgradingTo271": 1 } - }, - "inconveniences": { - "0": { "UpgradeTo35": 1 } - }, - "inconvenient": { - "0": { "EditorSprite": 1 }, - "1": { "Pointers": 1 } - }, - "incorporated": { - "0": { "Copyright": 1 } - }, - "incorporates": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "incorrect": { - "0": { "File": 1 } - }, - "incorrectly": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "UnicodeSupport": 1 } - }, - "increase": { - "0": { "acintro6": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Character": 2 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorPreferences": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "Multimedia": 1 }, - "7": { "ScriptingTutorialPart1": 2 }, - "8": { "ScriptingTutorialPart2": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "SystemLimits": 1 } - }, - "increased": { - "0": { "DefaultSetup": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Setup": 1 }, - "3": { "UpgradeTo33": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "increases": { - "0": { "Dictionary": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "Set": 1 } - }, - "increasing": { - "0": { "Character": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Object": 1 } - }, - "incredibly": { - "0": { "acintro1": 1 } - }, - "increment": { - "0": { "RepExec": 1 } - }, - "indeed": { - "0": { "DefaultSetup": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "Setup": 1 } - }, - "indent": { - "0": { "DialogScript": 1 } - }, - "indented": { - "0": { "DialogScript": 1 } - }, - "indenting": { - "0": { "DialogScript": 1 }, - "1": { "EditorPreferences": 1 } - }, - "independent": { - "0": { "ScriptModules": 1 } - }, - "index": { - "0": { "Camera": 2 }, - "1": { "Character": 2 }, - "2": { "DialogScript": 1 }, - "3": { "Dictionary": 2 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Game": 7 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "GlobalArrays": 1 }, - "9": { "Globalfunctions_General": 4 }, - "10": { "Globalfunctions_Room": 2 }, - "11": { "GUI": 4 }, - "12": { "Hotspot": 1 }, - "13": { "InvWindow": 4 }, - "14": { "ListBox": 16 }, - "15": { "OOProgramming": 11 }, - "16": { "Pointers": 7 }, - "17": { "Region": 1 }, - "18": { "Screen": 3 }, - "19": { "ScriptKeywords": 3 }, - "20": { "Set": 1 }, - "21": { "Settingupthegame": 1 }, - "22": { "String": 7 }, - "23": { "Tumbleweed_extensions": 1 }, - "24": { "UnicodeSupport": 1 }, - "25": { "UpgradingTo27": 2 }, - "26": { "Viewport": 1 } - }, - "indexed": { - "0": { "EditorRoom": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "indexes": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 1 }, - "2": { "DynamicArrays": 2 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_Palette": 2 }, - "5": { "ListBox": 3 }, - "6": { "Screen": 1 }, - "7": { "ScriptKeywords": 1 } - }, - "indicate": { - "0": { "EditorInventoryItems": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Globalfunctions_Event": 2 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "MIDI-playback": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "StandardTypes": 1 }, - "9": { "TroubleshootingWindowsZoneID": 3 } - }, - "indicated": { - "0": { "EditorGUI": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "indicates": { - "0": { "Button": 2 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "Pointers": 1 }, - "4": { "TextParser": 1 }, - "5": { "TroubleshootingWindowsZoneID": 1 } - }, - "indicating": { - "0": { "acintro3": 1 } - }, - "individual": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 6 }, - "2": { "DefaultSetup": 1 }, - "3": { "DistGame": 1 }, - "4": { "DynamicArrays": 2 }, - "5": { "EventTypes": 1 }, - "6": { "GeneralSettings": 3 }, - "7": { "Globalfunctions_Event": 2 }, - "8": { "Globalfunctions_General": 2 }, - "9": { "GUIControl": 1 }, - "10": { "InvWindow": 2 }, - "11": { "Lipsync": 2 }, - "12": { "MusicAndSound": 2 }, - "13": { "Object": 6 }, - "14": { "Region": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "Settingupthegame": 1 }, - "17": { "Speech": 2 }, - "18": { "System": 1 }, - "19": { "TroubleshootingWindowsZoneID": 1 }, - "20": { "UnicodeSupport": 1 }, - "21": { "UpgradeTo35": 2 }, - "22": { "UpgradeTo36": 1 } - }, - "individually": { - "0": { "DistGame": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "inexperienced": { - "0": { "UpgradeTo35": 1 } - }, - "infinite": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Globalfunctions_Wait": 2 }, - "2": { "Maths": 1 } - }, - "info": { - "0": { "CustomDialogOptions": 77 }, - "1": { "DialogOptionsRenderingInfo": 44 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GUIControl": 1 }, - "5": { "RuntimeEngine": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "UpgradeTo32": 1 }, - "8": { "UpgradeTo36": 2 } - }, - "information": { - "0": { "acintro8": 1 }, - "1": { "AnonymousUsageInfo": 6 }, - "2": { "AudioChannel": 1 }, - "3": { "AudioClip": 2 }, - "4": { "BuildAndroid": 1 }, - "5": { "Character": 5 }, - "6": { "Constants": 2 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "Copyright": 1 }, - "9": { "Debuggingfeatures": 4 }, - "10": { "DefaultSetup": 1 }, - "11": { "DrawingSurface": 2 }, - "12": { "EditorDialog": 1 }, - "13": { "EditorGUI": 2 }, - "14": { "EditorPlugins": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EnginePluginRun-timeAPI": 1 }, - "17": { "EnginePlugins": 1 }, - "18": { "File": 2 }, - "19": { "Game": 1 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "GeneralSettings": 4 }, - "22": { "Globalfunctions_Event": 3 }, - "23": { "Globalfunctions_Message": 6 }, - "24": { "GlobalVariables": 2 }, - "25": { "GUI": 1 }, - "26": { "GUIControl": 1 }, - "27": { "Multimedia": 1 }, - "28": { "MusicAndSound": 1 }, - "29": { "Overlay": 2 }, - "30": { "Preprocessor": 1 }, - "31": { "RepExec": 1 }, - "32": { "RuntimeEngine": 3 }, - "33": { "ScriptAPIOverview": 5 }, - "34": { "ScriptingTutorialPart1": 2 }, - "35": { "ScriptingTutorialPart2": 1 }, - "36": { "ScriptKeywords": 1 }, - "37": { "Settingupthegame": 6 }, - "38": { "String": 1 }, - "39": { "TextParser": 1 }, - "40": { "TheScriptHeader": 1 }, - "41": { "UnicodeSupport": 1 }, - "42": { "UpgradeTo32": 1 }, - "43": { "UpgradeTo34": 1 }, - "44": { "UpgradeTo341": 1 }, - "45": { "UpgradeTo35": 2 }, - "46": { "UpgradeTo36": 1 }, - "47": { "UpgradeTo361": 1 }, - "48": { "UpgradingTo27": 1 } - }, - "informational": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "informed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "informing": { - "0": { "acintro4": 1 } - }, - "infringe": { - "0": { "Copyright": 1 } - }, - "inherit": { - "0": { "MusicAndSound": 1 } - }, - "inherits": { - "0": { "Button": 1 }, - "1": { "InvWindow": 1 }, - "2": { "Label": 1 }, - "3": { "ListBox": 1 }, - "4": { "Slider": 1 }, - "5": { "TextBox": 1 } - }, - "initial": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorCharacter": 1 }, - "4": { "Gamevariables": 1 }, - "5": { "Globalfunctions_Event": 2 }, - "6": { "Globalfunctions_Room": 1 }, - "7": { "GlobalVariables": 1 }, - "8": { "GraphicsDriver": 1 }, - "9": { "String": 1 }, - "10": { "Templates": 1 } - }, - "initialization": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "ScriptKeywords": 6 } - }, - "initialize": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GlobalVariables": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "initialized": { - "0": { "Camera": 1 }, - "1": { "EditorFont": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Pointers": 2 }, - "4": { "Tumbleweed_translation": 1 } - }, - "initializing": { - "0": { "ScriptKeywords": 1 } - }, - "initially": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 2 }, - "2": { "AudioClip": 1 }, - "3": { "Character": 1 }, - "4": { "Dialog": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "Game": 2 }, - "9": { "Gamevariables": 1 }, - "10": { "Globalfunctions_Palette": 1 }, - "11": { "GlobalVariables": 1 }, - "12": { "GUI": 1 }, - "13": { "InventoryItem": 1 }, - "14": { "Mouse": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "Slider": 1 }, - "17": { "Tumbleweed_movement": 1 }, - "18": { "Tumbleweed_unhandled": 1 }, - "19": { "UpgradeTo32": 1 }, - "20": { "Viewport": 1 } - }, - "initiate": { - "0": { "acintro8": 2 } - }, - "inner": { - "0": { "ScriptKeywords": 1 } - }, - "input": { - "0": { "Copyright": 1 }, - "1": { "CustomDialogOptions": 5 }, - "2": { "DefaultSetup": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EngineConfigFile": 5 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 1 }, - "8": { "File": 24 }, - "9": { "Game": 4 }, - "10": { "GameEventsOrder": 1 }, - "11": { "GeneralSettings": 2 }, - "12": { "Globalfunctions_Event": 3 }, - "13": { "Globalfunctions_General": 8 }, - "14": { "Globalfunctions_Wait": 4 }, - "15": { "GUIControl": 7 }, - "16": { "Keycodes": 1 }, - "17": { "ListBox": 3 }, - "18": { "Parser": 5 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "Settingupthegame": 2 }, - "21": { "StandardEnums": 1 }, - "22": { "String": 2 }, - "23": { "System": 1 }, - "24": { "TextBox": 1 }, - "25": { "TextParser": 8 }, - "26": { "Translations": 2 }, - "27": { "UpgradeTo36": 7 } - }, - "inputs": { - "0": { "Credits": 1 } - }, - "insensitive": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 } - }, - "insert": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 5 }, - "3": { "DrawingSurface": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "EventTypes": 1 }, - "6": { "Globalfunctions_Message": 4 }, - "7": { "ListBox": 1 }, - "8": { "Overlay": 2 }, - "9": { "String": 1 }, - "10": { "StringFormats": 1 }, - "11": { "UpgradeTo361": 1 } - }, - "inserted": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "AudioInScript": 3 }, - "3": { "Character": 1 }, - "4": { "DialogScript": 1 }, - "5": { "ListBox": 2 } - }, - "inserting": { - "0": { "String": 1 } - }, - "inside": { - "0": { "BuildAndroid": 1 }, - "1": { "Camera": 4 }, - "2": { "DefaultSetup": 3 }, - "3": { "DialogOptionsRenderingInfo": 3 }, - "4": { "DialogScript": 1 }, - "5": { "DistGame": 1 }, - "6": { "DynamicArrays": 1 }, - "7": { "DynamicSprite": 2 }, - "8": { "EditorGUI": 2 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorSprite": 2 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "FAQ": 1 }, - "14": { "File": 1 }, - "15": { "Game": 2 }, - "16": { "GameSavesCompatibility": 3 }, - "17": { "Globalfunctions_General": 2 }, - "18": { "ImportingFunctionsAndVariables": 5 }, - "19": { "ListBox": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "Overlay": 1 }, - "22": { "Parser": 1 }, - "23": { "Pointers": 2 }, - "24": { "ScriptingTutorialPart1": 5 }, - "25": { "ScriptingTutorialPart2": 5 }, - "26": { "ScriptKeywords": 7 }, - "27": { "Setup": 2 }, - "28": { "String": 1 }, - "29": { "TroubleshootingWindowsZoneID": 1 }, - "30": { "Tumbleweed": 2 }, - "31": { "Tumbleweed_door": 1 }, - "32": { "Tumbleweed_helper": 1 }, - "33": { "Tumbleweed_movement": 1 }, - "34": { "Tumbleweed_translation": 2 }, - "35": { "UpgradeTo35": 3 }, - "36": { "UpgradeTo36": 1 }, - "37": { "Viewport": 3 }, - "38": { "VoiceSpeech": 2 } - }, - "inspect": { - "0": { "EditorCharacter": 1 } - }, - "inspecting": { - "0": { "DynamicSprite": 1 } - }, - "install": { - "0": { "BuildAndroid": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "UpgradeTo335": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "installation": { - "0": { "BuildAndroid": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "File": 1 }, - "3": { "Game": 1 }, - "4": { "ListBox": 1 }, - "5": { "Templates": 1 }, - "6": { "UpgradeTo335": 5 }, - "7": { "UpgradeTo34": 1 } - }, - "installed": { - "0": { "DistGame": 2 }, - "1": { "EditorPlugins": 1 }, - "2": { "Game": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "Introduction": 1 }, - "5": { "MIDI-playback": 1 }, - "6": { "Multimedia": 4 }, - "7": { "SourceControl": 1 }, - "8": { "SystemRequirements": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 }, - "10": { "UpgradeTo36": 2 }, - "11": { "UpgradeTo361": 1 } - }, - "installer": { - "0": { "Introduction": 1 }, - "1": { "SystemRequirements": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "installing": { - "0": { "BuildAndroid": 3 }, - "1": { "DistGame": 1 } - }, - "instance": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 2 }, - "2": { "AudioInScript": 5 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "DynamicSprite": 4 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginDesign-timeAPI": 2 }, - "9": { "Game": 4 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Room": 1 }, - "12": { "GlobalVariables": 1 }, - "13": { "ListBox": 1 }, - "14": { "Multimedia": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "OOProgramming": 1 }, - "17": { "Pointers": 3 }, - "18": { "Screen": 1 }, - "19": { "ScriptingTutorialPart1": 6 }, - "20": { "System": 2 }, - "21": { "TextParser": 1 } - }, - "instance-based": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "instances": { - "0": { "AudioClip": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "String": 1 }, - "4": { "Translations": 1 }, - "5": { "UpgradeTo32": 1 } - }, - "instant": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_Screen": 1 } - }, - "instantly": { - "0": { "acintro7": 1 }, - "1": { "Character": 2 }, - "2": { "EditorRoom": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_General": 1 } - }, - "instead": { - "0": { "acintro3": 1 }, - "1": { "acintro6": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "BuildAndroid": 2 }, - "4": { "Character": 9 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "DefaultSetup": 2 }, - "7": { "Dialog": 2 }, - "8": { "DialogScript": 3 }, - "9": { "Dictionary": 1 }, - "10": { "DistGame": 4 }, - "11": { "DynamicSprite": 2 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorDialog": 1 }, - "14": { "EditorGUI": 2 }, - "15": { "EditorPreferences": 1 }, - "16": { "EditorView": 2 }, - "17": { "EngineConfigFile": 1 }, - "18": { "EnginePluginRun-timeAPI": 7 }, - "19": { "EventTypes": 1 }, - "20": { "ExtenderFunctions": 2 }, - "21": { "FAQ": 1 }, - "22": { "File": 4 }, - "23": { "Game": 1 }, - "24": { "GameSavesCompatibility": 4 }, - "25": { "Gamevariables": 3 }, - "26": { "GeneralSettings": 3 }, - "27": { "Globalfunctions_General": 13 }, - "28": { "Globalfunctions_Message": 1 }, - "29": { "Globalfunctions_Room": 5 }, - "30": { "Globalfunctions_Screen": 1 }, - "31": { "GlobalVariables": 2 }, - "32": { "GUI": 3 }, - "33": { "GUIControl": 1 }, - "34": { "ImportingFunctionsAndVariables": 1 }, - "35": { "Keycodes": 1 }, - "36": { "ListBox": 4 }, - "37": { "MIDI-playback": 1 }, - "38": { "Mouse": 2 }, - "39": { "Multimedia": 2 }, - "40": { "Object": 4 }, - "41": { "ObsoleteScriptAPI": 4 }, - "42": { "OOProgramming": 3 }, - "43": { "Parser": 1 }, - "44": { "Pointers": 2 }, - "45": { "Preprocessor": 2 }, - "46": { "RepExec": 1 }, - "47": { "Screen": 1 }, - "48": { "ScriptAPIOverview": 1 }, - "49": { "ScriptingTutorialPart1": 2 }, - "50": { "ScriptingTutorialPart2": 1 }, - "51": { "ScriptKeywords": 4 }, - "52": { "Setup": 1 }, - "53": { "Speech": 1 }, - "54": { "String": 4 }, - "55": { "System": 4 }, - "56": { "SystemLimits": 1 }, - "57": { "TextParser": 1 }, - "58": { "TheScriptHeader": 1 }, - "59": { "Translations": 1 }, - "60": { "TroubleshootingWindowsZoneID": 1 }, - "61": { "Tumbleweed": 3 }, - "62": { "UnicodeSupport": 1 }, - "63": { "UpgradeTo30": 2 }, - "64": { "UpgradeTo31": 1 }, - "65": { "UpgradeTo32": 1 }, - "66": { "UpgradeTo341": 3 }, - "67": { "UpgradeTo35": 2 }, - "68": { "UpgradingTo27": 1 }, - "69": { "UpgradingTo271": 2 } - }, - "instruct": { - "0": { "DefaultSetup": 1 } - }, - "instructions": { - "0": { "EngineConfigFile": 1 }, - "1": { "Plugins": 1 }, - "2": { "Tumbleweed": 1 } - }, - "instruments": { - "0": { "MIDI-playback": 2 } - }, - "int": { - "0": { "AudioChannel": 11 }, - "1": { "AudioClip": 4 }, - "2": { "Button": 13 }, - "3": { "Camera": 10 }, - "4": { "Character": 90 }, - "5": { "Constants": 1 }, - "6": { "CustomDialogOptions": 17 }, - "7": { "DateTime": 8 }, - "8": { "Dialog": 10 }, - "9": { "DialogOptionsRenderingInfo": 9 }, - "10": { "Dictionary": 3 }, - "11": { "DrawingSurface": 55 }, - "12": { "DynamicArrays": 20 }, - "13": { "DynamicSprite": 42 }, - "14": { "EnginePluginDesign-timeAPI": 12 }, - "15": { "EnginePluginRun-timeAPI": 187 }, - "16": { "ExtenderFunctions": 5 }, - "17": { "File": 14 }, - "18": { "Game": 50 }, - "19": { "GameSavesCompatibility": 34 }, - "20": { "Gamevariables": 1 }, - "21": { "GlobalArrays": 2 }, - "22": { "Globalfunctions_Event": 11 }, - "23": { "Globalfunctions_General": 53 }, - "24": { "Globalfunctions_Message": 11 }, - "25": { "Globalfunctions_Palette": 6 }, - "26": { "Globalfunctions_Room": 26 }, - "27": { "Globalfunctions_Screen": 13 }, - "28": { "Globalfunctions_Wait": 17 }, - "29": { "GlobalVariables": 2 }, - "30": { "GUI": 26 }, - "31": { "GUIControl": 15 }, - "32": { "Hotspot": 8 }, - "33": { "ImportingFunctionsAndVariables": 15 }, - "34": { "InventoryItem": 7 }, - "35": { "InvWindow": 6 }, - "36": { "Keycodes": 3 }, - "37": { "Label": 1 }, - "38": { "ListBox": 17 }, - "39": { "Maths": 2 }, - "40": { "Mouse": 16 }, - "41": { "Multimedia": 6 }, - "42": { "MultipleScripts": 5 }, - "43": { "Object": 44 }, - "44": { "OOProgramming": 31 }, - "45": { "Overlay": 25 }, - "46": { "Parser": 1 }, - "47": { "Pointers": 2 }, - "48": { "Region": 17 }, - "49": { "Room": 15 }, - "50": { "Screen": 9 }, - "51": { "ScriptingTutorialPart1": 9 }, - "52": { "ScriptingTutorialPart2": 10 }, - "53": { "ScriptKeywords": 37 }, - "54": { "Set": 2 }, - "55": { "Slider": 6 }, - "56": { "Speech": 7 }, - "57": { "StandardTypes": 1 }, - "58": { "String": 15 }, - "59": { "StringFormats": 3 }, - "60": { "System": 8 }, - "61": { "TemplateBASS": 1 }, - "62": { "TemplateVerbcoin": 5 }, - "63": { "TextBox": 1 }, - "64": { "TextWindowGUI": 2 }, - "65": { "Tumbleweed_actions": 4 }, - "66": { "Tumbleweed_door": 24 }, - "67": { "Tumbleweed_extensions": 2 }, - "68": { "Tumbleweed_helper": 12 }, - "69": { "Tumbleweed_movement": 32 }, - "70": { "Tumbleweed_player": 3 }, - "71": { "Tumbleweed_translation": 2 }, - "72": { "Tumbleweed_unhandled": 1 }, - "73": { "UnicodeSupport": 2 }, - "74": { "UpgradeTo35": 4 }, - "75": { "UpgradeTo36": 5 }, - "76": { "ViewFrame": 5 }, - "77": { "Viewport": 17 } - }, - "intact": { - "0": { "UpgradeTo36": 1 } - }, - "integer": { - "0": { "DefaultSetup": 1 }, - "1": { "DialogScript": 1 }, - "2": { "EditorFont": 1 }, - "3": { "EngineConfigFile": 13 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "File": 8 }, - "6": { "GeneralSettings": 1 }, - "7": { "GlobalArrays": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Wait": 1 }, - "11": { "GUI": 1 }, - "12": { "Keycodes": 1 }, - "13": { "Maths": 6 }, - "14": { "Overlay": 1 }, - "15": { "Pointers": 2 }, - "16": { "RuntimeEngine": 1 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptKeywords": 5 }, - "19": { "Setup": 1 }, - "20": { "StandardEnums": 3 }, - "21": { "String": 2 }, - "22": { "SystemLimits": 2 }, - "23": { "UnicodeSupport": 1 } - }, - "integers": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 1 }, - "2": { "GameSavesCompatibility": 2 }, - "3": { "Pointers": 1 }, - "4": { "SystemLimits": 2 } - }, - "integrate": { - "0": { "SourceControl": 2 } - }, - "integrated": { - "0": { "DistGame": 2 }, - "1": { "RuntimeEngine": 1 } - }, - "integration": { - "0": { "GeneralSettings": 2 }, - "1": { "OtherFeatures": 1 }, - "2": { "SourceControl": 2 }, - "3": { "UpgradeTo36": 1 }, - "4": { "UpgradeTo361": 2 } - }, - "intend": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "intended": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "InventoryItem": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "Object": 1 } - }, - "intentionally": { - "0": { "Settingupthegame": 1 } - }, - "inter-operating": { - "0": { "AudioChannel": 1 } - }, - "interact": { - "0": { "acintro3": 3 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 2 }, - "3": { "Character": 1 }, - "4": { "EventTypes": 3 }, - "5": { "Object": 1 }, - "6": { "Overlay": 2 }, - "7": { "TextParser": 1 }, - "8": { "Tumbleweed": 1 }, - "9": { "Tumbleweed_extensions": 1 } - }, - "interactable": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Settingupthegame": 1 } - }, - "interacted": { - "0": { "Game": 1 }, - "1": { "Object": 1 }, - "2": { "Overlay": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "interacting": { - "0": { "acintro3": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Object": 1 } - }, - "interaction": { - "0": { "acintro3": 1 }, - "1": { "acintro9": 1 }, - "2": { "Character": 1 }, - "3": { "EditorCursor": 1 }, - "4": { "FAQ": 1 }, - "5": { "Globalfunctions_General": 7 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "UpgradeTo30": 2 }, - "8": { "UpgradeTo361": 5 } - }, - "interactions": { - "0": { "acintro": 1 }, - "1": { "FAQ": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Room": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "UpgradeTo30": 3 } - }, - "interactive": { - "0": { "FAQ": 1 } - }, - "interactivity": { - "0": { "acintro5": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "ScriptingTutorialPart1": 1 } - }, - "interacts": { - "0": { "acintro3": 1 }, - "1": { "Settingupthegame": 1 } - }, - "intercept": { - "0": { "Globalfunctions_Event": 2 }, - "1": { "Tumbleweed_movement": 1 } - }, - "intercepted": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "interested": { - "0": { "acintro2": 1 }, - "1": { "EditorRoom": 1 } - }, - "interface": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 2 }, - "2": { "acintro9": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "DynamicSprite": 9 }, - "5": { "EditorGUI": 9 }, - "6": { "EditorLogPanel": 1 }, - "7": { "EditorPlugins": 5 }, - "8": { "EnginePluginDesign-timeAPI": 6 }, - "9": { "EnginePluginRun-timeAPI": 47 }, - "10": { "EnginePlugins": 1 }, - "11": { "GeneralSettings": 4 }, - "12": { "Globalfunctions_Event": 3 }, - "13": { "Globalfunctions_General": 11 }, - "14": { "Globalfunctions_Message": 1 }, - "15": { "GUI": 4 }, - "16": { "Mouse": 2 }, - "17": { "Multimedia": 1 }, - "18": { "RuntimeEngine": 1 }, - "19": { "SourceControl": 1 }, - "20": { "TemplateVerbcoin": 8 }, - "21": { "UpgradeTo33": 1 }, - "22": { "UpgradeTo36": 1 } - }, - "interfaces": { - "0": { "GeneralSettings": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "interfere": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Speech": 1 } - }, - "interference": { - "0": { "Globalfunctions_General": 1 } - }, - "intermediate": { - "0": { "DistGame": 1 } - }, - "intermittent": { - "0": { "Settingupthegame": 1 } - }, - "intermittently": { - "0": { "Settingupthegame": 1 } - }, - "internal": { - "0": { "Dictionary": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EnginePluginRun-timeAPI": 5 }, - "4": { "Game": 1 }, - "5": { "Overlay": 2 }, - "6": { "RuntimeEngine": 1 }, - "7": { "Set": 1 }, - "8": { "System": 1 }, - "9": { "UpgradeTo34": 1 } - }, - "internally": { - "0": { "Character": 1 }, - "1": { "Dictionary": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Game": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Object": 1 }, - "7": { "Overlay": 1 }, - "8": { "Set": 1 }, - "9": { "Tumbleweed_unhandled": 1 }, - "10": { "UpgradeTo31": 1 }, - "11": { "UpgradeTo335": 1 } - }, - "internet": { - "0": { "acintro9": 1 }, - "1": { "Settingupthegame": 2 }, - "2": { "Templates": 1 } - }, - "interoperate": { - "0": { "Character": 1 }, - "1": { "Dialog": 1 }, - "2": { "GUI": 1 }, - "3": { "GUIControl": 1 }, - "4": { "Hotspot": 1 }, - "5": { "Object": 1 }, - "6": { "Region": 1 }, - "7": { "UpgradingTo271": 2 } - }, - "interpolate": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "interpolation": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "interpret": { - "0": { "DialogScript": 1 } - }, - "interpreted": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "FAQ": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "interpreter": { - "0": { "Globalfunctions_General": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "interrupt": { - "0": { "AudioClip": 3 }, - "1": { "Game": 1 }, - "2": { "RepExec": 1 }, - "3": { "Speech": 1 } - }, - "interrupted": { - "0": { "Globalfunctions_General": 1 } - }, - "interrupts": { - "0": { "VoiceSpeech": 1 } - }, - "intersperse": { - "0": { "StringFormats": 1 } - }, - "interval": { - "0": { "Character": 2 } - }, - "intervals": { - "0": { "Character": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 } - }, - "intimidating": { - "0": { "acintro3": 1 } - }, - "intro": { - "0": { "acintro7": 1 }, - "1": { "EventTypes": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Room": 4 }, - "5": { "Settingupthegame": 1 } - }, - "introduce": { - "0": { "Pointers": 1 }, - "1": { "Tutorial": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "introduced": { - "0": { "acintro": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Preprocessor": 1 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "StandardEnums": 1 }, - "5": { "UpgradeTo335": 1 }, - "6": { "UpgradeTo34": 1 } - }, - "introduces": { - "0": { "UpgradeTo34": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "introducing": { - "0": { "UpgradeTo341": 1 } - }, - "introduction": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Pointers": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "ints": { - "0": { "DynamicArrays": 5 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GameSavesCompatibility": 1 } - }, - "intuitive": { - "0": { "UpgradingTo27": 3 }, - "1": { "UpgradingTo271": 1 } - }, - "inv": { - "0": { "Character": 1 }, - "1": { "Gamevariables": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "InventoryItem": 3 }, - "5": { "InvWindow": 4 }, - "6": { "ObsoleteScriptAPI": 3 } - }, - "invItemName": { - "0": { "InventoryItem": 3 } - }, - "invMain": { - "0": { "GUIControl": 2 }, - "1": { "InvWindow": 24 } - }, - "invWeights": { - "0": { "Constants": 1 } - }, - "invalid": { - "0": { "EnginePluginRun-timeAPI": 7 }, - "1": { "Game": 5 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Room": 3 }, - "4": { "GUI": 1 }, - "5": { "Hotspot": 2 }, - "6": { "InventoryItem": 1 }, - "7": { "InvWindow": 1 }, - "8": { "OOProgramming": 2 }, - "9": { "Region": 3 }, - "10": { "Room": 1 }, - "11": { "ScriptKeywords": 1 } - }, - "invaluable": { - "0": { "StandardEnums": 1 } - }, - "inventories": { - "0": { "GeneralSettings": 1 } - }, - "inventory": { - "0": { "acintro": 2 }, - "1": { "acintro1": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 13 }, - "4": { "acintro5": 28 }, - "5": { "acintro7": 1 }, - "6": { "acintro9": 4 }, - "7": { "BlockingScripts": 5 }, - "8": { "Button": 5 }, - "9": { "Character": 26 }, - "10": { "Constants": 2 }, - "11": { "CustomProperties": 1 }, - "12": { "Debuggingfeatures": 1 }, - "13": { "Dialog": 1 }, - "14": { "DialogScript": 1 }, - "15": { "EditorCursor": 1 }, - "16": { "EditorGUI": 4 }, - "17": { "EditorInventoryItems": 23 }, - "18": { "EventTypes": 16 }, - "19": { "Game": 2 }, - "20": { "GameSavesCompatibility": 1 }, - "21": { "Gamevariables": 3 }, - "22": { "GeneralSettings": 8 }, - "23": { "GlobalArrays": 2 }, - "24": { "Globalfunctions_Event": 15 }, - "25": { "Globalfunctions_General": 10 }, - "26": { "InventoryItem": 34 }, - "27": { "InvWindow": 28 }, - "28": { "Mouse": 3 }, - "29": { "ScriptAPIOverview": 1 }, - "30": { "ScriptingTutorialPart1": 6 }, - "31": { "ScriptingTutorialPart2": 1 }, - "32": { "ScriptKeywords": 4 }, - "33": { "Settingupthegame": 20 }, - "34": { "StartingOff": 1 }, - "35": { "TemplateBASS": 9 }, - "36": { "TemplateSierraStyle": 1 }, - "37": { "TemplateVerbcoin": 6 }, - "38": { "Tumbleweed": 7 }, - "39": { "Tumbleweed_door": 1 }, - "40": { "Tumbleweed_extensions": 1 }, - "41": { "Tumbleweed_helper": 2 }, - "42": { "Tumbleweed_movement": 2 }, - "43": { "UpgradeTo33": 1 }, - "44": { "UpgradingTo27": 1 } - }, - "inverse": { - "0": { "Preprocessor": 1 } - }, - "inversely": { - "0": { "GeneralSettings": 1 } - }, - "invisible": { - "0": { "acintro7": 2 }, - "1": { "Character": 2 }, - "2": { "EditorRoom": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GUI": 3 }, - "6": { "GUIControl": 3 }, - "7": { "InvWindow": 1 }, - "8": { "Mouse": 1 }, - "9": { "Object": 2 }, - "10": { "Tumbleweed_door": 1 }, - "11": { "Tumbleweed_movement": 1 } - }, - "invoke": { - "0": { "acintro9": 1 } - }, - "involve": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Overlay": 1 } - }, - "involved": { - "0": { "GlobalVariables": 1 }, - "1": { "UpgradeTo31": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "involves": { - "0": { "Character": 2 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "GameSavesCompatibility": 1 } - }, - "iposter": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "irrKlang": { - "0": { "Credits": 1 } - }, - "irrespective": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "irritate": { - "0": { "Mouse": 1 } - }, - "irrklang": { - "0": { "Credits": 1 } - }, - "isAlphaBlended": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "isn't": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "FAQ": 2 }, - "7": { "Gamevariables": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "Overlay": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "Tumbleweed_actions": 1 } - }, - "issue": { - "0": { "GameSavesCompatibility": 2 }, - "1": { "GlobalArrays": 1 }, - "2": { "SystemLimits": 1 } - }, - "issued": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "issues": { - "0": { "EditorLogPanel": 1 }, - "1": { "UpgradeTo30": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "it'll": { - "0": { "acintro2": 1 } - }, - "it's": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 1 }, - "7": { "AnonymousUsageInfo": 1 }, - "8": { "AudioClip": 1 }, - "9": { "BlockingScripts": 1 }, - "10": { "BuildAndroid": 2 }, - "11": { "ColoursEditor": 1 }, - "12": { "ContactingTheDevelopers": 1 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "DefaultSetup": 1 }, - "15": { "DialogScript": 1 }, - "16": { "DistGame": 3 }, - "17": { "DrawingSurface": 1 }, - "18": { "DynamicSprite": 1 }, - "19": { "EditorLogPanel": 1 }, - "20": { "EditorPlugins": 1 }, - "21": { "EditorPreferences": 2 }, - "22": { "EditorRoom": 1 }, - "23": { "EnginePluginRun-timeAPI": 1 }, - "24": { "FAQ": 5 }, - "25": { "GameEventsOrder": 1 }, - "26": { "GameSavesCompatibility": 2 }, - "27": { "GeneralSettings": 4 }, - "28": { "GlobalArrays": 1 }, - "29": { "Globalfunctions_General": 2 }, - "30": { "GlobalVariables": 1 }, - "31": { "GUIControl": 1 }, - "32": { "ImportingFunctionsAndVariables": 1 }, - "33": { "InventoryItem": 1 }, - "34": { "Lipsync": 1 }, - "35": { "Mouse": 2 }, - "36": { "Multimedia": 2 }, - "37": { "Object": 2 }, - "38": { "OOProgramming": 1 }, - "39": { "Overlay": 1 }, - "40": { "Pointers": 8 }, - "41": { "Preprocessor": 3 }, - "42": { "RuntimeEngine": 1 }, - "43": { "Screen": 2 }, - "44": { "ScriptAPIOverview": 1 }, - "45": { "ScriptingTutorialPart1": 3 }, - "46": { "ScriptingTutorialPart2": 1 }, - "47": { "ScriptKeywords": 2 }, - "48": { "Settingupthegame": 1 }, - "49": { "String": 1 }, - "50": { "System": 2 }, - "51": { "SystemRequirements": 1 }, - "52": { "TroubleshootingWindowsZoneID": 3 }, - "53": { "Tumbleweed": 2 }, - "54": { "Tumbleweed_extensions": 3 }, - "55": { "Tumbleweed_helper": 1 }, - "56": { "Tumbleweed_movement": 11 }, - "57": { "Tumbleweed_translation": 1 }, - "58": { "UnicodeSupport": 5 }, - "59": { "UpgradeTo30": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "UpgradeTo36": 2 }, - "62": { "UpgradeTo361": 2 }, - "63": { "UpgradingTo27": 5 }, - "64": { "Viewport": 3 } - }, - "item": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 3 }, - "2": { "acintro5": 22 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 1 }, - "5": { "BlockingScripts": 2 }, - "6": { "Button": 3 }, - "7": { "Character": 25 }, - "8": { "CustomProperties": 1 }, - "9": { "Dialog": 1 }, - "10": { "DialogScript": 1 }, - "11": { "EditorCursor": 1 }, - "12": { "EditorGUI": 2 }, - "13": { "EditorInventoryItems": 15 }, - "14": { "EventTypes": 13 }, - "15": { "GameSavesCompatibility": 1 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 15 }, - "18": { "GlobalArrays": 1 }, - "19": { "Globalfunctions_Event": 6 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "InventoryItem": 39 }, - "22": { "InvWindow": 11 }, - "23": { "ListBox": 41 }, - "24": { "Mouse": 2 }, - "25": { "ObsoleteScriptAPI": 1 }, - "26": { "ScriptAPIOverview": 1 }, - "27": { "Scripting": 1 }, - "28": { "ScriptingTutorialPart1": 5 }, - "29": { "ScriptKeywords": 5 }, - "30": { "Set": 8 }, - "31": { "Settingupthegame": 9 }, - "32": { "Tumbleweed": 10 }, - "33": { "Tumbleweed_door": 1 }, - "34": { "Tumbleweed_extensions": 3 }, - "35": { "Tumbleweed_movement": 5 }, - "36": { "UpgradeTo32": 1 }, - "37": { "UpgradeTo33": 1 }, - "38": { "UpgradeTo35": 3 }, - "39": { "UpgradingTo27": 2 } - }, - "item's": { - "0": { "acintro5": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Button": 3 }, - "3": { "Character": 3 }, - "4": { "InventoryItem": 6 }, - "5": { "ListBox": 1 }, - "6": { "Mouse": 1 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "UpgradeTo35": 2 } - }, - "item-specific": { - "0": { "acintro1": 1 } - }, - "items": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 4 }, - "2": { "acintro5": 10 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 1 }, - "5": { "Character": 3 }, - "6": { "Constants": 2 }, - "7": { "CustomProperties": 1 }, - "8": { "Debuggingfeatures": 1 }, - "9": { "Dictionary": 7 }, - "10": { "EditorGUI": 2 }, - "11": { "EditorInventoryItems": 2 }, - "12": { "EditorPlugins": 3 }, - "13": { "EventTypes": 2 }, - "14": { "FAQ": 1 }, - "15": { "Game": 5 }, - "16": { "GameSavesCompatibility": 3 }, - "17": { "GeneralSettings": 3 }, - "18": { "Globalfunctions_General": 5 }, - "19": { "InventoryItem": 1 }, - "20": { "InvWindow": 15 }, - "21": { "ListBox": 14 }, - "22": { "ObsoleteScriptAPI": 2 }, - "23": { "ScriptingTutorialPart2": 3 }, - "24": { "ScriptKeywords": 1 }, - "25": { "Set": 13 }, - "26": { "Settingupthegame": 5 }, - "27": { "SystemLimits": 1 }, - "28": { "TemplateVerbcoin": 1 }, - "29": { "TextParser": 1 }, - "30": { "Tumbleweed": 4 }, - "31": { "Tumbleweed_extensions": 2 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "UpgradeTo33": 4 }, - "34": { "UpgradeTo35": 1 } - }, - "iterate": { - "0": { "Dialog": 1 }, - "1": { "Game": 7 }, - "2": { "GlobalArrays": 1 }, - "3": { "GUI": 2 } - }, - "iterating": { - "0": { "GameSavesCompatibility": 1 } - }, - "iteration": { - "0": { "DrawingSurface": 1 }, - "1": { "ScriptKeywords": 7 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "iterations": { - "0": { "ScriptKeywords": 1 } - }, - "its": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro7": 1 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "AudioChannel": 4 }, - "6": { "AudioClip": 1 }, - "7": { "AudioInScript": 1 }, - "8": { "Button": 9 }, - "9": { "Camera": 10 }, - "10": { "Character": 19 }, - "11": { "Copyright": 3 }, - "12": { "DefaultSetup": 5 }, - "13": { "Dialog": 3 }, - "14": { "DialogOptionsRenderingInfo": 1 }, - "15": { "Dictionary": 2 }, - "16": { "DistGame": 2 }, - "17": { "DrawingSurface": 4 }, - "18": { "DynamicArrays": 1 }, - "19": { "DynamicSprite": 9 }, - "20": { "EditorCommandLineOptions": 2 }, - "21": { "EditorCursor": 2 }, - "22": { "EditorFont": 1 }, - "23": { "EditorGUI": 4 }, - "24": { "EditorPlugins": 2 }, - "25": { "EditorRoom": 7 }, - "26": { "EditorSprite": 2 }, - "27": { "EnginePluginDesign-timeAPI": 1 }, - "28": { "EnginePluginRun-timeAPI": 19 }, - "29": { "EnginePlugins": 1 }, - "30": { "EventTypes": 1 }, - "31": { "FAQ": 5 }, - "32": { "File": 1 }, - "33": { "Game": 7 }, - "34": { "GameSavesCompatibility": 5 }, - "35": { "GeneralSettings": 2 }, - "36": { "GlobalArrays": 1 }, - "37": { "Globalfunctions_Event": 2 }, - "38": { "Globalfunctions_General": 10 }, - "39": { "Globalfunctions_Message": 1 }, - "40": { "Globalfunctions_Wait": 1 }, - "41": { "GlobalVariables": 1 }, - "42": { "GraphicsDriver": 1 }, - "43": { "GUI": 2 }, - "44": { "GUIControl": 8 }, - "45": { "Hotspot": 2 }, - "46": { "ImportingFunctionsAndVariables": 2 }, - "47": { "InventoryItem": 2 }, - "48": { "InvWindow": 1 }, - "49": { "Label": 1 }, - "50": { "ListBox": 1 }, - "51": { "MIDI-playback": 2 }, - "52": { "Multimedia": 3 }, - "53": { "MultipleScripts": 3 }, - "54": { "MusicAndSound": 8 }, - "55": { "Object": 18 }, - "56": { "ObsoleteScriptAPI": 1 }, - "57": { "Overlay": 9 }, - "58": { "Pointers": 2 }, - "59": { "Preprocessor": 3 }, - "60": { "Region": 1 }, - "61": { "RepExec": 2 }, - "62": { "Room": 1 }, - "63": { "RuntimeEngine": 1 }, - "64": { "Screen": 3 }, - "65": { "ScriptingTutorialPart1": 2 }, - "66": { "ScriptingTutorialPart2": 2 }, - "67": { "ScriptKeywords": 6 }, - "68": { "Set": 1 }, - "69": { "Settingupthegame": 11 }, - "70": { "Setup": 5 }, - "71": { "Slider": 1 }, - "72": { "Speech": 1 }, - "73": { "StandardEnums": 3 }, - "74": { "TemplateBASS": 1 }, - "75": { "Templates": 3 }, - "76": { "TemplateVerbcoin": 2 }, - "77": { "TextBox": 1 }, - "78": { "TextParser": 2 }, - "79": { "TheScriptHeader": 1 }, - "80": { "Tumbleweed": 1 }, - "81": { "Tumbleweed_door": 1 }, - "82": { "UpgradeTo32": 1 }, - "83": { "UpgradeTo34": 2 }, - "84": { "UpgradeTo341": 1 }, - "85": { "UpgradeTo35": 3 }, - "86": { "UpgradeTo36": 3 }, - "87": { "UpgradingTo27": 1 }, - "88": { "Viewport": 5 } - }, - "itself": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Character": 1 }, - "4": { "DateTime": 1 }, - "5": { "DialogOptionsRenderingInfo": 1 }, - "6": { "DistGame": 2 }, - "7": { "EditorCharacter": 1 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorFont": 2 }, - "11": { "EditorGUI": 2 }, - "12": { "EditorInventoryItems": 2 }, - "13": { "EditorRoom": 1 }, - "14": { "EnginePluginRun-timeAPI": 5 }, - "15": { "FAQ": 2 }, - "16": { "Game": 1 }, - "17": { "GameSavesCompatibility": 1 }, - "18": { "Maths": 2 }, - "19": { "Plugins": 1 }, - "20": { "Pointers": 3 }, - "21": { "Preprocessor": 1 }, - "22": { "RepExec": 1 }, - "23": { "Room": 1 }, - "24": { "ScriptKeywords": 6 }, - "25": { "Setup": 1 }, - "26": { "SourceControl": 1 }, - "27": { "SystemLimits": 1 }, - "28": { "TemplateSierraStyle": 1 }, - "29": { "Tumbleweed_unhandled": 1 }, - "30": { "UpgradeTo34": 1 }, - "31": { "UpgradeTo341": 1 }, - "32": { "UpgradeTo35": 1 }, - "33": { "VoiceSpeech": 1 } - }, - "jack": { - "0": { "EngineConfigFile": 1 } - }, - "jacket": { - "0": { "acintro8": 2 } - }, - "jackets": { - "0": { "acintro8": 1 } - }, - "jibble": { - "0": { "Button": 2 } - }, - "jks": { - "0": { "EditorPreferences": 1 } - }, - "job": { - "0": { "acintro2": 1 }, - "1": { "StandardEnums": 1 } - }, - "joined": { - "0": { "acintro2": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "joining": { - "0": { "String": 1 } - }, - "joke": { - "0": { "acintro8": 1 } - }, - "jre": { - "0": { "EditorPreferences": 1 } - }, - "json": { - "0": { "Credits": 1 } - }, - "judged": { - "0": { "UpgradeTo31": 1 } - }, - "jukebox": { - "0": { "Globalfunctions_General": 1 } - }, - "jump": { - "0": { "AudioChannel": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "Setup": 1 } - }, - "jumping": { - "0": { "Character": 1 } - }, - "jumpy": { - "0": { "Globalfunctions_General": 1 } - }, - "just": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 6 }, - "7": { "acintro8": 8 }, - "8": { "acintro9": 2 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "BuildAndroid": 1 }, - "11": { "Button": 1 }, - "12": { "Character": 7 }, - "13": { "ContactingTheDevelopers": 1 }, - "14": { "CustomDialogOptions": 2 }, - "15": { "Debuggingfeatures": 2 }, - "16": { "DialogScript": 1 }, - "17": { "DistGame": 4 }, - "18": { "DynamicArrays": 2 }, - "19": { "DynamicSprite": 4 }, - "20": { "EditorGUI": 1 }, - "21": { "EditorInventoryItems": 1 }, - "22": { "EditorPlugins": 1 }, - "23": { "EditorView": 2 }, - "24": { "EnginePluginRun-timeAPI": 8 }, - "25": { "EventTypes": 2 }, - "26": { "ExtenderFunctions": 2 }, - "27": { "FAQ": 4 }, - "28": { "File": 2 }, - "29": { "Game": 3 }, - "30": { "GameSavesCompatibility": 3 }, - "31": { "GeneralSettings": 1 }, - "32": { "Globalfunctions_Event": 5 }, - "33": { "Globalfunctions_General": 5 }, - "34": { "Globalfunctions_Room": 2 }, - "35": { "GlobalVariables": 3 }, - "36": { "GUI": 1 }, - "37": { "ListBox": 1 }, - "38": { "Mouse": 2 }, - "39": { "Multimedia": 1 }, - "40": { "MultipleScripts": 2 }, - "41": { "MusicAndSound": 1 }, - "42": { "Object": 1 }, - "43": { "OOProgramming": 1 }, - "44": { "Pointers": 2 }, - "45": { "RepExec": 4 }, - "46": { "Screen": 1 }, - "47": { "ScriptAPIOverview": 1 }, - "48": { "ScriptingTutorialPart1": 5 }, - "49": { "ScriptingTutorialPart2": 7 }, - "50": { "ScriptKeywords": 3 }, - "51": { "String": 2 }, - "52": { "System": 1 }, - "53": { "Templates": 3 }, - "54": { "TextParser": 3 }, - "55": { "Translations": 5 }, - "56": { "TroubleshootingWindowsZoneID": 1 }, - "57": { "Tumbleweed_door": 1 }, - "58": { "Tumbleweed_movement": 2 }, - "59": { "UnicodeSupport": 2 }, - "60": { "UpgradeTo30": 3 }, - "61": { "UpgradeTo341": 2 }, - "62": { "UpgradeTo35": 1 }, - "63": { "UpgradeTo361": 1 }, - "64": { "UpgradingTo27": 4 }, - "65": { "UpgradingTo271": 1 }, - "66": { "VoiceSpeech": 1 } - }, - "keep": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 1 }, - "2": { "AudioInScript": 2 }, - "3": { "Character": 7 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "Dialog": 1 }, - "7": { "DistGame": 1 }, - "8": { "DynamicArrays": 1 }, - "9": { "DynamicSprite": 6 }, - "10": { "EditorSprite": 1 }, - "11": { "EngineConfigFile": 2 }, - "12": { "EnginePluginRun-timeAPI": 6 }, - "13": { "ExtenderFunctions": 2 }, - "14": { "FAQ": 1 }, - "15": { "Gamevariables": 1 }, - "16": { "GeneralSettings": 2 }, - "17": { "Globalfunctions_General": 2 }, - "18": { "GUI": 1 }, - "19": { "GUIControl": 1 }, - "20": { "Hotspot": 1 }, - "21": { "InventoryItem": 1 }, - "22": { "ListBox": 1 }, - "23": { "MusicAndSound": 2 }, - "24": { "Object": 1 }, - "25": { "Preprocessor": 1 }, - "26": { "RepExec": 1 }, - "27": { "ScriptingTutorialPart1": 2 }, - "28": { "ScriptKeywords": 2 }, - "29": { "Settingupthegame": 1 }, - "30": { "Setup": 2 }, - "31": { "SourceControl": 1 }, - "32": { "Templates": 1 }, - "33": { "Translations": 3 }, - "34": { "TroubleshootingWindowsZoneID": 1 }, - "35": { "Tumbleweed": 1 }, - "36": { "UnicodeSupport": 2 }, - "37": { "UpgradeTo34": 2 }, - "38": { "UpgradeTo35": 1 }, - "39": { "UpgradeTo36": 2 }, - "40": { "UpgradeTo361": 2 }, - "41": { "UpgradingTo27": 1 } - }, - "keeping": { - "0": { "Camera": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "Setup": 1 }, - "8": { "UpgradeTo32": 1 }, - "9": { "Viewport": 1 } - }, - "keeps": { - "0": { "DefaultSetup": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed": 1 } - }, - "kept": { - "0": { "AudioInScript": 1 }, - "1": { "Character": 1 }, - "2": { "DateTime": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "RepExec": 1 }, - "9": { "Translations": 1 }, - "10": { "UpgradeTo35": 1 }, - "11": { "UpgradingTo27": 1 } - }, - "key": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 31 }, - "2": { "acintro5": 6 }, - "3": { "acintro6": 8 }, - "4": { "acintro7": 9 }, - "5": { "acintro8": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "Character": 2 }, - "8": { "Constants": 1 }, - "9": { "CustomDialogOptions": 9 }, - "10": { "DialogOptionsRenderingInfo": 4 }, - "11": { "DialogScript": 1 }, - "12": { "Dictionary": 27 }, - "13": { "EditorGUI": 2 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EngineConfigFile": 4 }, - "16": { "EnginePluginRun-timeAPI": 14 }, - "17": { "Game": 7 }, - "18": { "GameEventsOrder": 1 }, - "19": { "Gamevariables": 2 }, - "20": { "GeneralSettings": 2 }, - "21": { "Globalfunctions_Event": 23 }, - "22": { "Globalfunctions_General": 21 }, - "23": { "Globalfunctions_Message": 1 }, - "24": { "Globalfunctions_Wait": 17 }, - "25": { "InventoryItem": 1 }, - "26": { "Keycodes": 17 }, - "27": { "Mouse": 1 }, - "28": { "Multimedia": 4 }, - "29": { "MultipleScripts": 2 }, - "30": { "ObsoleteScriptAPI": 1 }, - "31": { "RuntimeEngine": 1 }, - "32": { "ScriptAPIOverview": 1 }, - "33": { "ScriptingTutorialPart1": 1 }, - "34": { "ScriptingTutorialPart2": 1 }, - "35": { "ScriptKeywords": 2 }, - "36": { "Speech": 12 }, - "37": { "System": 4 }, - "38": { "Templates": 1 }, - "39": { "TemplateSierraStyle": 4 }, - "40": { "Tumbleweed": 1 }, - "41": { "Tumbleweed_actions": 1 }, - "42": { "Tumbleweed_door": 2 }, - "43": { "UpgradeTo33": 1 }, - "44": { "UpgradeTo34": 2 }, - "45": { "UpgradeTo36": 33 }, - "46": { "VoiceSpeech": 1 } - }, - "key's": { - "0": { "acintro7": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "InventoryItem": 2 } - }, - "key-controlled": { - "0": { "CustomDialogOptions": 1 } - }, - "key-press": { - "0": { "Globalfunctions_Event": 1 } - }, - "key-presses": { - "0": { "UpgradeTo36": 1 } - }, - "keyboard": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Game": 1 }, - "2": { "GameEventsOrder": 1 }, - "3": { "GeneralSettings": 3 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "KeyboardShortcuts": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "Speech": 1 }, - "9": { "TemplateSierraStyle": 3 } - }, - "keycode": { - "0": { "CustomDialogOptions": 6 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "Globalfunctions_Event": 3 }, - "5": { "Globalfunctions_General": 3 }, - "6": { "Globalfunctions_Wait": 8 }, - "7": { "Keycodes": 6 }, - "8": { "MultipleScripts": 1 }, - "9": { "System": 4 }, - "10": { "UpgradeTo36": 1 } - }, - "keycodes": { - "0": { "Globalfunctions_General": 2 }, - "1": { "Keycodes": 6 } - }, - "keymod": { - "0": { "Globalfunctions_Wait": 3 }, - "1": { "Keycodes": 2 } - }, - "keypad": { - "0": { "Globalfunctions_General": 2 }, - "1": { "Keycodes": 1 }, - "2": { "System": 1 } - }, - "keypress": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 2 } - }, - "keypresses": { - "0": { "BlockingScripts": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "keys": { - "0": { "Character": 1 }, - "1": { "Dictionary": 9 }, - "2": { "EditorGUI": 1 }, - "3": { "Game": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GeneralSettings": 4 }, - "6": { "Globalfunctions_Event": 4 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Keycodes": 3 }, - "9": { "Speech": 1 }, - "10": { "System": 1 }, - "11": { "UpgradeTo36": 6 } - }, - "keystore": { - "0": { "BuildAndroid": 1 } - }, - "keystroke": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "keyword": { - "0": { "DialogScript": 1 }, - "1": { "ExtenderFunctions": 2 }, - "2": { "ImportingFunctionsAndVariables": 4 }, - "3": { "OOProgramming": 2 }, - "4": { "Pointers": 6 }, - "5": { "Preprocessor": 2 }, - "6": { "ScriptingTutorialPart2": 5 }, - "7": { "ScriptKeywords": 18 }, - "8": { "UpgradingTo27": 1 }, - "9": { "UpgradingTo271": 1 } - }, - "keywords": { - "0": { "Constants": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "ScriptingLanguage": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "kill": { - "0": { "TextParser": 2 } - }, - "kilobytes": { - "0": { "EngineConfigFile": 3 } - }, - "kind": { - "0": { "EditorInventoryItems": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "Game": 1 }, - "4": { "GameSavesCompatibility": 2 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Overlay": 1 }, - "8": { "Pointers": 2 }, - "9": { "ScriptKeywords": 1 }, - "10": { "Translations": 1 }, - "11": { "Tumbleweed_movement": 1 }, - "12": { "UnicodeSupport": 1 }, - "13": { "UpgradeTo34": 1 }, - "14": { "UpgradeTo36": 1 }, - "15": { "VoiceSpeech": 1 } - }, - "kinds": { - "0": { "EditorFont": 1 }, - "1": { "GUI": 1 } - }, - "know": { - "0": { "acintro7": 1 }, - "1": { "acintro9": 1 }, - "2": { "AudioClip": 2 }, - "3": { "Camera": 1 }, - "4": { "Character": 2 }, - "5": { "Constants": 2 }, - "6": { "Dialog": 2 }, - "7": { "DialogScript": 1 }, - "8": { "DynamicArrays": 2 }, - "9": { "DynamicSprite": 1 }, - "10": { "EnginePluginDesign-timeAPI": 2 }, - "11": { "EnginePluginRun-timeAPI": 9 }, - "12": { "EventTypes": 1 }, - "13": { "FAQ": 2 }, - "14": { "File": 2 }, - "15": { "GameSavesCompatibility": 2 }, - "16": { "GlobalArrays": 1 }, - "17": { "Globalfunctions_General": 1 }, - "18": { "GUI": 3 }, - "19": { "GUIControl": 3 }, - "20": { "Hotspot": 2 }, - "21": { "ImportingFunctionsAndVariables": 1 }, - "22": { "InventoryItem": 2 }, - "23": { "Maths": 1 }, - "24": { "Mouse": 2 }, - "25": { "Multimedia": 1 }, - "26": { "MusicAndSound": 1 }, - "27": { "Object": 2 }, - "28": { "Overlay": 2 }, - "29": { "Pointers": 4 }, - "30": { "Preprocessor": 1 }, - "31": { "ScriptingTutorialPart1": 2 }, - "32": { "ScriptingTutorialPart2": 1 }, - "33": { "Settingupthegame": 2 }, - "34": { "System": 3 }, - "35": { "TextParser": 1 }, - "36": { "TroubleshootingWindowsZoneID": 1 }, - "37": { "Tumbleweed": 1 }, - "38": { "UnicodeSupport": 1 }, - "39": { "UpgradeTo35": 2 }, - "40": { "UpgradeTo36": 1 }, - "41": { "UpgradeTo361": 1 }, - "42": { "VoiceSpeech": 1 } - }, - "knowing": { - "0": { "AnonymousUsageInfo": 3 }, - "1": { "MusicAndSound": 1 } - }, - "knowledge": { - "0": { "acintro2": 1 } - }, - "known": { - "0": { "AudioChannel": 12 }, - "1": { "AudioClip": 8 }, - "2": { "Button": 4 }, - "3": { "Camera": 2 }, - "4": { "Character": 65 }, - "5": { "DateTime": 2 }, - "6": { "Dialog": 3 }, - "7": { "DrawingSurface": 14 }, - "8": { "DynamicSprite": 3 }, - "9": { "File": 14 }, - "10": { "Game": 19 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GlobalArrays": 1 }, - "13": { "GUI": 13 }, - "14": { "GUIControl": 4 }, - "15": { "Hotspot": 11 }, - "16": { "ImportingFunctionsAndVariables": 1 }, - "17": { "InventoryItem": 12 }, - "18": { "InvWindow": 5 }, - "19": { "Label": 5 }, - "20": { "ListBox": 15 }, - "21": { "MIDI-playback": 1 }, - "22": { "Mouse": 16 }, - "23": { "MultipleScripts": 1 }, - "24": { "Object": 34 }, - "25": { "Overlay": 7 }, - "26": { "Plugins": 1 }, - "27": { "Region": 6 }, - "28": { "Room": 6 }, - "29": { "ScriptingTutorialPart2": 1 }, - "30": { "Slider": 2 }, - "31": { "Speech": 7 }, - "32": { "String": 13 }, - "33": { "System": 12 }, - "34": { "TemplateBASS": 1 }, - "35": { "Templates": 1 }, - "36": { "TextBox": 5 }, - "37": { "UpgradeTo35": 1 }, - "38": { "UpgradeTo361": 3 }, - "39": { "ViewFrame": 2 } - }, - "knows": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Object": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "Tumbleweed_extensions": 1 } - }, - "ky": { - "0": { "Templates": 1 } - }, - "label": { - "0": { "DrawingSurface": 1 }, - "1": { "EditorDialog": 3 }, - "2": { "EditorGUI": 4 }, - "3": { "FAQ": 2 }, - "4": { "Game": 1 }, - "5": { "Label": 8 }, - "6": { "Pointers": 1 }, - "7": { "ScriptKeywords": 6 }, - "8": { "TemplateVerbcoin": 1 }, - "9": { "UpgradeTo36": 1 } - }, - "label's": { - "0": { "FAQ": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "Label": 3 } - }, - "labeled": { - "0": { "acintro7": 1 } - }, - "labels": { - "0": { "Tumbleweed_translation": 1 } - }, - "lack": { - "0": { "Plugins": 1 } - }, - "lame": { - "0": { "acintro1": 1 } - }, - "lamp": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Object": 1 } - }, - "landscape": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "RuntimeEngine": 1 } - }, - "lang": { - "0": { "Tumbleweed_translation": 1 } - }, - "language": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 1 }, - "2": { "Copyright": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EngineConfigFile": 3 }, - "7": { "Game": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "Label": 1 }, - "11": { "ListBox": 1 }, - "12": { "Pointers": 1 }, - "13": { "ScriptingLanguage": 1 }, - "14": { "ScriptingTutorialPart1": 2 }, - "15": { "ScriptKeywords": 2 }, - "16": { "Setup": 1 }, - "17": { "StringFormats": 1 }, - "18": { "TextBox": 1 }, - "19": { "Translations": 2 }, - "20": { "Tumbleweed": 7 }, - "21": { "Tumbleweed_translation": 1 }, - "22": { "UnicodeSupport": 3 }, - "23": { "UpgradeTo36": 5 }, - "24": { "UpgradingTo27": 4 }, - "25": { "UpgradingTo271": 1 } - }, - "languages": { - "0": { "acintro9": 1 }, - "1": { "Game": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Pointers": 2 }, - "4": { "ScriptKeywords": 2 }, - "5": { "Translations": 1 }, - "6": { "Tumbleweed_translation": 2 }, - "7": { "UnicodeSupport": 7 }, - "8": { "UpgradeTo36": 4 }, - "9": { "VoiceSpeech": 1 } - }, - "laptop": { - "0": { "EventTypes": 1 } - }, - "large": { - "0": { "acintro4": 3 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "Camera": 3 }, - "4": { "Character": 4 }, - "5": { "DistGame": 1 }, - "6": { "DrawingSurface": 2 }, - "7": { "DynamicArrays": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EditorView": 1 }, - "10": { "FAQ": 1 }, - "11": { "Globalfunctions_Room": 1 }, - "12": { "GraphicsDriver": 1 }, - "13": { "InvWindow": 2 }, - "14": { "MultipleScripts": 2 }, - "15": { "Object": 3 }, - "16": { "ScriptKeywords": 2 }, - "17": { "SourceControl": 1 }, - "18": { "UpgradeTo341": 1 }, - "19": { "UpgradeTo35": 1 } - }, - "largely": { - "0": { "acintro5": 1 } - }, - "larger": { - "0": { "acintro4": 2 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Button": 2 }, - "4": { "Camera": 8 }, - "5": { "CustomProperties": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "DynamicArrays": 1 }, - "8": { "EditorInventoryItems": 1 }, - "9": { "FAQ": 1 }, - "10": { "GeneralSettings": 4 }, - "11": { "Globalfunctions_Palette": 1 }, - "12": { "Settingupthegame": 2 }, - "13": { "Setup": 1 }, - "14": { "System": 1 }, - "15": { "UpgradeTo35": 2 }, - "16": { "UpgradeTo36": 1 }, - "17": { "Viewport": 1 } - }, - "largest": { - "0": { "EngineConfigFile": 1 }, - "1": { "Gamevariables": 2 }, - "2": { "InvWindow": 2 } - }, - "last": { - "0": { "acintro1": 1 }, - "1": { "Button": 3 }, - "2": { "Character": 4 }, - "3": { "ColoursEditor": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EnginePluginRun-timeAPI": 4 }, - "10": { "Game": 3 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Gamevariables": 4 }, - "13": { "GeneralSettings": 2 }, - "14": { "Globalfunctions_Message": 1 }, - "15": { "Globalfunctions_Palette": 1 }, - "16": { "Globalfunctions_Room": 3 }, - "17": { "GraphicsDriver": 1 }, - "18": { "Hotspot": 1 }, - "19": { "InvWindow": 1 }, - "20": { "ListBox": 1 }, - "21": { "Mouse": 1 }, - "22": { "Object": 4 }, - "23": { "Overlay": 2 }, - "24": { "Parser": 1 }, - "25": { "Region": 1 }, - "26": { "RepExec": 1 }, - "27": { "Room": 1 }, - "28": { "ScriptingTutorialPart1": 1 }, - "29": { "ScriptKeywords": 1 }, - "30": { "Settingupthegame": 1 }, - "31": { "String": 3 }, - "32": { "Tumbleweed": 2 }, - "33": { "Tumbleweed_translation": 1 }, - "34": { "UpgradeTo36": 1 }, - "35": { "UpgradeTo361": 1 }, - "36": { "Viewport": 1 } - }, - "lastSpeech": { - "0": { "Speech": 6 } - }, - "lasts": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "Mouse": 1 } - }, - "late": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 4 }, - "2": { "DistGame": 1 }, - "3": { "GameEventsOrder": 1 }, - "4": { "Globalfunctions_Event": 4 }, - "5": { "Globalfunctions_Wait": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "RepExec": 8 }, - "8": { "Speech": 3 } - }, - "later": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 3 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 4 }, - "7": { "AudioChannel": 16 }, - "8": { "AudioClip": 13 }, - "9": { "Button": 7 }, - "10": { "Camera": 2 }, - "11": { "Character": 40 }, - "12": { "ColoursEditor": 1 }, - "13": { "Constants": 3 }, - "14": { "CustomDialogOptions": 1 }, - "15": { "DateTime": 3 }, - "16": { "Dialog": 10 }, - "17": { "DialogOptionsRenderingInfo": 13 }, - "18": { "Dictionary": 4 }, - "19": { "DrawingSurface": 4 }, - "20": { "DynamicArrays": 1 }, - "21": { "DynamicSprite": 1 }, - "22": { "EditorPlugins": 2 }, - "23": { "EditorSprite": 2 }, - "24": { "EnginePluginDesign-timeAPI": 3 }, - "25": { "EnginePluginRun-timeAPI": 22 }, - "26": { "File": 12 }, - "27": { "Game": 28 }, - "28": { "GameEventsOrder": 1 }, - "29": { "GeneralSettings": 4 }, - "30": { "GlobalArrays": 1 }, - "31": { "Globalfunctions_General": 8 }, - "32": { "Globalfunctions_Palette": 1 }, - "33": { "Globalfunctions_Room": 4 }, - "34": { "Globalfunctions_Wait": 5 }, - "35": { "GUI": 11 }, - "36": { "GUIControl": 5 }, - "37": { "Hotspot": 9 }, - "38": { "InventoryItem": 6 }, - "39": { "Label": 1 }, - "40": { "Lipsync": 1 }, - "41": { "ListBox": 7 }, - "42": { "Maths": 6 }, - "43": { "Mouse": 5 }, - "44": { "Multimedia": 3 }, - "45": { "MusicAndSound": 5 }, - "46": { "Object": 21 }, - "47": { "Overlay": 10 }, - "48": { "Parser": 2 }, - "49": { "Region": 4 }, - "50": { "Room": 3 }, - "51": { "Screen": 2 }, - "52": { "ScriptAPIOverview": 1 }, - "53": { "ScriptingTutorialPart1": 2 }, - "54": { "Set": 2 }, - "55": { "Settingupthegame": 3 }, - "56": { "Slider": 3 }, - "57": { "Speech": 7 }, - "58": { "StandardEnums": 2 }, - "59": { "String": 8 }, - "60": { "System": 12 }, - "61": { "TextBox": 2 }, - "62": { "TextWindowGUI": 1 }, - "63": { "Tumbleweed_door": 1 }, - "64": { "UpgradeTo31": 1 }, - "65": { "UpgradeTo36": 1 }, - "66": { "ViewFrame": 1 }, - "67": { "Viewport": 3 } - }, - "latest": { - "0": { "acintro3": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "Character": 1 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "GameSavesCompatibility": 2 }, - "8": { "Introduction": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "StartingOff": 1 } - }, - "latter": { - "0": { "Credits": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "launch": { - "0": { "acintro2": 1 }, - "1": { "DistGame": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Globalfunctions_General": 1 } - }, - "launched": { - "0": { "Game": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "System": 1 } - }, - "launcher": { - "0": { "BuildAndroid": 6 }, - "1": { "DistGame": 1 } - }, - "launches": { - "0": { "DistGame": 1 } - }, - "launching": { - "0": { "Globalfunctions_General": 1 }, - "1": { "UpgradeTo341": 1 } - }, - "lawsuit": { - "0": { "TemplateBASS": 1 } - }, - "layer": { - "0": { "EditorRoom": 14 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Screen": 1 }, - "3": { "Overlay": 5 }, - "4": { "UpgradeTo32": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "layers": { - "0": { "EditorRoom": 2 }, - "1": { "UpgradeTo35": 1 } - }, - "layout": { - "0": { "UpgradeTo33": 1 } - }, - "lblAction": { - "0": { "TemplateBASS": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "lblCharacterName": { - "0": { "Pointers": 2 } - }, - "lblDescription": { - "0": { "Game": 2 } - }, - "lblGameChapter": { - "0": { "Label": 2 } - }, - "lblHotspotName": { - "0": { "Label": 2 } - }, - "lblLabel": { - "0": { "UpgradingTo271": 1 } - }, - "lblScore": { - "0": { "Label": 2 } - }, - "lblStatus": { - "0": { "Label": 5 } - }, - "lead": { - "0": { "acintro8": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 1 }, - "5": { "Game": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "Globalfunctions_Screen": 1 }, - "8": { "Mouse": 1 }, - "9": { "ScriptAPIOverview": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "Setup": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "leading": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "String": 1 }, - "2": { "Tutorial": 1 }, - "3": { "VoiceSpeech": 2 } - }, - "leads": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "leak": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "leaning": { - "0": { "UpgradeTo335": 1 } - }, - "learn": { - "0": { "acintro9": 1 }, - "1": { "FAQ": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "learned": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "learning": { - "0": { "TemplateSierraStyle": 1 } - }, - "least": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "Constants": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DialogOptionsRenderingInfo": 1 }, - "6": { "DynamicArrays": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "FAQ": 3 }, - "11": { "Game": 2 }, - "12": { "GeneralSettings": 2 }, - "13": { "GlobalArrays": 2 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "GraphicsDriver": 1 }, - "16": { "Preprocessor": 1 }, - "17": { "Screen": 1 }, - "18": { "ScriptKeywords": 2 }, - "19": { "StandardEnums": 1 }, - "20": { "SystemLimits": 1 }, - "21": { "UpgradeTo34": 1 }, - "22": { "UpgradeTo341": 1 }, - "23": { "UpgradeTo35": 1 } - }, - "leather": { - "0": { "acintro8": 1 } - }, - "leave": { - "0": { "acintro5": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "DynamicArrays": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "Game": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 3 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "Globalfunctions_Room": 2 }, - "12": { "Mouse": 1 }, - "13": { "Object": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Setup": 1 }, - "16": { "Translations": 1 }, - "17": { "Tumbleweed": 3 }, - "18": { "UpgradeTo33": 1 } - }, - "leaves": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "EventTypes": 3 }, - "2": { "Globalfunctions_Room": 3 }, - "3": { "Hotspot": 1 }, - "4": { "Mouse": 2 }, - "5": { "Region": 3 }, - "6": { "Room": 1 }, - "7": { "ScriptKeywords": 1 } - }, - "leaving": { - "0": { "Character": 2 }, - "1": { "Globalfunctions_Event": 3 }, - "2": { "MusicAndSound": 1 } - }, - "left": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro6": 4 }, - "4": { "acintro7": 2 }, - "5": { "AudioChannel": 2 }, - "6": { "Character": 7 }, - "7": { "DefaultSetup": 1 }, - "8": { "DrawingSurface": 5 }, - "9": { "DynamicSprite": 6 }, - "10": { "EditorGUI": 2 }, - "11": { "EditorInventoryItems": 2 }, - "12": { "EditorLogPanel": 1 }, - "13": { "EditorPlugins": 1 }, - "14": { "EditorRoom": 1 }, - "15": { "EditorSprite": 4 }, - "16": { "EditorView": 2 }, - "17": { "EngineConfigFile": 2 }, - "18": { "EnginePluginRun-timeAPI": 5 }, - "19": { "EventTypes": 2 }, - "20": { "FAQ": 1 }, - "21": { "Gamevariables": 1 }, - "22": { "GeneralSettings": 8 }, - "23": { "Globalfunctions_Event": 1 }, - "24": { "Globalfunctions_General": 1 }, - "25": { "Globalfunctions_Room": 1 }, - "26": { "GUI": 1 }, - "27": { "GUIControl": 2 }, - "28": { "Lipsync": 1 }, - "29": { "Mouse": 2 }, - "30": { "Object": 2 }, - "31": { "Overlay": 2 }, - "32": { "Preprocessor": 1 }, - "33": { "RepExec": 2 }, - "34": { "Room": 2 }, - "35": { "ScriptingTutorialPart1": 5 }, - "36": { "Settingupthegame": 4 }, - "37": { "Setup": 1 }, - "38": { "Speech": 1 }, - "39": { "TemplateBASS": 1 }, - "40": { "TemplateSierraStyle": 2 }, - "41": { "TemplateVerbcoin": 1 }, - "42": { "Translations": 1 }, - "43": { "Tumbleweed": 1 }, - "44": { "Tumbleweed_movement": 1 }, - "45": { "UpgradeTo36": 3 }, - "46": { "UpgradingTo27": 1 } - }, - "left-click": { - "0": { "EditorRoom": 1 }, - "1": { "Mouse": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "TemplateBASS": 3 }, - "4": { "Tumbleweed_extensions": 2 } - }, - "left-clicking": { - "0": { "acintro4": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "TemplateBASS": 2 } - }, - "left-hand": { - "0": { "GUI": 1 } - }, - "left-padded": { - "0": { "StringFormats": 1 } - }, - "left-right": { - "0": { "acintro7": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "left-side": { - "0": { "acintro4": 2 } - }, - "left-to-right": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "Translations": 1 } - }, - "leftmost": { - "0": { "Camera": 1 } - }, - "leftwards": { - "0": { "Globalfunctions_Palette": 1 } - }, - "legacy": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "EngineConfigFile": 2 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Object": 1 }, - "7": { "Region": 1 }, - "8": { "Setup": 1 }, - "9": { "TemplateVerbcoin": 1 } - }, - "legacysave": { - "0": { "EngineConfigFile": 2 } - }, - "legal": { - "0": { "MIDI-playback": 2 } - }, - "len": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "length": { - "0": { "AudioChannel": 2 }, - "1": { "EnginePluginRun-timeAPI": 10 }, - "2": { "Game": 4 }, - "3": { "GameSavesCompatibility": 6 }, - "4": { "GlobalArrays": 2 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "Lipsync": 1 }, - "7": { "Mouse": 1 }, - "8": { "Slider": 1 }, - "9": { "Speech": 2 }, - "10": { "String": 6 }, - "11": { "TextParser": 1 }, - "12": { "UpgradeTo35": 2 } - }, - "lengths": { - "0": { "Character": 1 } - }, - "lengthy": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 } - }, - "less": { - "0": { "Button": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginRun-timeAPI": 6 }, - "8": { "GameSavesCompatibility": 3 }, - "9": { "GeneralSettings": 5 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "ScriptingTutorialPart1": 3 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "ScriptKeywords": 3 }, - "14": { "Setup": 1 }, - "15": { "String": 1 }, - "16": { "System": 1 }, - "17": { "TemplateBASS": 3 }, - "18": { "TheScriptHeader": 1 }, - "19": { "UpgradeTo35": 2 }, - "20": { "UpgradingTo27": 1 } - }, - "let": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro9": 1 }, - "3": { "Camera": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "Dictionary": 1 }, - "6": { "EditorSprite": 2 }, - "7": { "EngineConfigFile": 1 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "FAQ": 2 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_Wait": 1 }, - "12": { "ImportingFunctionsAndVariables": 2 }, - "13": { "Preprocessor": 2 }, - "14": { "ScriptAPIOverview": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "ScriptModules": 1 }, - "17": { "Set": 1 }, - "18": { "Settingupthegame": 1 }, - "19": { "Setup": 1 }, - "20": { "System": 1 }, - "21": { "Translations": 1 }, - "22": { "Tumbleweed": 1 }, - "23": { "Tumbleweed_player": 1 }, - "24": { "UnicodeSupport": 1 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo36": 1 }, - "27": { "UpgradeTo361": 3 } - }, - "let's": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 4 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 5 }, - "7": { "acintro9": 2 }, - "8": { "MusicAndSound": 2 }, - "9": { "RepExec": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "Tumbleweed": 1 }, - "13": { "Tumbleweed_door": 1 } - }, - "lets": { - "0": { "acintro8": 1 }, - "1": { "Button": 2 }, - "2": { "Camera": 1 }, - "3": { "Character": 3 }, - "4": { "ColoursEditor": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DefaultSetup": 4 }, - "7": { "Dialog": 1 }, - "8": { "DialogScript": 1 }, - "9": { "DynamicSprite": 2 }, - "10": { "EditorFont": 1 }, - "11": { "EditorRoom": 1 }, - "12": { "EngineConfigFile": 2 }, - "13": { "EnginePluginRun-timeAPI": 1 }, - "14": { "ExtenderFunctions": 1 }, - "15": { "GeneralSettings": 2 }, - "16": { "Globalfunctions_Wait": 5 }, - "17": { "ImportingFunctionsAndVariables": 1 }, - "18": { "Object": 2 }, - "19": { "Pointers": 1 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "ScriptKeywords": 1 }, - "22": { "Translations": 1 }, - "23": { "Tumbleweed_movement": 1 }, - "24": { "UnicodeSupport": 1 }, - "25": { "UpgradeTo33": 1 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo35": 3 }, - "28": { "UpgradeTo36": 5 }, - "29": { "Viewport": 1 } - }, - "letter": { - "0": { "EditorGUI": 1 }, - "1": { "FAQ": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Lipsync": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed_extensions": 3 } - }, - "letterbox": { - "0": { "GeneralSettings": 1 }, - "1": { "System": 1 } - }, - "letters": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "Lipsync": 4 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Translations": 1 }, - "6": { "Tumbleweed": 1 }, - "7": { "Tumbleweed_actions": 1 }, - "8": { "UnicodeSupport": 2 }, - "9": { "UpgradeTo36": 1 }, - "10": { "VoiceSpeech": 1 } - }, - "letting": { - "0": { "acintro4": 2 }, - "1": { "Pointers": 1 } - }, - "level": { - "0": { "AdvancedRoomFeatures": 5 }, - "1": { "Camera": 1 }, - "2": { "Character": 22 }, - "3": { "Constants": 4 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "FAQ": 1 }, - "7": { "GeneralSettings": 5 }, - "8": { "Globalfunctions_General": 8 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Object": 15 }, - "12": { "OOProgramming": 1 }, - "13": { "Region": 7 }, - "14": { "RuntimeEngine": 1 }, - "15": { "ScriptAPIOverview": 6 }, - "16": { "Settingupthegame": 2 }, - "17": { "System": 3 }, - "18": { "TemplateBASS": 1 }, - "19": { "TemplateVerbcoin": 1 }, - "20": { "UpgradeTo34": 2 }, - "21": { "UpgradeTo341": 1 } - }, - "levels": { - "0": { "AdvancedRoomFeatures": 3 }, - "1": { "Character": 5 }, - "2": { "Constants": 1 }, - "3": { "DistGame": 2 }, - "4": { "EngineConfigFile": 1 }, - "5": { "Globalfunctions_General": 4 }, - "6": { "Globalfunctions_Room": 2 }, - "7": { "GUI": 1 }, - "8": { "GUIControl": 1 }, - "9": { "Object": 1 }, - "10": { "Region": 1 }, - "11": { "RuntimeEngine": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "SystemLimits": 1 }, - "14": { "UpgradeTo341": 1 } - }, - "lever": { - "0": { "FAQ": 1 } - }, - "levitate": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Room": 1 } - }, - "levitates": { - "0": { "Character": 1 } - }, - "libags": { - "0": { "Plugins": 1 } - }, - "libagsdrawcircle": { - "0": { "Plugins": 2 } - }, - "liballeg": { - "0": { "Credits": 1 } - }, - "libcda": { - "0": { "Credits": 1 } - }, - "libellous": { - "0": { "Copyright": 1 } - }, - "libraries": { - "0": { "DistGame": 1 }, - "1": { "EditorPlugins": 1 } - }, - "library": { - "0": { "Copyright": 1 }, - "1": { "Credits": 2 }, - "2": { "MusicAndSound": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "library's": { - "0": { "UpgradeTo36": 1 } - }, - "libsdl": { - "0": { "Credits": 1 } - }, - "license": { - "0": { "Copyright": 2 }, - "1": { "DistGame": 2 } - }, - "licenses": { - "0": { "BuildAndroid": 2 }, - "1": { "DistGame": 1 } - }, - "lie": { - "0": { "DynamicSprite": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Room": 1 }, - "3": { "Slider": 1 } - }, - "lies": { - "0": { "Slider": 2 } - }, - "life": { - "0": { "StringFormats": 9 } - }, - "lifetime": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "light": { - "0": { "AdvancedRoomFeatures": 3 }, - "1": { "Character": 17 }, - "2": { "Globalfunctions_General": 12 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "Globalfunctions_Palette": 1 }, - "5": { "Globalfunctions_Room": 2 }, - "6": { "Object": 16 }, - "7": { "Region": 8 }, - "8": { "Settingupthegame": 1 }, - "9": { "System": 3 } - }, - "lighted": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "lightened": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "lighting": { - "0": { "Character": 3 }, - "1": { "EditorCharacter": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 2 } - }, - "lightning": { - "0": { "acintro5": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Settingupthegame": 2 } - }, - "like": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 4 }, - "7": { "AdvancedRoomFeatures": 3 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "AudioClip": 1 }, - "10": { "BlockingScripts": 1 }, - "11": { "BuildAndroid": 1 }, - "12": { "Camera": 1 }, - "13": { "Character": 7 }, - "14": { "ColoursEditor": 1 }, - "15": { "Constants": 1 }, - "16": { "CustomDialogOptions": 3 }, - "17": { "CustomProperties": 1 }, - "18": { "DateTime": 1 }, - "19": { "Dialog": 1 }, - "20": { "DistGame": 2 }, - "21": { "DrawingSurface": 2 }, - "22": { "DynamicArrays": 1 }, - "23": { "DynamicSprite": 3 }, - "24": { "EditorGUI": 5 }, - "25": { "EditorRoom": 3 }, - "26": { "EditorSprite": 2 }, - "27": { "EditorView": 1 }, - "28": { "EnginePluginRun-timeAPI": 6 }, - "29": { "EventTypes": 4 }, - "30": { "ExtenderFunctions": 4 }, - "31": { "FAQ": 2 }, - "32": { "File": 2 }, - "33": { "Game": 3 }, - "34": { "GameSavesCompatibility": 3 }, - "35": { "GeneralSettings": 7 }, - "36": { "Globalfunctions_Event": 1 }, - "37": { "Globalfunctions_General": 5 }, - "38": { "Globalfunctions_Message": 1 }, - "39": { "Globalfunctions_Palette": 1 }, - "40": { "GlobalVariables": 2 }, - "41": { "GUI": 3 }, - "42": { "ImportingFunctionsAndVariables": 3 }, - "43": { "Introduction": 1 }, - "44": { "InventoryItem": 1 }, - "45": { "Keycodes": 2 }, - "46": { "Mouse": 3 }, - "47": { "MultipleScripts": 1 }, - "48": { "MusicAndSound": 1 }, - "49": { "OOProgramming": 2 }, - "50": { "Overlay": 2 }, - "51": { "Parser": 1 }, - "52": { "Pointers": 13 }, - "53": { "Preprocessor": 1 }, - "54": { "RepExec": 1 }, - "55": { "RuntimeEngine": 1 }, - "56": { "ScriptingTutorialPart1": 10 }, - "57": { "ScriptingTutorialPart2": 8 }, - "58": { "ScriptKeywords": 18 }, - "59": { "Settingupthegame": 4 }, - "60": { "SourceControl": 3 }, - "61": { "StringFormats": 2 }, - "62": { "Templates": 1 }, - "63": { "TextParser": 1 }, - "64": { "TheScriptHeader": 1 }, - "65": { "Translations": 3 }, - "66": { "Tumbleweed": 9 }, - "67": { "Tumbleweed_actions": 1 }, - "68": { "Tumbleweed_extensions": 1 }, - "69": { "Tumbleweed_translation": 1 }, - "70": { "Tumbleweed_unhandled": 2 }, - "71": { "UnicodeSupport": 2 }, - "72": { "UpgradeTo31": 2 }, - "73": { "UpgradeTo32": 7 }, - "74": { "UpgradeTo34": 1 }, - "75": { "UpgradeTo35": 6 }, - "76": { "UpgradeTo36": 6 }, - "77": { "UpgradeTo361": 3 }, - "78": { "UpgradingTo27": 6 }, - "79": { "UpgradingTo271": 5 }, - "80": { "Viewport": 1 } - }, - "likely": { - "0": { "acintro1": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "System": 2 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "UnicodeSupport": 2 }, - "9": { "UpgradeTo33": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "liking": { - "0": { "GeneralSettings": 1 } - }, - "limit": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 1 }, - "3": { "Constants": 1 }, - "4": { "Game": 2 }, - "5": { "ListBox": 2 }, - "6": { "ScriptAPIOverview": 1 }, - "7": { "SystemLimits": 4 }, - "8": { "UpgradeTo35": 6 }, - "9": { "UpgradeTo36": 4 } - }, - "limitation": { - "0": { "DialogScript": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "UpgradeTo31": 1 }, - "4": { "UpgradeTo32": 1 }, - "5": { "UpgradeTo34": 1 }, - "6": { "UpgradeTo35": 1 }, - "7": { "VoiceSpeech": 1 } - }, - "limitations": { - "0": { "AudioInScript": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "SystemLimits": 1 }, - "4": { "UpgradeTo31": 1 } - }, - "limited": { - "0": { "Camera": 1 }, - "1": { "Character": 3 }, - "2": { "ColoursEditor": 1 }, - "3": { "Copyright": 1 }, - "4": { "File": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "InventoryItem": 1 }, - "7": { "UpgradeTo34": 4 }, - "8": { "UpgradeTo341": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "limits": { - "0": { "AudioClip": 1 }, - "1": { "Constants": 1 }, - "2": { "Setup": 3 }, - "3": { "SystemLimits": 2 }, - "4": { "UpgradeTo30": 2 }, - "5": { "UpgradeTo33": 1 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo341": 1 }, - "8": { "UpgradeTo35": 2 }, - "9": { "UpgradeTo36": 1 } - }, - "line": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 3 }, - "4": { "acintro9": 1 }, - "5": { "AutonumberSpeechFiles": 1 }, - "6": { "Character": 12 }, - "7": { "Debuggingfeatures": 6 }, - "8": { "DialogScript": 7 }, - "9": { "DistGame": 1 }, - "10": { "DrawingSurface": 6 }, - "11": { "DynamicSprite": 3 }, - "12": { "EditorCommandLineOptions": 3 }, - "13": { "EditorFont": 2 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorLogPanel": 1 }, - "16": { "EditorPreferences": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "EnginePluginRun-timeAPI": 8 }, - "19": { "FAQ": 1 }, - "20": { "File": 4 }, - "21": { "Game": 3 }, - "22": { "Gamevariables": 1 }, - "23": { "GeneralSettings": 4 }, - "24": { "Globalfunctions_Event": 2 }, - "25": { "Globalfunctions_General": 8 }, - "26": { "Globalfunctions_Room": 1 }, - "27": { "InvWindow": 3 }, - "28": { "KeyboardShortcuts": 4 }, - "29": { "Lipsync": 1 }, - "30": { "Object": 2 }, - "31": { "ObsoleteScriptAPI": 1 }, - "32": { "Room": 1 }, - "33": { "RuntimeEngine": 6 }, - "34": { "ScriptingTutorialPart1": 7 }, - "35": { "ScriptKeywords": 2 }, - "36": { "Settingupthegame": 1 }, - "37": { "Speech": 2 }, - "38": { "StringFormats": 2 }, - "39": { "TextParser": 1 }, - "40": { "Translations": 13 }, - "41": { "Tumbleweed": 3 }, - "42": { "Tumbleweed_door": 2 }, - "43": { "Tumbleweed_translation": 1 }, - "44": { "UpgradeTo31": 1 }, - "45": { "UpgradeTo36": 1 }, - "46": { "UpgradeTo361": 1 }, - "47": { "UpgradingTo27": 2 }, - "48": { "VoiceSpeech": 3 } - }, - "lineNum": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "linear": { - "0": { "EngineConfigFile": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "lined": { - "0": { "acintro2": 1 }, - "1": { "EditorSprite": 1 } - }, - "lines": { - "0": { "acintro2": 3 }, - "1": { "acintro8": 4 }, - "2": { "AutonumberSpeechFiles": 1 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "DialogScript": 5 }, - "5": { "EditorCommandLineOptions": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorFont": 2 }, - "8": { "FAQ": 2 }, - "9": { "File": 2 }, - "10": { "Game": 1 }, - "11": { "Globalfunctions_General": 5 }, - "12": { "KeyboardShortcuts": 2 }, - "13": { "Lipsync": 3 }, - "14": { "Preprocessor": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "Speech": 2 }, - "17": { "Translations": 8 }, - "18": { "Tumbleweed_translation": 1 }, - "19": { "UnicodeSupport": 1 }, - "20": { "UpgradeTo36": 1 } - }, - "link": { - "0": { "Camera": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Game": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "Lipsync": 2 }, - "5": { "Translations": 1 }, - "6": { "UpgradeTo35": 1 }, - "7": { "Viewport": 3 }, - "8": { "VoiceSpeech": 1 } - }, - "linked": { - "0": { "acintro4": 1 }, - "1": { "Camera": 5 }, - "2": { "Character": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Object": 1 }, - "7": { "System": 1 }, - "8": { "Translations": 1 }, - "9": { "UpgradeTo36": 1 }, - "10": { "ViewFrame": 2 }, - "11": { "Viewport": 3 }, - "12": { "VoiceSpeech": 1 } - }, - "links": { - "0": { "Plugins": 1 }, - "1": { "StartingOff": 1 } - }, - "linux": { - "0": { "EngineConfigFile": 1 } - }, - "lip": { - "0": { "Character": 1 }, - "1": { "Lipsync": 7 }, - "2": { "Speech": 1 } - }, - "lip-sync": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Lipsync": 1 } - }, - "lipsync": { - "0": { "Gamevariables": 1 } - }, - "list": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "Character": 4 }, - "10": { "Constants": 3 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "CustomProperties": 1 }, - "13": { "DefaultSetup": 3 }, - "14": { "DialogScript": 5 }, - "15": { "EditorDialog": 2 }, - "16": { "EditorFont": 1 }, - "17": { "EditorGUI": 6 }, - "18": { "EditorPlugins": 1 }, - "19": { "EditorRoom": 1 }, - "20": { "EngineConfigFile": 3 }, - "21": { "EnginePluginDesign-timeAPI": 1 }, - "22": { "EnginePluginRun-timeAPI": 3 }, - "23": { "EnginePlugins": 1 }, - "24": { "EventTypes": 1 }, - "25": { "GameSavesCompatibility": 2 }, - "26": { "GeneralSettings": 3 }, - "27": { "Globalfunctions_Event": 1 }, - "28": { "GUIControl": 3 }, - "29": { "ImportingFunctionsAndVariables": 1 }, - "30": { "InvWindow": 1 }, - "31": { "Keycodes": 2 }, - "32": { "ListBox": 47 }, - "33": { "MultipleScripts": 1 }, - "34": { "MusicAndSound": 1 }, - "35": { "Preprocessor": 1 }, - "36": { "RuntimeEngine": 1 }, - "37": { "ScriptingTutorialPart1": 3 }, - "38": { "ScriptKeywords": 2 }, - "39": { "Settingupthegame": 10 }, - "40": { "Setup": 2 }, - "41": { "Templates": 1 }, - "42": { "TextParser": 4 }, - "43": { "UpgradeTo34": 1 }, - "44": { "UpgradeTo35": 2 }, - "45": { "UpgradeTo36": 4 }, - "46": { "UpgradeTo361": 1 }, - "47": { "UpgradingTo27": 4 } - }, - "listbox": { - "0": { "ListBox": 10 } - }, - "listbox's": { - "0": { "ListBox": 2 } - }, - "listed": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "BackingUpYourGame": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "Button": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EventTypes": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_General": 5 }, - "10": { "Globalfunctions_Wait": 1 }, - "11": { "InvWindow": 1 }, - "12": { "Label": 1 }, - "13": { "Lipsync": 1 }, - "14": { "ListBox": 1 }, - "15": { "Plugins": 1 }, - "16": { "Preprocessor": 1 }, - "17": { "ScriptingTutorialPart1": 2 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Settingupthegame": 2 }, - "20": { "Slider": 1 }, - "21": { "StringFormats": 1 }, - "22": { "System": 1 }, - "23": { "TemplateSierraStyle": 1 }, - "24": { "TextBox": 1 }, - "25": { "TroubleshootingWindowsZoneID": 1 } - }, - "listen": { - "0": { "Lipsync": 1 } - }, - "listing": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "lists": { - "0": { "EditorGUI": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GUIControl": 1 }, - "3": { "Keycodes": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "literal": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "literally": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Preprocessor": 1 } - }, - "literals": { - "0": { "UnicodeSupport": 2 }, - "1": { "UpgradeTo36": 2 } - }, - "little": { - "0": { "acintro1": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Camera": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Globalfunctions_Screen": 2 }, - "5": { "Tumbleweed": 2 }, - "6": { "Tumbleweed_extensions": 3 }, - "7": { "Tumbleweed_translation": 1 }, - "8": { "UnicodeSupport": 1 }, - "9": { "Viewport": 1 } - }, - "live": { - "0": { "GameSavesCompatibility": 1 } - }, - "lo": { - "0": { "String": 1 } - }, - "load": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DistGame": 4 }, - "3": { "DynamicSprite": 6 }, - "4": { "EditorCommandLineOptions": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EngineConfigFile": 3 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 3 }, - "9": { "FAQ": 1 }, - "10": { "Game": 1 }, - "11": { "GameSavesCompatibility": 4 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "ListBox": 1 }, - "15": { "Parser": 2 }, - "16": { "Plugins": 1 }, - "17": { "RuntimeEngine": 1 }, - "18": { "ScriptModules": 1 }, - "19": { "Settingupthegame": 1 }, - "20": { "UpgradeTo34": 1 }, - "21": { "UpgradeTo341": 1 }, - "22": { "UpgradeTo361": 1 } - }, - "load-unloads": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "loaded": { - "0": { "acintro2": 1 }, - "1": { "BuildAndroid": 2 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DynamicSprite": 4 }, - "6": { "EditorPlugins": 1 }, - "7": { "EditorPreferences": 1 }, - "8": { "EditorRoom": 2 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 7 }, - "12": { "EnginePlugins": 1 }, - "13": { "EventTypes": 1 }, - "14": { "FAQ": 1 }, - "15": { "Game": 3 }, - "16": { "GameSavesCompatibility": 1 }, - "17": { "Globalfunctions_Event": 2 }, - "18": { "Globalfunctions_General": 3 }, - "19": { "Screen": 2 }, - "20": { "Settingupthegame": 2 }, - "21": { "Setup": 1 }, - "22": { "TroubleshootingWindowsZoneID": 1 }, - "23": { "UpgradeTo341": 1 }, - "24": { "UpgradeTo361": 1 }, - "25": { "Viewport": 1 } - }, - "loading": { - "0": { "Credits": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DistGame": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Game": 2 }, - "6": { "GameSavesCompatibility": 3 }, - "7": { "GeneralSettings": 1 }, - "8": { "Plugins": 1 }, - "9": { "RuntimeEngine": 1 }, - "10": { "Setup": 1 }, - "11": { "UpgradeTo36": 2 } - }, - "loads": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Maths": 1 }, - "4": { "System": 1 }, - "5": { "UpgradeTo30": 1 }, - "6": { "UpgradeTo31": 1 } - }, - "loadsavedgame": { - "0": { "RuntimeEngine": 1 } - }, - "local": { - "0": { "acintro8": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "DynamicArrays": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "Object": 1 }, - "11": { "ScriptKeywords": 2 }, - "12": { "SystemLimits": 1 }, - "13": { "Viewport": 1 } - }, - "locally": { - "0": { "DefaultSetup": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "GlobalVariables": 1 } - }, - "localuserconf": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "located": { - "0": { "Camera": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "MIDI-playback": 3 }, - "5": { "Templates": 1 }, - "6": { "TroubleshootingWindowsZoneID": 1 }, - "7": { "UnicodeSupport": 1 }, - "8": { "UpgradeTo341": 1 }, - "9": { "UpgradeTo36": 1 }, - "10": { "Viewport": 2 } - }, - "locating": { - "0": { "EditorRoom": 1 } - }, - "location": { - "0": { "acintro7": 2 }, - "1": { "AudioChannel": 1 }, - "2": { "Character": 5 }, - "3": { "DefaultSetup": 2 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 2 }, - "6": { "EditorCommandLineOptions": 1 }, - "7": { "EditorCursor": 1 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "FAQ": 1 }, - "11": { "File": 5 }, - "12": { "Game": 2 }, - "13": { "GeneralSettings": 2 }, - "14": { "Globalfunctions_General": 3 }, - "15": { "Globalfunctions_Message": 2 }, - "16": { "Globalfunctions_Room": 2 }, - "17": { "GUI": 6 }, - "18": { "Label": 2 }, - "19": { "ListBox": 1 }, - "20": { "MIDI-playback": 1 }, - "21": { "Mouse": 1 }, - "22": { "MusicAndSound": 1 }, - "23": { "Object": 2 }, - "24": { "Room": 2 }, - "25": { "RuntimeEngine": 1 }, - "26": { "Screen": 2 }, - "27": { "Settingupthegame": 2 }, - "28": { "Setup": 2 }, - "29": { "TroubleshootingWindowsZoneID": 2 }, - "30": { "Tumbleweed": 2 }, - "31": { "Tumbleweed_extensions": 4 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "UpgradeTo32": 1 }, - "34": { "UpgradeTo335": 7 }, - "35": { "UpgradeTo36": 1 }, - "36": { "Viewport": 2 } - }, - "locations": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "File": 1 }, - "3": { "GlobalVariables": 1 }, - "4": { "UpgradeTo335": 2 } - }, - "lock": { - "0": { "acintro2": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EngineConfigFile": 9 }, - "3": { "Globalfunctions_Room": 3 }, - "4": { "Mouse": 1 }, - "5": { "ScriptAPIOverview": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "Setup": 1 }, - "8": { "System": 1 }, - "9": { "UpgradeTo341": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "lock-ups": { - "0": { "ContactingTheDevelopers": 1 } - }, - "locked": { - "0": { "acintro4": 1 }, - "1": { "Character": 2 }, - "2": { "DefaultSetup": 3 }, - "3": { "EditorRoom": 3 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Palette": 1 }, - "7": { "Mouse": 2 }, - "8": { "Setup": 4 }, - "9": { "System": 1 }, - "10": { "Tumbleweed_door": 4 }, - "11": { "UpgradeTo35": 3 } - }, - "locking": { - "0": { "AudioChannel": 2 }, - "1": { "EditorRoom": 1 } - }, - "locks": { - "0": { "Character": 3 }, - "1": { "EngineConfigFile": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "log": { - "0": { "AudioClip": 1 }, - "1": { "Dialog": 1 }, - "2": { "EditorLogPanel": 7 }, - "3": { "EditorPreferences": 2 }, - "4": { "EngineConfigFile": 4 }, - "5": { "EnginePluginRun-timeAPI": 3 }, - "6": { "File": 5 }, - "7": { "GUIControl": 1 }, - "8": { "Object": 1 }, - "9": { "RuntimeEngine": 9 }, - "10": { "System": 1 } - }, - "logVal": { - "0": { "Maths": 2 } - }, - "logarithm": { - "0": { "Maths": 3 } - }, - "logging": { - "0": { "EngineConfigFile": 2 }, - "1": { "RuntimeEngine": 2 } - }, - "logic": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EditorPlugins": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GeneralSettings": 2 }, - "6": { "Object": 1 }, - "7": { "Pointers": 1 }, - "8": { "UpgradeTo34": 1 }, - "9": { "UpgradeTo36": 1 } - }, - "logical": { - "0": { "GUI": 1 }, - "1": { "Screen": 2 } - }, - "logo": { - "0": { "Globalfunctions_Palette": 1 } - }, - "logs": { - "0": { "File": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "lone": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "long": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "Character": 2 }, - "4": { "DateTime": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "DynamicArrays": 2 }, - "8": { "DynamicSprite": 2 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorView": 1 }, - "11": { "EnginePluginRun-timeAPI": 4 }, - "12": { "Game": 2 }, - "13": { "Gamevariables": 1 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "Mouse": 2 }, - "16": { "Overlay": 2 }, - "17": { "Preprocessor": 1 }, - "18": { "RepExec": 2 }, - "19": { "ScriptingTutorialPart2": 1 }, - "20": { "ScriptKeywords": 5 }, - "21": { "Settingupthegame": 1 }, - "22": { "Setup": 1 }, - "23": { "String": 1 }, - "24": { "Tumbleweed_translation": 1 }, - "25": { "UnicodeSupport": 1 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo35": 1 }, - "28": { "UpgradeTo36": 2 }, - "29": { "UpgradingTo271": 1 } - }, - "long-lasting": { - "0": { "Globalfunctions_Room": 2 }, - "1": { "Hotspot": 1 }, - "2": { "Region": 1 }, - "3": { "Room": 1 } - }, - "longWindedSound": { - "0": { "MusicAndSound": 4 } - }, - "longer": { - "0": { "acintro7": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginRun-timeAPI": 8 }, - "6": { "Game": 1 }, - "7": { "GameSavesCompatibility": 3 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "GUI": 1 }, - "12": { "MIDI-playback": 1 }, - "13": { "MusicAndSound": 1 }, - "14": { "Object": 2 }, - "15": { "OOProgramming": 2 }, - "16": { "Pointers": 3 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptKeywords": 1 }, - "19": { "Settingupthegame": 2 }, - "20": { "System": 2 }, - "21": { "TroubleshootingWindowsZoneID": 1 }, - "22": { "UpgradeTo30": 3 }, - "23": { "UpgradeTo31": 1 }, - "24": { "UpgradeTo34": 3 }, - "25": { "UpgradeTo341": 3 }, - "26": { "UpgradeTo35": 6 }, - "27": { "UpgradingTo27": 2 }, - "28": { "UpgradingTo271": 1 } - }, - "longest": { - "0": { "Lipsync": 1 } - }, - "look": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 2 }, - "7": { "acintro8": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "Character": 3 }, - "10": { "ColoursEditor": 1 }, - "11": { "DefaultSetup": 3 }, - "12": { "DialogOptionsRenderingInfo": 1 }, - "13": { "Dictionary": 1 }, - "14": { "DynamicSprite": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorPreferences": 1 }, - "18": { "EditorSprite": 1 }, - "19": { "EventTypes": 4 }, - "20": { "ExtenderFunctions": 1 }, - "21": { "FAQ": 1 }, - "22": { "Game": 1 }, - "23": { "GameSavesCompatibility": 1 }, - "24": { "GeneralSettings": 4 }, - "25": { "Globalfunctions_General": 1 }, - "26": { "Globalfunctions_Message": 1 }, - "27": { "Mouse": 1 }, - "28": { "Object": 1 }, - "29": { "Parser": 1 }, - "30": { "Pointers": 2 }, - "31": { "RuntimeEngine": 1 }, - "32": { "ScriptingTutorialPart1": 8 }, - "33": { "ScriptingTutorialPart2": 3 }, - "34": { "ScriptKeywords": 1 }, - "35": { "Set": 1 }, - "36": { "Settingupthegame": 5 }, - "37": { "Setup": 3 }, - "38": { "SourceControl": 1 }, - "39": { "TemplateBASS": 5 }, - "40": { "TextParser": 13 }, - "41": { "Tumbleweed": 7 }, - "42": { "Tumbleweed_door": 4 }, - "43": { "Tumbleweed_extensions": 5 }, - "44": { "Tumbleweed_movement": 2 }, - "45": { "Tumbleweed_player": 1 }, - "46": { "Tumbleweed_translation": 5 }, - "47": { "Tumbleweed_unhandled": 1 }, - "48": { "UpgradeTo32": 1 }, - "49": { "UpgradeTo335": 2 }, - "50": { "UpgradeTo36": 2 }, - "51": { "UpgradeTo361": 1 }, - "52": { "UpgradingTo27": 2 } - }, - "lookForText": { - "0": { "String": 7 } - }, - "lookat": { - "0": { "Tumbleweed_movement": 2 } - }, - "looking": { - "0": { "acintro5": 1 }, - "1": { "acintro6": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 2 }, - "4": { "FAQ": 1 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_General": 3 }, - "7": { "Globalfunctions_Message": 1 }, - "8": { "Globalfunctions_Room": 2 }, - "9": { "Hotspot": 1 }, - "10": { "InventoryItem": 1 }, - "11": { "Object": 2 }, - "12": { "Parser": 1 }, - "13": { "Room": 1 }, - "14": { "TroubleshootingWindowsZoneID": 1 }, - "15": { "UpgradingTo27": 2 } - }, - "looks": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "Button": 1 }, - "7": { "Character": 2 }, - "8": { "DialogOptionsRenderingInfo": 1 }, - "9": { "DialogScript": 3 }, - "10": { "EditorGUI": 2 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EventTypes": 1 }, - "13": { "GeneralSettings": 6 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "ImportingFunctionsAndVariables": 2 }, - "16": { "Mouse": 2 }, - "17": { "Overlay": 2 }, - "18": { "Pointers": 1 }, - "19": { "ScriptingTutorialPart1": 3 }, - "20": { "ScriptKeywords": 1 }, - "21": { "Settingupthegame": 2 }, - "22": { "Templates": 1 }, - "23": { "Tumbleweed": 1 }, - "24": { "Tumbleweed_door": 1 }, - "25": { "Tumbleweed_unhandled": 1 }, - "26": { "Viewport": 1 } - }, - "loop": { - "0": { "acintro7": 7 }, - "1": { "acintro9": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "Button": 5 }, - "4": { "Character": 25 }, - "5": { "DateTime": 1 }, - "6": { "DialogOptionsRenderingInfo": 2 }, - "7": { "DynamicSprite": 2 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorView": 20 }, - "10": { "EnginePluginRun-timeAPI": 8 }, - "11": { "ExtenderFunctions": 2 }, - "12": { "Game": 12 }, - "13": { "GameEventsOrder": 3 }, - "14": { "Gamevariables": 2 }, - "15": { "Globalfunctions_General": 3 }, - "16": { "Globalfunctions_Wait": 2 }, - "17": { "GUI": 1 }, - "18": { "GUIControl": 1 }, - "19": { "Lipsync": 2 }, - "20": { "Object": 15 }, - "21": { "ObsoleteScriptAPI": 1 }, - "22": { "OOProgramming": 1 }, - "23": { "RepExec": 2 }, - "24": { "ScriptingTutorialPart2": 6 }, - "25": { "ScriptKeywords": 18 }, - "26": { "Settingupthegame": 9 }, - "27": { "System": 1 }, - "28": { "UpgradeTo32": 1 }, - "29": { "UpgradeTo34": 3 }, - "30": { "ViewFrame": 5 } - }, - "loop's": { - "0": { "Button": 1 }, - "1": { "Character": 1 }, - "2": { "Object": 1 } - }, - "looped": { - "0": { "Character": 1 } - }, - "looping": { - "0": { "DistGame": 1 } - }, - "loops": { - "0": { "acintro": 1 }, - "1": { "acintro7": 2 }, - "2": { "AudioChannel": 2 }, - "3": { "Character": 9 }, - "4": { "Game": 4 }, - "5": { "GameEventsOrder": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Screen": 1 }, - "10": { "Globalfunctions_Wait": 6 }, - "11": { "Lipsync": 1 }, - "12": { "ScriptingTutorialPart2": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "Settingupthegame": 9 }, - "15": { "Speech": 3 }, - "16": { "UpgradeTo32": 1 } - }, - "loose": { - "0": { "DynamicArrays": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "SystemLimits": 1 } - }, - "loosened": { - "0": { "SystemLimits": 1 } - }, - "lose": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "ScriptAPIOverview": 1 } - }, - "losing": { - "0": { "EditorSprite": 1 }, - "1": { "OOProgramming": 1 } - }, - "loss": { - "0": { "Mouse": 1 } - }, - "lossy": { - "0": { "DynamicSprite": 1 } - }, - "lost": { - "0": { "BackingUpYourGame": 1 }, - "1": { "Character": 1 }, - "2": { "DrawingSurface": 2 }, - "3": { "DynamicArrays": 2 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_Event": 2 }, - "8": { "Globalfunctions_Room": 2 }, - "9": { "Hotspot": 1 }, - "10": { "Region": 1 }, - "11": { "Room": 1 } - }, - "lostmarble": { - "0": { "Lipsync": 1 } - }, - "lot": { - "0": { "acintro8": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorView": 2 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "GraphicsDriver": 1 }, - "10": { "MusicAndSound": 2 }, - "11": { "ScriptingTutorialPart2": 2 }, - "12": { "Settingupthegame": 1 }, - "13": { "SystemLimits": 1 }, - "14": { "TextParser": 1 }, - "15": { "Translations": 1 }, - "16": { "Tumbleweed": 1 }, - "17": { "Tumbleweed_door": 1 }, - "18": { "UpgradeTo35": 2 }, - "19": { "UpgradingTo27": 1 } - }, - "lots": { - "0": { "acintro7": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "CustomProperties": 1 }, - "3": { "DistGame": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "louder": { - "0": { "Character": 1 } - }, - "loudest": { - "0": { "Game": 1 }, - "1": { "Multimedia": 1 } - }, - "love": { - "0": { "TextParser": 2 } - }, - "low": { - "0": { "acintro6": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "System": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "low-detailed": { - "0": { "GeneralSettings": 1 } - }, - "low-res": { - "0": { "DrawingSurface": 2 }, - "1": { "EngineConfigFile": 2 }, - "2": { "FAQ": 1 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 2 }, - "5": { "UpgradeTo31": 4 }, - "6": { "UpgradeTo35": 7 } - }, - "low-resolution": { - "0": { "DefaultSetup": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "GeneralSettings": 3 }, - "3": { "GraphicsDriver": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Setup": 2 }, - "6": { "UpgradeTo35": 1 } - }, - "lower": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 2 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorFont": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EnginePluginRun-timeAPI": 3 }, - "6": { "FAQ": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Message": 1 }, - "10": { "GUI": 4 }, - "11": { "GUIControl": 1 }, - "12": { "Multimedia": 2 }, - "13": { "Object": 1 }, - "14": { "Overlay": 1 }, - "15": { "ScriptAPIOverview": 1 }, - "16": { "Settingupthegame": 2 }, - "17": { "Slider": 1 }, - "18": { "String": 1 }, - "19": { "Viewport": 1 } - }, - "lower-left": { - "0": { "Object": 1 } - }, - "lowercased": { - "0": { "String": 2 } - }, - "lowering": { - "0": { "GeneralSettings": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "lowest": { - "0": { "acintro2": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "lpEditor": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "lpGame": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "lstChoices": { - "0": { "ListBox": 4 } - }, - "lstNoteBook": { - "0": { "ListBox": 2 } - }, - "lstOptions": { - "0": { "ListBox": 6 } - }, - "lstSaveGames": { - "0": { "GUIControl": 1 }, - "1": { "ListBox": 16 } - }, - "lstSaves": { - "0": { "GUIControl": 7 }, - "1": { "UpgradingTo27": 2 } - }, - "lstTest": { - "0": { "ListBox": 7 }, - "1": { "UpgradingTo27": 1 } - }, - "luminance": { - "0": { "Character": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Object": 2 }, - "4": { "Region": 3 } - }, - "lunges": { - "0": { "Room": 1 } - }, - "lying": { - "0": { "acintro4": 1 } - }, - "mac": { - "0": { "EngineConfigFile": 1 } - }, - "macOS": { - "0": { "MIDI-playback": 1 } - }, - "machine": { - "0": { "DefaultSetup": 1 }, - "1": { "Parser": 3 } - }, - "macro": { - "0": { "Constants": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "Preprocessor": 13 }, - "3": { "ScriptAPIOverview": 1 } - }, - "macro's": { - "0": { "Preprocessor": 1 } - }, - "macros": { - "0": { "Constants": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Preprocessor": 2 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "TheScriptHeader": 1 } - }, - "made": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro8": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "Character": 1 }, - "5": { "ColoursEditor": 1 }, - "6": { "DistGame": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorRoom": 2 }, - "9": { "FAQ": 1 }, - "10": { "GameSavesCompatibility": 3 }, - "11": { "GeneralSettings": 3 }, - "12": { "Globalfunctions_Palette": 1 }, - "13": { "Hotspot": 1 }, - "14": { "RuntimeEngine": 1 }, - "15": { "ScriptAPIOverview": 1 }, - "16": { "ScriptingTutorialPart1": 1 }, - "17": { "Settingupthegame": 1 }, - "18": { "System": 1 }, - "19": { "UnicodeSupport": 2 }, - "20": { "UpgradeTo31": 1 }, - "21": { "UpgradeTo341": 2 }, - "22": { "UpgradeTo35": 3 }, - "23": { "UpgradeTo36": 2 } - }, - "magic": { - "0": { "acintro4": 1 } - }, - "main": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro7": 2 }, - "4": { "AdvancedRoomFeatures": 3 }, - "5": { "BackingUpYourGame": 1 }, - "6": { "Character": 3 }, - "7": { "ColoursEditor": 1 }, - "8": { "Constants": 1 }, - "9": { "ContactingTheDevelopers": 1 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "DialogScript": 1 }, - "12": { "DistGame": 5 }, - "13": { "DynamicSprite": 1 }, - "14": { "EditorFont": 2 }, - "15": { "EditorGUI": 3 }, - "16": { "EditorPlugins": 6 }, - "17": { "EditorSprite": 1 }, - "18": { "EngineConfigFile": 2 }, - "19": { "EnginePluginDesign-timeAPI": 2 }, - "20": { "EnginePluginRun-timeAPI": 5 }, - "21": { "FAQ": 6 }, - "22": { "Game": 1 }, - "23": { "GeneralSettings": 4 }, - "24": { "Globalfunctions_Room": 4 }, - "25": { "GraphicsDriver": 1 }, - "26": { "InventoryItem": 1 }, - "27": { "MultipleScripts": 1 }, - "28": { "MusicAndSound": 1 }, - "29": { "Plugins": 1 }, - "30": { "Pointers": 2 }, - "31": { "RepExec": 1 }, - "32": { "RuntimeEngine": 2 }, - "33": { "ScriptingTutorialPart1": 4 }, - "34": { "ScriptKeywords": 1 }, - "35": { "Settingupthegame": 6 }, - "36": { "SourceControl": 1 }, - "37": { "TemplateSierraStyle": 1 }, - "38": { "TemplateVerbcoin": 1 }, - "39": { "Tumbleweed": 1 }, - "40": { "Tumbleweed_door": 1 }, - "41": { "UpgradeTo30": 1 }, - "42": { "UpgradeTo31": 2 }, - "43": { "UpgradeTo32": 1 }, - "44": { "UpgradingTo27": 1 } - }, - "mainBackground": { - "0": { "DrawingSurface": 3 } - }, - "mainly": { - "0": { "Dialog": 1 }, - "1": { "EditorFont": 1 }, - "2": { "Game": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "System": 1 }, - "6": { "Tumbleweed_actions": 1 } - }, - "maintain": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Multimedia": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "maintained": { - "0": { "UpgradeTo361": 1 } - }, - "maintaining": { - "0": { "Multimedia": 1 } - }, - "maintains": { - "0": { "DrawingSurface": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "major": { - "0": { "UpgradeTo31": 2 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "majority": { - "0": { "Character": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "MIDI-playback": 1 }, - "3": { "SystemLimits": 1 }, - "4": { "TemplateSierraStyle": 2 } - }, - "make": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 6 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 2 }, - "9": { "AnonymousUsageInfo": 2 }, - "10": { "AudioChannel": 2 }, - "11": { "BackingUpYourGame": 1 }, - "12": { "BlockingScripts": 2 }, - "13": { "BuildAndroid": 1 }, - "14": { "Button": 2 }, - "15": { "Camera": 1 }, - "16": { "Character": 20 }, - "17": { "ColoursEditor": 1 }, - "18": { "ContactingTheDevelopers": 1 }, - "19": { "CustomDialogOptions": 2 }, - "20": { "Debuggingfeatures": 1 }, - "21": { "DefaultSetup": 1 }, - "22": { "Dictionary": 1 }, - "23": { "DistGame": 2 }, - "24": { "DrawingSurface": 1 }, - "25": { "DynamicArrays": 1 }, - "26": { "DynamicSprite": 3 }, - "27": { "EditorCursor": 1 }, - "28": { "EditorDialog": 1 }, - "29": { "EditorFont": 2 }, - "30": { "EditorGUI": 3 }, - "31": { "EditorPlugins": 2 }, - "32": { "EditorRoom": 1 }, - "33": { "EditorView": 1 }, - "34": { "EnginePluginDesign-timeAPI": 1 }, - "35": { "EnginePluginRun-timeAPI": 12 }, - "36": { "ExtenderFunctions": 1 }, - "37": { "FAQ": 15 }, - "38": { "File": 1 }, - "39": { "Game": 1 }, - "40": { "GameSavesCompatibility": 3 }, - "41": { "Gamevariables": 1 }, - "42": { "GeneralSettings": 7 }, - "43": { "GlobalArrays": 1 }, - "44": { "Globalfunctions_General": 3 }, - "45": { "Globalfunctions_Palette": 1 }, - "46": { "Globalfunctions_Room": 6 }, - "47": { "GUI": 3 }, - "48": { "GUIControl": 3 }, - "49": { "Hotspot": 2 }, - "50": { "Keycodes": 1 }, - "51": { "Lipsync": 1 }, - "52": { "ListBox": 2 }, - "53": { "MIDI-playback": 1 }, - "54": { "Mouse": 4 }, - "55": { "Multimedia": 2 }, - "56": { "MusicAndSound": 4 }, - "57": { "Object": 7 }, - "58": { "OOProgramming": 3 }, - "59": { "Overlay": 6 }, - "60": { "Plugins": 1 }, - "61": { "Pointers": 2 }, - "62": { "Region": 2 }, - "63": { "RepExec": 2 }, - "64": { "Room": 3 }, - "65": { "RuntimeEngine": 1 }, - "66": { "ScriptingTutorialPart1": 3 }, - "67": { "ScriptKeywords": 3 }, - "68": { "Set": 1 }, - "69": { "Settingupthegame": 5 }, - "70": { "Setup": 1 }, - "71": { "Speech": 2 }, - "72": { "Templates": 5 }, - "73": { "TextParser": 2 }, - "74": { "Translations": 7 }, - "75": { "Tumbleweed": 2 }, - "76": { "Tumbleweed_extensions": 1 }, - "77": { "Tumbleweed_player": 1 }, - "78": { "Tumbleweed_translation": 1 }, - "79": { "Tumbleweed_unhandled": 1 }, - "80": { "UnicodeSupport": 2 }, - "81": { "UpgradeTo31": 1 }, - "82": { "UpgradeTo335": 1 }, - "83": { "UpgradeTo34": 2 }, - "84": { "UpgradeTo341": 1 }, - "85": { "UpgradeTo35": 5 }, - "86": { "UpgradeTo36": 2 }, - "87": { "UpgradingTo27": 1 }, - "88": { "Viewport": 3 } - }, - "makearr": { - "0": { "DynamicArrays": 2 } - }, - "makes": { - "0": { "acintro7": 2 }, - "1": { "Character": 2 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorFont": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 2 }, - "10": { "InvWindow": 1 }, - "11": { "Mouse": 1 }, - "12": { "MusicAndSound": 2 }, - "13": { "OOProgramming": 1 }, - "14": { "Overlay": 2 }, - "15": { "Pointers": 1 }, - "16": { "ScriptingTutorialPart2": 1 }, - "17": { "ScriptKeywords": 1 }, - "18": { "Settingupthegame": 1 }, - "19": { "Speech": 1 }, - "20": { "TemplateSierraStyle": 2 }, - "21": { "TextParser": 1 }, - "22": { "Translations": 1 }, - "23": { "Tumbleweed_actions": 2 }, - "24": { "Tumbleweed_player": 1 }, - "25": { "Tumbleweed_unhandled": 1 }, - "26": { "UpgradeTo32": 1 }, - "27": { "UpgradeTo35": 1 }, - "28": { "UpgradeTo36": 1 }, - "29": { "VoiceSpeech": 1 } - }, - "making": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "ColoursEditor": 1 }, - "6": { "CustomProperties": 1 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "DistGame": 1 }, - "10": { "EditorPlugins": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "FAQ": 2 }, - "13": { "Game": 1 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 3 }, - "16": { "OOProgramming": 1 }, - "17": { "Pointers": 1 }, - "18": { "Preprocessor": 1 }, - "19": { "ScriptKeywords": 1 }, - "20": { "Setup": 1 }, - "21": { "System": 2 }, - "22": { "TemplateBASS": 1 }, - "23": { "UnicodeSupport": 1 }, - "24": { "UpgradeTo31": 2 }, - "25": { "UpgradeTo32": 1 } - }, - "mammoth": { - "0": { "UpgradeTo31": 1 } - }, - "man": { - "0": { "DialogScript": 3 }, - "1": { "GeneralSettings": 2 }, - "2": { "Globalfunctions_General": 1 } - }, - "manage": { - "0": { "acintro2": 1 }, - "1": { "Camera": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Screen": 1 }, - "4": { "ScriptModules": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo32": 1 }, - "7": { "Viewport": 1 } - }, - "managed": { - "0": { "acintro7": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DynamicArrays": 3 }, - "3": { "EnginePluginRun-timeAPI": 15 }, - "4": { "GameSavesCompatibility": 16 }, - "5": { "GlobalVariables": 1 }, - "6": { "Pointers": 5 }, - "7": { "ScriptKeywords": 15 }, - "8": { "Settingupthegame": 1 }, - "9": { "StandardTypes": 2 }, - "10": { "TemplateBASS": 1 }, - "11": { "UpgradeTo34": 3 } - }, - "management": { - "0": { "Pointers": 2 }, - "1": { "TemplateBASS": 1 } - }, - "manager": { - "0": { "acintro4": 2 }, - "1": { "acintro6": 1 }, - "2": { "acintro7": 2 }, - "3": { "BackingUpYourGame": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorSprite": 2 }, - "6": { "EditorView": 1 }, - "7": { "Mouse": 1 }, - "8": { "ScriptModules": 1 } - }, - "manager's": { - "0": { "Object": 1 } - }, - "manages": { - "0": { "DynamicSprite": 1 } - }, - "managing": { - "0": { "EditorGUI": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "TemplateVerbcoin": 1 } - }, - "mandatory": { - "0": { "ScriptKeywords": 1 } - }, - "manipulate": { - "0": { "EditorGUI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "UpgradingTo271": 1 } - }, - "manipulates": { - "0": { "Settingupthegame": 1 } - }, - "manipulation": { - "0": { "Copyright": 1 } - }, - "manipulations": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "manner": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "Game": 1 }, - "2": { "Pointers": 1 } - }, - "manobj": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "manual": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "ContactingTheDevelopers": 4 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 3 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "Introduction": 1 }, - "7": { "Pointers": 1 }, - "8": { "ScriptingTutorialPart1": 4 }, - "9": { "ScriptingTutorialPart2": 3 }, - "10": { "StandardEnums": 1 }, - "11": { "Tumbleweed": 2 }, - "12": { "UpgradeTo36": 1 }, - "13": { "UpgradingTo27": 1 }, - "14": { "UpgradingTo271": 1 } - }, - "manually": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "Camera": 1 }, - "5": { "Character": 4 }, - "6": { "EditorFont": 1 }, - "7": { "EditorView": 1 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "EventTypes": 1 }, - "10": { "Game": 1 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "GlobalVariables": 1 }, - "14": { "Mouse": 1 }, - "15": { "Object": 4 }, - "16": { "TemplateBASS": 1 }, - "17": { "Translations": 1 }, - "18": { "TroubleshootingWindowsZoneID": 1 }, - "19": { "Tumbleweed": 1 } - }, - "many": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "AnonymousUsageInfo": 3 }, - "5": { "Character": 2 }, - "6": { "ColoursEditor": 1 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "Credits": 2 }, - "9": { "DynamicArrays": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EditorPreferences": 1 }, - "12": { "EditorSprite": 2 }, - "13": { "EditorView": 2 }, - "14": { "EnginePluginRun-timeAPI": 6 }, - "15": { "FAQ": 1 }, - "16": { "Game": 3 }, - "17": { "GraphicsDriver": 2 }, - "18": { "InvWindow": 2 }, - "19": { "Lipsync": 2 }, - "20": { "ListBox": 1 }, - "21": { "MusicAndSound": 3 }, - "22": { "Pointers": 2 }, - "23": { "Preprocessor": 1 }, - "24": { "ScriptingTutorialPart1": 2 }, - "25": { "ScriptingTutorialPart2": 3 }, - "26": { "ScriptKeywords": 1 }, - "27": { "Settingupthegame": 1 }, - "28": { "String": 1 }, - "29": { "StringFormats": 2 }, - "30": { "SystemLimits": 1 }, - "31": { "SystemRequirements": 2 }, - "32": { "Tumbleweed_helper": 1 } - }, - "map": { - "0": { "ListBox": 1 } - }, - "mapped": { - "0": { "EditorCharacter": 1 } - }, - "mapping": { - "0": { "MIDI-playback": 1 }, - "1": { "Translations": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "maps": { - "0": { "EngineConfigFile": 1 } - }, - "margin": { - "0": { "Speech": 1 } - }, - "mark": { - "0": { "acintro3": 1 }, - "1": { "Dialog": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Preprocessor": 1 } - }, - "marked": { - "0": { "acintro1": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "Dialog": 2 }, - "5": { "DistGame": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Mouse": 2 }, - "8": { "UpgradeTo35": 1 } - }, - "marker": { - "0": { "acintro3": 2 }, - "1": { "acintro5": 3 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "GeneralSettings": 8 } - }, - "marks": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "Translations": 1 } - }, - "mask": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 3 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorRoom": 5 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "GeneralSettings": 3 }, - "6": { "Globalfunctions_General": 3 }, - "7": { "Globalfunctions_Room": 8 }, - "8": { "Hotspot": 5 }, - "9": { "Region": 5 }, - "10": { "TemplateBASS": 1 }, - "11": { "UpgradeTo35": 7 } - }, - "mask-type": { - "0": { "EditorRoom": 1 } - }, - "masked": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "masks": { - "0": { "acintro3": 1 }, - "1": { "EditorRoom": 3 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Keycodes": 2 }, - "7": { "StandardEnums": 1 }, - "8": { "UpgradeTo35": 7 } - }, - "massive": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "UpgradeTo30": 1 } - }, - "master": { - "0": { "System": 1 } - }, - "masterkey": { - "0": { "Tumbleweed_door": 1 } - }, - "match": { - "0": { "Button": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "Dictionary": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "FAQ": 2 }, - "9": { "Globalfunctions_Room": 2 }, - "10": { "GUI": 1 }, - "11": { "Hotspot": 1 }, - "12": { "ImportingFunctionsAndVariables": 1 }, - "13": { "Lipsync": 1 }, - "14": { "Region": 1 }, - "15": { "Screen": 1 }, - "16": { "ScriptKeywords": 7 }, - "17": { "Set": 1 }, - "18": { "StandardEnums": 1 }, - "19": { "String": 11 }, - "20": { "TextParser": 6 }, - "21": { "UnicodeSupport": 1 }, - "22": { "UpgradeTo35": 1 } - }, - "matched": { - "0": { "Globalfunctions_General": 2 } - }, - "matches": { - "0": { "Lipsync": 1 }, - "1": { "Parser": 1 }, - "2": { "Screen": 2 }, - "3": { "String": 1 }, - "4": { "Translations": 2 }, - "5": { "UpgradeTo35": 1 } - }, - "matching": { - "0": { "DefaultSetup": 1 }, - "1": { "Game": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "ListBox": 1 }, - "4": { "Room": 1 }, - "5": { "ScriptKeywords": 2 }, - "6": { "UpgradeTo335": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "material": { - "0": { "Copyright": 1 } - }, - "matrix": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "matrixes": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "matter": { - "0": { "acintro4": 1 }, - "1": { "Character": 1 }, - "2": { "FAQ": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "GraphicsDriver": 1 }, - "7": { "Preprocessor": 1 }, - "8": { "RepExec": 1 }, - "9": { "ScriptKeywords": 1 }, - "10": { "Tumbleweed_extensions": 1 } - }, - "max": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EngineConfigFile": 5 }, - "2": { "Gamevariables": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "OOProgramming": 1 }, - "6": { "RuntimeEngine": 2 }, - "7": { "Setup": 2 }, - "8": { "String": 2 }, - "9": { "SystemLimits": 1 } - }, - "maximal": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Object": 1 }, - "6": { "Setup": 1 }, - "7": { "UpgradeTo33": 1 }, - "8": { "UpgradeTo34": 2 }, - "9": { "UpgradeTo341": 1 } - }, - "maximum": { - "0": { "acintro6": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Camera": 1 }, - "3": { "Constants": 4 }, - "4": { "DefaultSetup": 3 }, - "5": { "EditorGUI": 2 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Message": 1 }, - "10": { "Label": 1 }, - "11": { "Setup": 2 }, - "12": { "Slider": 3 }, - "13": { "SystemLimits": 1 } - }, - "maximums": { - "0": { "SystemLimits": 1 } - }, - "may": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 2 }, - "3": { "acintro5": 3 }, - "4": { "acintro6": 3 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 2 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioClip": 6 }, - "11": { "AudioInScript": 3 }, - "12": { "BuildAndroid": 1 }, - "13": { "Camera": 13 }, - "14": { "Character": 16 }, - "15": { "ColoursEditor": 1 }, - "16": { "CustomDialogOptions": 7 }, - "17": { "DefaultSetup": 5 }, - "18": { "Dialog": 4 }, - "19": { "DialogOptionsRenderingInfo": 1 }, - "20": { "DialogScript": 1 }, - "21": { "Dictionary": 3 }, - "22": { "DistGame": 5 }, - "23": { "DrawingSurface": 1 }, - "24": { "DynamicArrays": 5 }, - "25": { "DynamicSprite": 6 }, - "26": { "EditorCharacter": 1 }, - "27": { "EditorCommandLineOptions": 1 }, - "28": { "EditorCursor": 1 }, - "29": { "EditorDialog": 3 }, - "30": { "EditorFont": 1 }, - "31": { "EditorGUI": 4 }, - "32": { "EditorPlugins": 2 }, - "33": { "EditorPreferences": 1 }, - "34": { "EditorRoom": 5 }, - "35": { "EditorSprite": 6 }, - "36": { "EngineConfigFile": 8 }, - "37": { "EnginePluginDesign-timeAPI": 1 }, - "38": { "EnginePluginRun-timeAPI": 25 }, - "39": { "EventTypes": 6 }, - "40": { "ExtenderFunctions": 4 }, - "41": { "FAQ": 11 }, - "42": { "File": 6 }, - "43": { "Game": 13 }, - "44": { "GameEventsOrder": 2 }, - "45": { "GameSavesCompatibility": 32 }, - "46": { "GeneralSettings": 16 }, - "47": { "GlobalArrays": 1 }, - "48": { "Globalfunctions_Event": 9 }, - "49": { "Globalfunctions_General": 7 }, - "50": { "Globalfunctions_Message": 2 }, - "51": { "Globalfunctions_Room": 2 }, - "52": { "Globalfunctions_Screen": 2 }, - "53": { "Globalfunctions_Wait": 3 }, - "54": { "GraphicsDriver": 5 }, - "55": { "GUI": 8 }, - "56": { "GUIControl": 6 }, - "57": { "Hotspot": 5 }, - "58": { "ImportingFunctionsAndVariables": 3 }, - "59": { "InventoryItem": 5 }, - "60": { "InvWindow": 1 }, - "61": { "Keycodes": 3 }, - "62": { "Label": 1 }, - "63": { "ListBox": 3 }, - "64": { "MIDI-playback": 1 }, - "65": { "Mouse": 4 }, - "66": { "Multimedia": 1 }, - "67": { "MusicAndSound": 1 }, - "68": { "Object": 12 }, - "69": { "OOProgramming": 1 }, - "70": { "Overlay": 7 }, - "71": { "Plugins": 1 }, - "72": { "Pointers": 6 }, - "73": { "Preprocessor": 7 }, - "74": { "Region": 1 }, - "75": { "RepExec": 1 }, - "76": { "RuntimeEngine": 2 }, - "77": { "Screen": 2 }, - "78": { "ScriptingTutorialPart1": 2 }, - "79": { "ScriptingTutorialPart2": 6 }, - "80": { "ScriptKeywords": 12 }, - "81": { "Set": 1 }, - "82": { "Settingupthegame": 13 }, - "83": { "Setup": 7 }, - "84": { "Speech": 1 }, - "85": { "StandardEnums": 3 }, - "86": { "StringFormats": 1 }, - "87": { "System": 6 }, - "88": { "SystemLimits": 1 }, - "89": { "Templates": 2 }, - "90": { "TextWindowGUI": 1 }, - "91": { "TheScriptHeader": 1 }, - "92": { "Translations": 6 }, - "93": { "TroubleshootingWindowsZoneID": 3 }, - "94": { "UnicodeSupport": 6 }, - "95": { "UpgradeTo31": 1 }, - "96": { "UpgradeTo33": 4 }, - "97": { "UpgradeTo34": 9 }, - "98": { "UpgradeTo35": 18 }, - "99": { "UpgradeTo36": 17 }, - "100": { "UpgradeTo361": 4 }, - "101": { "UpgradingTo27": 1 }, - "102": { "UpgradingTo271": 1 }, - "103": { "ViewFrame": 1 }, - "104": { "Viewport": 14 } - }, - "maybe": { - "0": { "GameSavesCompatibility": 1 } - }, - "me": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 2 }, - "3": { "Character": 2 }, - "4": { "FAQ": 1 }, - "5": { "RepExec": 1 }, - "6": { "Tumbleweed": 2 } - }, - "mean": { - "0": { "acintro3": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 6 }, - "3": { "FAQ": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Globalfunctions_Screen": 1 }, - "7": { "Lipsync": 1 }, - "8": { "Object": 2 }, - "9": { "Pointers": 1 }, - "10": { "ScriptingTutorialPart1": 6 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 2 }, - "13": { "System": 1 }, - "14": { "TextParser": 1 }, - "15": { "UpgradeTo30": 1 }, - "16": { "UpgradingTo27": 2 }, - "17": { "UpgradingTo271": 1 } - }, - "meaning": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 2 }, - "3": { "DialogScript": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorRoom": 2 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "Object": 1 }, - "11": { "Plugins": 1 }, - "12": { "Region": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "StringFormats": 4 }, - "15": { "System": 1 }, - "16": { "UpgradeTo36": 3 }, - "17": { "Viewport": 1 } - }, - "meaningful": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "meaningless": { - "0": { "Character": 5 }, - "1": { "Object": 5 }, - "2": { "Region": 5 } - }, - "meanings": { - "0": { "EditorCursor": 1 }, - "1": { "Multimedia": 2 }, - "2": { "Settingupthegame": 1 }, - "3": { "TextParser": 1 } - }, - "means": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro9": 2 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "BlockingScripts": 2 }, - "6": { "Button": 1 }, - "7": { "Character": 12 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DefaultSetup": 1 }, - "10": { "Dictionary": 1 }, - "11": { "DistGame": 1 }, - "12": { "DrawingSurface": 4 }, - "13": { "DynamicSprite": 2 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorSprite": 1 }, - "16": { "EngineConfigFile": 2 }, - "17": { "EnginePluginRun-timeAPI": 7 }, - "18": { "EnginePlugins": 1 }, - "19": { "ExtenderFunctions": 1 }, - "20": { "File": 1 }, - "21": { "Game": 3 }, - "22": { "GameSavesCompatibility": 1 }, - "23": { "GeneralSettings": 4 }, - "24": { "Globalfunctions_General": 4 }, - "25": { "Globalfunctions_Message": 1 }, - "26": { "Globalfunctions_Room": 2 }, - "27": { "GraphicsDriver": 1 }, - "28": { "GUI": 1 }, - "29": { "GUIControl": 4 }, - "30": { "InventoryItem": 3 }, - "31": { "Maths": 1 }, - "32": { "MusicAndSound": 1 }, - "33": { "Object": 5 }, - "34": { "OOProgramming": 1 }, - "35": { "Preprocessor": 2 }, - "36": { "RepExec": 1 }, - "37": { "RuntimeEngine": 1 }, - "38": { "ScriptAPIOverview": 1 }, - "39": { "ScriptingTutorialPart1": 7 }, - "40": { "ScriptingTutorialPart2": 2 }, - "41": { "ScriptKeywords": 4 }, - "42": { "Settingupthegame": 6 }, - "43": { "Setup": 1 }, - "44": { "String": 2 }, - "45": { "StringFormats": 1 }, - "46": { "TemplateBASS": 1 }, - "47": { "TheScriptHeader": 1 }, - "48": { "Translations": 1 }, - "49": { "Tumbleweed_movement": 1 }, - "50": { "Tumbleweed_translation": 1 }, - "51": { "UnicodeSupport": 1 }, - "52": { "UpgradeTo30": 1 }, - "53": { "UpgradeTo31": 2 }, - "54": { "UpgradeTo32": 1 }, - "55": { "UpgradeTo35": 3 }, - "56": { "UpgradeTo36": 1 }, - "57": { "UpgradingTo27": 1 }, - "58": { "UpgradingTo271": 1 } - }, - "meant": { - "0": { "ColoursEditor": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "EditorFont": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "EventTypes": 1 }, - "6": { "Game": 1 }, - "7": { "GeneralSettings": 2 }, - "8": { "ImportingFunctionsAndVariables": 1 }, - "9": { "Object": 1 }, - "10": { "ScriptKeywords": 1 }, - "11": { "System": 1 }, - "12": { "UpgradeTo34": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "meanwhile": { - "0": { "Character": 1 } - }, - "measured": { - "0": { "EditorInventoryItems": 2 } - }, - "measurements": { - "0": { "DrawingSurface": 1 } - }, - "mechanics": { - "0": { "GeneralSettings": 1 }, - "1": { "Templates": 1 } - }, - "mechanism": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "medium": { - "0": { "Globalfunctions_General": 1 } - }, - "meets": { - "0": { "ContactingTheDevelopers": 1 } - }, - "megabytes": { - "0": { "DefaultSetup": 3 } - }, - "member": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "OOProgramming": 1 }, - "3": { "Pointers": 2 }, - "4": { "ScriptKeywords": 3 }, - "5": { "UpgradeTo34": 1 }, - "6": { "UpgradingTo27": 1 } - }, - "members": { - "0": { "DynamicArrays": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Keycodes": 1 }, - "6": { "OOProgramming": 3 }, - "7": { "Pointers": 3 }, - "8": { "ScriptKeywords": 5 }, - "9": { "UpgradeTo34": 1 } - }, - "memory": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "DefaultSetup": 5 }, - "3": { "DrawingSurface": 3 }, - "4": { "DynamicSprite": 4 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "EnginePluginRun-timeAPI": 25 }, - "8": { "EventTypes": 1 }, - "9": { "Game": 3 }, - "10": { "GameSavesCompatibility": 2 }, - "11": { "Globalfunctions_Event": 1 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "Overlay": 1 }, - "14": { "Pointers": 5 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "ScriptKeywords": 3 }, - "17": { "Setup": 8 }, - "18": { "TroubleshootingWindowsZoneID": 2 }, - "19": { "UpgradeTo30": 1 }, - "20": { "UpgradeTo35": 1 } - }, - "mention": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "mentioned": { - "0": { "acintro8": 1 }, - "1": { "EventTypes": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Plugins": 1 }, - "6": { "Tumbleweed_player": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "mentioning": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "mentions": { - "0": { "GlobalArrays": 1 } - }, - "menu": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "BuildAndroid": 3 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "EditorPlugins": 4 }, - "6": { "EditorRoom": 5 }, - "7": { "EditorSprite": 4 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "FAQ": 6 }, - "10": { "ImportingFunctionsAndVariables": 1 }, - "11": { "Introduction": 1 }, - "12": { "Mouse": 1 }, - "13": { "SourceControl": 2 }, - "14": { "System": 1 }, - "15": { "Templates": 1 }, - "16": { "UpgradeTo30": 1 }, - "17": { "UpgradeTo33": 1 }, - "18": { "UpgradeTo361": 1 } - }, - "menus": { - "0": { "Globalfunctions_General": 1 } - }, - "merchant": { - "0": { "acintro8": 1 } - }, - "merchant's": { - "0": { "acintro8": 1 } - }, - "merely": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "merge": { - "0": { "Object": 1 } - }, - "merged": { - "0": { "DistGame": 3 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Object": 2 }, - "4": { "RuntimeEngine": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "merging": { - "0": { "DefaultSetup": 1 } - }, - "merrily": { - "0": { "Debuggingfeatures": 1 } - }, - "mess": { - "0": { "TextParser": 1 }, - "1": { "UpgradingTo271": 1 } - }, - "message": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 4 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro9": 2 }, - "5": { "AudioChannel": 4 }, - "6": { "AudioClip": 2 }, - "7": { "AutonumberSpeechFiles": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Character": 17 }, - "11": { "ContactingTheDevelopers": 3 }, - "12": { "Dialog": 4 }, - "13": { "DialogScript": 2 }, - "14": { "DrawingSurface": 6 }, - "15": { "EditorCommandLineOptions": 1 }, - "16": { "EditorLogPanel": 2 }, - "17": { "EnginePluginDesign-timeAPI": 1 }, - "18": { "EnginePluginRun-timeAPI": 7 }, - "19": { "FAQ": 1 }, - "20": { "File": 3 }, - "21": { "Game": 13 }, - "22": { "Gamevariables": 4 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_General": 8 }, - "25": { "Globalfunctions_Message": 31 }, - "26": { "Globalfunctions_Room": 1 }, - "27": { "GUIControl": 1 }, - "28": { "Hotspot": 3 }, - "29": { "InventoryItem": 1 }, - "30": { "Mouse": 1 }, - "31": { "Multimedia": 1 }, - "32": { "Object": 4 }, - "33": { "Overlay": 2 }, - "34": { "Parser": 3 }, - "35": { "Plugins": 1 }, - "36": { "Preprocessor": 2 }, - "37": { "Region": 6 }, - "38": { "Room": 7 }, - "39": { "RuntimeEngine": 2 }, - "40": { "Scripting": 1 }, - "41": { "ScriptingTutorialPart1": 9 }, - "42": { "ScriptingTutorialPart2": 3 }, - "43": { "ScriptKeywords": 3 }, - "44": { "String": 2 }, - "45": { "StringFormats": 5 }, - "46": { "System": 10 }, - "47": { "Templates": 1 }, - "48": { "TextWindowGUI": 2 }, - "49": { "Tumbleweed_movement": 3 }, - "50": { "UpgradingTo27": 1 } - }, - "messagebox": { - "0": { "Debuggingfeatures": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "Templates": 1 } - }, - "messages": { - "0": { "AutonumberSpeechFiles": 3 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorLogPanel": 6 }, - "4": { "EditorPreferences": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Gamevariables": 1 }, - "7": { "Globalfunctions_Event": 1 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "ScriptingTutorialPart1": 3 }, - "10": { "Settingupthegame": 2 }, - "11": { "Translations": 2 }, - "12": { "Tumbleweed": 1 }, - "13": { "Tumbleweed_door": 2 }, - "14": { "Tumbleweed_unhandled": 1 }, - "15": { "UpgradeTo30": 1 }, - "16": { "UpgradeTo361": 1 } - }, - "messed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "messy": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "met": { - "0": { "Preprocessor": 2 }, - "1": { "ScriptKeywords": 1 } - }, - "meta-data": { - "0": { "UpgradeTo36": 1 } - }, - "metadata": { - "0": { "ScriptModules": 1 } - }, - "metal": { - "0": { "EngineConfigFile": 1 } - }, - "method": { - "0": { "acintro5": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "Dictionary": 2 }, - "5": { "DistGame": 1 }, - "6": { "DrawingSurface": 2 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorPreferences": 1 }, - "9": { "EnginePluginRun-timeAPI": 23 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Globalfunctions_Room": 4 }, - "14": { "GraphicsDriver": 2 }, - "15": { "Hotspot": 2 }, - "16": { "ListBox": 1 }, - "17": { "Object": 1 }, - "18": { "OOProgramming": 3 }, - "19": { "Pointers": 1 }, - "20": { "Region": 2 }, - "21": { "Room": 2 }, - "22": { "Set": 2 }, - "23": { "Setup": 1 }, - "24": { "String": 1 }, - "25": { "UpgradeTo36": 1 }, - "26": { "UpgradingTo27": 1 } - }, - "methods": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "EnginePluginDesign-timeAPI": 2 }, - "4": { "EnginePluginRun-timeAPI": 7 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GUI": 2 }, - "7": { "ListBox": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "OOProgramming": 3 }, - "10": { "Pointers": 3 }, - "11": { "Tumbleweed": 1 }, - "12": { "UpgradeTo30": 1 }, - "13": { "UpgradingTo271": 1 } - }, - "metrics": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GeneralSettings": 1 } - }, - "mg": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "mice": { - "0": { "GeneralSettings": 1 } - }, - "michael": { - "0": { "VoiceSpeech": 2 } - }, - "mid": { - "0": { "MusicAndSound": 1 } - }, - "middle": { - "0": { "acintro2": 3 }, - "1": { "acintro4": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 2 }, - "4": { "DistGame": 1 }, - "5": { "DrawingSurface": 5 }, - "6": { "DynamicSprite": 2 }, - "7": { "EditorRoom": 2 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "Game": 1 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Message": 2 }, - "13": { "GUI": 2 }, - "14": { "Screen": 1 }, - "15": { "ScriptingTutorialPart1": 1 }, - "16": { "Settingupthegame": 1 }, - "17": { "String": 1 }, - "18": { "Translations": 1 }, - "19": { "UpgradeTo35": 1 }, - "20": { "Viewport": 1 } - }, - "middle-left": { - "0": { "DrawingSurface": 1 } - }, - "might": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "AudioChannel": 2 }, - "4": { "BlockingScripts": 1 }, - "5": { "Character": 3 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "Dialog": 2 }, - "8": { "DialogScript": 1 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EditorView": 1 }, - "12": { "EnginePluginDesign-timeAPI": 1 }, - "13": { "EnginePluginRun-timeAPI": 2 }, - "14": { "Game": 6 }, - "15": { "GeneralSettings": 2 }, - "16": { "Globalfunctions_Screen": 1 }, - "17": { "GUI": 2 }, - "18": { "GUIControl": 1 }, - "19": { "MusicAndSound": 9 }, - "20": { "Object": 1 }, - "21": { "Plugins": 1 }, - "22": { "RepExec": 1 }, - "23": { "ScriptingTutorialPart2": 2 }, - "24": { "ScriptKeywords": 3 }, - "25": { "Settingupthegame": 2 }, - "26": { "System": 2 }, - "27": { "SystemLimits": 1 }, - "28": { "TemplateBASS": 1 }, - "29": { "TextBox": 2 }, - "30": { "TextParser": 6 }, - "31": { "Translations": 2 }, - "32": { "Tumbleweed": 2 }, - "33": { "Tumbleweed_translation": 2 }, - "34": { "UnicodeSupport": 1 }, - "35": { "UpgradeTo32": 2 } - }, - "migrated": { - "0": { "UpgradeTo341": 1 } - }, - "million": { - "0": { "SystemLimits": 1 } - }, - "milliseconds": { - "0": { "AudioChannel": 7 }, - "1": { "EventTypes": 1 }, - "2": { "Game": 2 }, - "3": { "Speech": 1 } - }, - "mimic": { - "0": { "Globalfunctions_General": 1 } - }, - "min": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "SystemLimits": 1 } - }, - "mind": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "Game": 2 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Translations": 1 }, - "8": { "UnicodeSupport": 2 } - }, - "mine": { - "0": { "EditorPlugins": 1 }, - "1": { "Tumbleweed": 1 } - }, - "mini-CPU": { - "0": { "BlockingScripts": 1 } - }, - "mini-crosshair": { - "0": { "Settingupthegame": 1 } - }, - "mini-game": { - "0": { "Globalfunctions_General": 1 } - }, - "mini-program": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "ScriptingTutorial": 1 } - }, - "mini-screenshot": { - "0": { "GeneralSettings": 1 } - }, - "minigames": { - "0": { "FAQ": 1 } - }, - "minimal": { - "0": { "Gamevariables": 1 }, - "1": { "GeneralSettings": 1 } - }, - "minimum": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorPlugins": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 1 }, - "5": { "Slider": 3 } - }, - "minor": { - "0": { "acintro1": 1 }, - "1": { "Character": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "UpgradeTo31": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "minus": { - "0": { "EnginePluginRun-timeAPI": 3 }, - "1": { "Game": 1 }, - "2": { "ListBox": 1 }, - "3": { "String": 2 } - }, - "minute": { - "0": { "DateTime": 2 } - }, - "minutes": { - "0": { "RepExec": 1 } - }, - "mipmap-hdpi": { - "0": { "BuildAndroid": 1 } - }, - "mipmap-mdpi": { - "0": { "BuildAndroid": 1 } - }, - "mipmap-xhdpi": { - "0": { "BuildAndroid": 1 } - }, - "mipmap-xxhdpi": { - "0": { "BuildAndroid": 1 } - }, - "mipmap-xxxhdpi": { - "0": { "BuildAndroid": 1 } - }, - "mirrored": { - "0": { "acintro7": 1 }, - "1": { "EditorView": 1 } - }, - "misbehaving": { - "0": { "EditorLogPanel": 1 } - }, - "misbehavior": { - "0": { "EditorFont": 1 } - }, - "misc": { - "0": { "EngineConfigFile": 1 } - }, - "misclicks": { - "0": { "Mouse": 1 } - }, - "mismatch": { - "0": { "Globalfunctions_General": 1 } - }, - "missed": { - "0": { "acintro7": 1 } - }, - "missing": { - "0": { "EditorSprite": 1 }, - "1": { "Preprocessor": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "VoiceSpeech": 1 } - }, - "mistake": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Multimedia": 1 }, - "3": { "Pointers": 2 }, - "4": { "Setup": 1 }, - "5": { "TheScriptHeader": 1 } - }, - "mistakes": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Pointers": 1 }, - "2": { "ScriptingTutorialPart1": 2 }, - "3": { "UpgradingTo27": 1 } - }, - "misunderstanding": { - "0": { "AudioInScript": 1 } - }, - "misuse": { - "0": { "UpgradeTo35": 1 } - }, - "mitigate": { - "0": { "UpgradeTo30": 1 } - }, - "mixed": { - "0": { "Translations": 1 } - }, - "mixing": { - "0": { "Copyright": 1 }, - "1": { "DistGame": 1 } - }, - "mobile": { - "0": { "DefaultSetup": 1 } - }, - "mod": { - "0": { "CustomDialogOptions": 3 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Event": 10 }, - "3": { "Globalfunctions_Wait": 2 }, - "4": { "Keycodes": 5 }, - "5": { "MusicAndSound": 1 }, - "6": { "UpgradeTo36": 14 } - }, - "modal": { - "0": { "EditorCursor": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "GUI": 1 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Settingupthegame": 1 } - }, - "mode": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 2 }, - "5": { "AdvancedRoomFeatures": 2 }, - "6": { "Camera": 1 }, - "7": { "Character": 4 }, - "8": { "Constants": 3 }, - "9": { "CustomProperties": 1 }, - "10": { "Debuggingfeatures": 3 }, - "11": { "DefaultSetup": 13 }, - "12": { "EditorCursor": 6 }, - "13": { "EditorGUI": 3 }, - "14": { "EditorRoom": 1 }, - "15": { "EngineConfigFile": 16 }, - "16": { "EnginePluginRun-timeAPI": 14 }, - "17": { "EnginePlugins": 2 }, - "18": { "EventTypes": 56 }, - "19": { "File": 3 }, - "20": { "Game": 1 }, - "21": { "Gamevariables": 5 }, - "22": { "GeneralSettings": 16 }, - "23": { "GlobalArrays": 1 }, - "24": { "Globalfunctions_Event": 5 }, - "25": { "Globalfunctions_General": 14 }, - "26": { "Hotspot": 2 }, - "27": { "InventoryItem": 3 }, - "28": { "Keycodes": 2 }, - "29": { "Mouse": 28 }, - "30": { "Multimedia": 1 }, - "31": { "Object": 2 }, - "32": { "Region": 1 }, - "33": { "Room": 3 }, - "34": { "RuntimeEngine": 4 }, - "35": { "ScriptKeywords": 2 }, - "36": { "Settingupthegame": 6 }, - "37": { "Setup": 7 }, - "38": { "Speech": 5 }, - "39": { "StandardEnums": 1 }, - "40": { "System": 7 }, - "41": { "TemplateBASS": 3 }, - "42": { "TemplateSierraStyle": 3 }, - "43": { "TemplateVerbcoin": 4 }, - "44": { "Translations": 1 }, - "45": { "Tumbleweed_actions": 1 }, - "46": { "Tumbleweed_helper": 1 }, - "47": { "UnicodeSupport": 9 }, - "48": { "UpgradeTo31": 1 }, - "49": { "UpgradeTo33": 2 }, - "50": { "UpgradeTo34": 1 }, - "51": { "UpgradeTo35": 3 }, - "52": { "UpgradeTo36": 16 }, - "53": { "UpgradeTo361": 5 }, - "54": { "Viewport": 1 } - }, - "mode's": { - "0": { "Mouse": 3 } - }, - "modern": { - "0": { "acintro1": 2 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Pointers": 1 }, - "7": { "Setup": 2 }, - "8": { "Tumbleweed": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "modes": { - "0": { "acintro1": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 3 }, - "3": { "Character": 1 }, - "4": { "EditorCursor": 4 }, - "5": { "EditorRoom": 2 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePlugins": 1 }, - "8": { "EventTypes": 3 }, - "9": { "Gamevariables": 1 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Keycodes": 1 }, - "12": { "Mouse": 3 }, - "13": { "Room": 1 }, - "14": { "Settingupthegame": 4 }, - "15": { "Setup": 2 }, - "16": { "System": 1 }, - "17": { "TemplateBASS": 1 }, - "18": { "Tumbleweed": 1 }, - "19": { "Tumbleweed_actions": 2 }, - "20": { "UpgradeTo36": 3 }, - "21": { "UpgradeTo361": 1 } - }, - "modification": { - "0": { "OOProgramming": 1 } - }, - "modified": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorPreferences": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "Mouse": 1 }, - "7": { "Pointers": 1 }, - "8": { "ScriptKeywords": 2 }, - "9": { "TemplateBASS": 1 }, - "10": { "UpgradingTo271": 1 } - }, - "modifier": { - "0": { "Keycodes": 4 }, - "1": { "ScriptKeywords": 1 } - }, - "modifiers": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "Keycodes": 3 }, - "3": { "OOProgramming": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "modifies": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Settingupthegame": 2 }, - "3": { "Speech": 1 } - }, - "modify": { - "0": { "acintro2": 1 }, - "1": { "Character": 5 }, - "2": { "DefaultSetup": 2 }, - "3": { "DynamicSprite": 2 }, - "4": { "EditorRoom": 1 }, - "5": { "EnginePluginRun-timeAPI": 3 }, - "6": { "FAQ": 1 }, - "7": { "Gamevariables": 1 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_Room": 2 }, - "10": { "GUI": 1 }, - "11": { "Hotspot": 1 }, - "12": { "Object": 1 }, - "13": { "Preprocessor": 1 }, - "14": { "Region": 1 }, - "15": { "Room": 2 }, - "16": { "ScriptAPIOverview": 1 }, - "17": { "ScriptingTutorialPart2": 2 }, - "18": { "String": 5 }, - "19": { "System": 1 }, - "20": { "Tumbleweed_translation": 1 } - }, - "modifying": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Object": 1 } - }, - "mods": { - "0": { "Keycodes": 4 } - }, - "module": { - "0": { "Dialog": 1 }, - "1": { "FAQ": 1 }, - "2": { "File": 2 }, - "3": { "GlobalArrays": 1 }, - "4": { "MultipleScripts": 1 }, - "5": { "Preprocessor": 10 }, - "6": { "ScriptKeywords": 3 }, - "7": { "ScriptModules": 11 }, - "8": { "System": 1 }, - "9": { "TemplateBASS": 2 }, - "10": { "TemplateSierraStyle": 1 }, - "11": { "TemplateVerbcoin": 2 }, - "12": { "Tumbleweed": 1 }, - "13": { "Tumbleweed_door": 1 }, - "14": { "UpgradeTo30": 1 } - }, - "module's": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Preprocessor": 2 } - }, - "modules": { - "0": { "Copyright": 1 }, - "1": { "Game": 8 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_Event": 3 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "ScriptModules": 8 }, - "6": { "System": 1 }, - "7": { "SystemLimits": 1 }, - "8": { "Tumbleweed": 2 }, - "9": { "UpgradeTo34": 1 } - }, - "moment": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro8": 1 }, - "5": { "AudioChannel": 1 }, - "6": { "AudioClip": 1 }, - "7": { "Character": 1 }, - "8": { "Dialog": 1 }, - "9": { "Dictionary": 1 }, - "10": { "DistGame": 1 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Globalfunctions_Wait": 1 }, - "14": { "GUI": 1 }, - "15": { "GUIControl": 1 }, - "16": { "MusicAndSound": 1 }, - "17": { "Object": 1 }, - "18": { "Set": 1 }, - "19": { "Translations": 1 }, - "20": { "UpgradeTo35": 1 }, - "21": { "UpgradeTo36": 1 } - }, - "monash": { - "0": { "Lipsync": 1 } - }, - "monitor": { - "0": { "Setup": 1 }, - "1": { "System": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "monitor's": { - "0": { "System": 1 } - }, - "monitors": { - "0": { "FAQ": 1 }, - "1": { "Setup": 2 } - }, - "mono": { - "0": { "AudioChannel": 1 } - }, - "monster": { - "0": { "Room": 1 } - }, - "month": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "DateTime": 4 } - }, - "months": { - "0": { "ScriptKeywords": 1 } - }, - "more": { - "0": { "acintro1": 6 }, - "1": { "acintro4": 3 }, - "2": { "acintro5": 3 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 4 }, - "5": { "acintro8": 3 }, - "6": { "AdvancedRoomFeatures": 2 }, - "7": { "AudioClip": 1 }, - "8": { "BuildAndroid": 1 }, - "9": { "Camera": 1 }, - "10": { "Character": 9 }, - "11": { "ColoursEditor": 2 }, - "12": { "CustomDialogOptions": 1 }, - "13": { "DefaultSetup": 2 }, - "14": { "DistGame": 1 }, - "15": { "DrawingSurface": 2 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorCursor": 1 }, - "18": { "EditorDialog": 1 }, - "19": { "EditorGUI": 1 }, - "20": { "EditorPlugins": 2 }, - "21": { "EditorRoom": 3 }, - "22": { "EditorSprite": 1 }, - "23": { "EnginePluginDesign-timeAPI": 1 }, - "24": { "EnginePluginRun-timeAPI": 4 }, - "25": { "EventTypes": 1 }, - "26": { "ExtenderFunctions": 2 }, - "27": { "FAQ": 4 }, - "28": { "Game": 7 }, - "29": { "GameEventsOrder": 1 }, - "30": { "GameSavesCompatibility": 7 }, - "31": { "GeneralSettings": 7 }, - "32": { "Globalfunctions_Event": 3 }, - "33": { "Globalfunctions_General": 2 }, - "34": { "Globalfunctions_Message": 6 }, - "35": { "Globalfunctions_Wait": 5 }, - "36": { "GlobalVariables": 1 }, - "37": { "GUI": 1 }, - "38": { "Hotspot": 1 }, - "39": { "InventoryItem": 1 }, - "40": { "InvWindow": 3 }, - "41": { "Lipsync": 1 }, - "42": { "ListBox": 2 }, - "43": { "MIDI-playback": 1 }, - "44": { "Multimedia": 1 }, - "45": { "MusicAndSound": 4 }, - "46": { "Object": 3 }, - "47": { "OOProgramming": 1 }, - "48": { "Overlay": 5 }, - "49": { "Parser": 1 }, - "50": { "Pointers": 6 }, - "51": { "Preprocessor": 1 }, - "52": { "RepExec": 1 }, - "53": { "Screen": 2 }, - "54": { "ScriptAPIOverview": 7 }, - "55": { "ScriptingTutorialPart1": 6 }, - "56": { "ScriptingTutorialPart2": 4 }, - "57": { "ScriptKeywords": 7 }, - "58": { "Settingupthegame": 11 }, - "59": { "Setup": 4 }, - "60": { "StandardEnums": 1 }, - "61": { "String": 1 }, - "62": { "System": 2 }, - "63": { "SystemLimits": 2 }, - "64": { "SystemRequirements": 1 }, - "65": { "Templates": 1 }, - "66": { "TextParser": 1 }, - "67": { "Translations": 2 }, - "68": { "TroubleshootingWindowsZoneID": 1 }, - "69": { "Tumbleweed": 1 }, - "70": { "Tumbleweed_actions": 1 }, - "71": { "Tumbleweed_translation": 1 }, - "72": { "Tumbleweed_unhandled": 1 }, - "73": { "UnicodeSupport": 3 }, - "74": { "UpgradeTo30": 2 }, - "75": { "UpgradeTo31": 3 }, - "76": { "UpgradeTo32": 4 }, - "77": { "UpgradeTo33": 1 }, - "78": { "UpgradeTo34": 3 }, - "79": { "UpgradeTo341": 1 }, - "80": { "UpgradeTo35": 7 }, - "81": { "UpgradeTo36": 5 }, - "82": { "UpgradeTo361": 2 }, - "83": { "UpgradingTo27": 6 }, - "84": { "UpgradingTo271": 1 }, - "85": { "Viewport": 2 } - }, - "most": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro9": 1 }, - "4": { "AnonymousUsageInfo": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "DialogOptionsRenderingInfo": 2 }, - "10": { "DistGame": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "DynamicSprite": 1 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorSprite": 1 }, - "15": { "EnginePluginRun-timeAPI": 1 }, - "16": { "File": 1 }, - "17": { "Game": 1 }, - "18": { "GameSavesCompatibility": 2 }, - "19": { "GeneralSettings": 1 }, - "20": { "Globalfunctions_General": 2 }, - "21": { "Globalfunctions_Screen": 1 }, - "22": { "GraphicsDriver": 2 }, - "23": { "ImportingFunctionsAndVariables": 1 }, - "24": { "ListBox": 2 }, - "25": { "Multimedia": 1 }, - "26": { "Pointers": 1 }, - "27": { "RepExec": 1 }, - "28": { "RuntimeEngine": 1 }, - "29": { "ScriptKeywords": 3 }, - "30": { "Settingupthegame": 5 }, - "31": { "Translations": 1 }, - "32": { "TroubleshootingWindowsZoneID": 1 }, - "33": { "UpgradeTo34": 1 }, - "34": { "UpgradeTo35": 1 }, - "35": { "UpgradingTo27": 2 } - }, - "mostly": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "TemplateVerbcoin": 1 }, - "4": { "UpgradeTo30": 1 } - }, - "motion": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorView": 1 } - }, - "mouse": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 2 }, - "2": { "acintro5": 2 }, - "3": { "acintro6": 3 }, - "4": { "acintro7": 3 }, - "5": { "acintro9": 9 }, - "6": { "BlockingScripts": 8 }, - "7": { "Button": 1 }, - "8": { "Character": 8 }, - "9": { "CustomDialogOptions": 17 }, - "10": { "DefaultSetup": 6 }, - "11": { "DialogOptionsRenderingInfo": 3 }, - "12": { "EditorCursor": 3 }, - "13": { "EditorGUI": 5 }, - "14": { "EditorInventoryItems": 3 }, - "15": { "EditorRoom": 3 }, - "16": { "EditorSprite": 3 }, - "17": { "EngineConfigFile": 11 }, - "18": { "EnginePluginRun-timeAPI": 15 }, - "19": { "EventTypes": 2 }, - "20": { "FAQ": 1 }, - "21": { "Game": 6 }, - "22": { "GameEventsOrder": 2 }, - "23": { "Gamevariables": 2 }, - "24": { "GeneralSettings": 9 }, - "25": { "Globalfunctions_Event": 11 }, - "26": { "Globalfunctions_General": 19 }, - "27": { "Globalfunctions_Message": 1 }, - "28": { "Globalfunctions_Room": 3 }, - "29": { "Globalfunctions_Wait": 11 }, - "30": { "GUI": 19 }, - "31": { "GUIControl": 11 }, - "32": { "Hotspot": 6 }, - "33": { "InventoryItem": 10 }, - "34": { "Label": 2 }, - "35": { "ListBox": 6 }, - "36": { "Mouse": 81 }, - "37": { "Multimedia": 2 }, - "38": { "MultipleScripts": 2 }, - "39": { "Object": 5 }, - "40": { "Pointers": 11 }, - "41": { "Region": 4 }, - "42": { "Room": 1 }, - "43": { "Screen": 2 }, - "44": { "Settingupthegame": 4 }, - "45": { "Setup": 4 }, - "46": { "Speech": 8 }, - "47": { "StandardEnums": 2 }, - "48": { "TemplateBASS": 3 }, - "49": { "TemplateSierraStyle": 2 }, - "50": { "TemplateVerbcoin": 1 }, - "51": { "Tumbleweed": 1 }, - "52": { "Tumbleweed_actions": 1 }, - "53": { "Tumbleweed_helper": 1 }, - "54": { "Tumbleweed_movement": 1 }, - "55": { "UpgradeTo34": 3 }, - "56": { "UpgradeTo35": 5 }, - "57": { "Viewport": 5 }, - "58": { "VoiceSpeech": 1 } - }, - "mouse's": { - "0": { "Globalfunctions_Event": 1 } - }, - "mouse-click": { - "0": { "Globalfunctions_Event": 1 } - }, - "mouse-cursor": { - "0": { "EditorInventoryItems": 2 } - }, - "mouse-over": { - "0": { "Button": 4 } - }, - "mouseOverHotspot": { - "0": { "Pointers": 4 } - }, - "mouseclick": { - "0": { "Tumbleweed_movement": 1 } - }, - "mouseover": { - "0": { "Button": 1 }, - "1": { "GUIControl": 1 } - }, - "mouth": { - "0": { "Gamevariables": 2 }, - "1": { "Lipsync": 1 }, - "2": { "ObsoleteScriptAPI": 1 }, - "3": { "Speech": 1 }, - "4": { "UpgradeTo33": 1 } - }, - "move": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 2 }, - "4": { "acintro7": 3 }, - "5": { "acintro9": 1 }, - "6": { "Camera": 4 }, - "7": { "Character": 26 }, - "8": { "DefaultSetup": 3 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "FAQ": 5 }, - "13": { "File": 1 }, - "14": { "GeneralSettings": 3 }, - "15": { "Globalfunctions_General": 7 }, - "16": { "Globalfunctions_Wait": 1 }, - "17": { "GUI": 3 }, - "18": { "GUIControl": 8 }, - "19": { "Hotspot": 2 }, - "20": { "Mouse": 2 }, - "21": { "MultipleScripts": 1 }, - "22": { "Object": 5 }, - "23": { "Overlay": 2 }, - "24": { "RepExec": 3 }, - "25": { "ScriptKeywords": 2 }, - "26": { "Set": 1 }, - "27": { "Settingupthegame": 4 }, - "28": { "TemplateSierraStyle": 6 }, - "29": { "Translations": 1 }, - "30": { "TroubleshootingWindowsZoneID": 3 }, - "31": { "Tumbleweed": 2 }, - "32": { "Tumbleweed_player": 1 }, - "33": { "UpgradeTo33": 1 }, - "34": { "UpgradeTo35": 1 }, - "35": { "UpgradingTo271": 1 }, - "36": { "Viewport": 1 } - }, - "movePlayer": { - "0": { "Tumbleweed_movement": 1 } - }, - "moved": { - "0": { "Character": 2 }, - "1": { "EditorRoom": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GUI": 1 }, - "4": { "Mouse": 1 }, - "5": { "UpgradeTo35": 3 } - }, - "movement": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 2 }, - "2": { "Character": 9 }, - "3": { "EditorView": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "GeneralSettings": 3 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Mouse": 4 }, - "9": { "Object": 1 }, - "10": { "RepExec": 1 }, - "11": { "Settingupthegame": 4 }, - "12": { "TemplateSierraStyle": 1 }, - "13": { "Tumbleweed": 1 }, - "14": { "Tumbleweed_movement": 11 }, - "15": { "Tumbleweed_player": 1 }, - "16": { "UpgradeTo34": 1 } - }, - "movement-linked": { - "0": { "Character": 1 } - }, - "moves": { - "0": { "acintro2": 1 }, - "1": { "Character": 6 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "EditorGUI": 3 }, - "4": { "EventTypes": 2 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "GUI": 3 }, - "10": { "Mouse": 2 }, - "11": { "RepExec": 1 }, - "12": { "ScriptModules": 1 }, - "13": { "Settingupthegame": 2 }, - "14": { "Tumbleweed_movement": 2 } - }, - "moving": { - "0": { "acintro9": 1 }, - "1": { "Character": 27 }, - "2": { "DefaultSetup": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorCursor": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EditorView": 1 }, - "8": { "EnginePluginRun-timeAPI": 4 }, - "9": { "Gamevariables": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_Event": 1 }, - "12": { "Globalfunctions_General": 3 }, - "13": { "GUI": 2 }, - "14": { "Object": 9 }, - "15": { "RepExec": 2 }, - "16": { "Settingupthegame": 1 }, - "17": { "Tumbleweed_movement": 1 }, - "18": { "Tumbleweed_player": 1 }, - "19": { "UpgradeTo30": 1 }, - "20": { "UpgradeTo341": 1 }, - "21": { "UpgradeTo35": 3 }, - "22": { "UpgradingTo27": 4 } - }, - "ms": { - "0": { "AudioChannel": 3 } - }, - "much": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro8": 5 }, - "4": { "acintro9": 1 }, - "5": { "Camera": 1 }, - "6": { "Character": 1 }, - "7": { "DateTime": 1 }, - "8": { "File": 1 }, - "9": { "Game": 1 }, - "10": { "GameEventsOrder": 1 }, - "11": { "GameSavesCompatibility": 2 }, - "12": { "GeneralSettings": 2 }, - "13": { "Globalfunctions_General": 2 }, - "14": { "Globalfunctions_Screen": 2 }, - "15": { "Mouse": 1 }, - "16": { "MusicAndSound": 2 }, - "17": { "ScriptAPIOverview": 1 }, - "18": { "ScriptingTutorialPart1": 1 }, - "19": { "ScriptKeywords": 1 }, - "20": { "Settingupthegame": 3 }, - "21": { "TextParser": 1 }, - "22": { "Tumbleweed_door": 1 }, - "23": { "Tumbleweed_unhandled": 1 }, - "24": { "UpgradeTo30": 1 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo35": 1 }, - "27": { "UpgradingTo27": 3 }, - "28": { "UpgradingTo271": 1 } - }, - "multi-character": { - "0": { "UpgradingTo27": 1 } - }, - "multi-language": { - "0": { "GeneralSettings": 1 }, - "1": { "Tumbleweed": 1 } - }, - "multilayer": { - "0": { "UpgradeTo35": 1 } - }, - "multimedia": { - "0": { "Scripting": 1 } - }, - "multiple": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "Dictionary": 2 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EditorPreferences": 2 }, - "8": { "EditorRoom": 2 }, - "9": { "EditorSprite": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "EventTypes": 2 }, - "12": { "ExtenderFunctions": 1 }, - "13": { "Game": 1 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "GeneralSettings": 3 }, - "16": { "Globalfunctions_Event": 3 }, - "17": { "Globalfunctions_General": 2 }, - "18": { "GraphicsDriver": 1 }, - "19": { "GUI": 1 }, - "20": { "InvWindow": 2 }, - "21": { "Lipsync": 1 }, - "22": { "Multimedia": 1 }, - "23": { "MultipleScripts": 1 }, - "24": { "Preprocessor": 1 }, - "25": { "RuntimeEngine": 1 }, - "26": { "ScriptKeywords": 2 }, - "27": { "ScriptModules": 1 }, - "28": { "TheScriptHeader": 1 }, - "29": { "Translations": 1 }, - "30": { "UnicodeSupport": 2 }, - "31": { "UpgradeTo34": 1 }, - "32": { "UpgradeTo36": 2 }, - "33": { "UpgradeTo361": 2 }, - "34": { "Viewport": 2 }, - "35": { "VoiceSpeech": 1 } - }, - "multiplied": { - "0": { "Maths": 2 } - }, - "multiplier": { - "0": { "DefaultSetup": 5 }, - "1": { "EditorFont": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "RuntimeEngine": 1 }, - "4": { "Setup": 2 } - }, - "multipliers": { - "0": { "Multimedia": 1 } - }, - "multiply": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "multitasking": { - "0": { "EngineConfigFile": 3 } - }, - "music": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 2 }, - "2": { "BackingUpYourGame": 1 }, - "3": { "DistGame": 3 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "EventTypes": 1 }, - "6": { "Game": 10 }, - "7": { "Globalfunctions_General": 3 }, - "8": { "MIDI-playback": 1 }, - "9": { "Multimedia": 1 }, - "10": { "MusicAndSound": 16 }, - "11": { "ObsoleteScriptAPI": 1 }, - "12": { "Room": 3 }, - "13": { "SourceControl": 1 }, - "14": { "SystemRequirements": 1 }, - "15": { "Templates": 1 }, - "16": { "UpgradeTo32": 3 }, - "17": { "UpgradeTo341": 1 } - }, - "musical": { - "0": { "Game": 1 } - }, - "must": { - "0": { "acintro3": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 4 }, - "6": { "Button": 2 }, - "7": { "Character": 3 }, - "8": { "ColoursEditor": 2 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "DialogOptionsRenderingInfo": 1 }, - "12": { "DialogScript": 2 }, - "13": { "Dictionary": 1 }, - "14": { "DistGame": 4 }, - "15": { "DynamicArrays": 1 }, - "16": { "DynamicSprite": 6 }, - "17": { "EditorFont": 1 }, - "18": { "EditorPlugins": 5 }, - "19": { "EditorPreferences": 1 }, - "20": { "EditorRoom": 1 }, - "21": { "EngineConfigFile": 1 }, - "22": { "EnginePluginDesign-timeAPI": 2 }, - "23": { "EnginePluginRun-timeAPI": 28 }, - "24": { "EnginePlugins": 1 }, - "25": { "FAQ": 1 }, - "26": { "File": 5 }, - "27": { "Game": 3 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "GeneralSettings": 5 }, - "30": { "GlobalArrays": 1 }, - "31": { "Globalfunctions_General": 10 }, - "32": { "ImportingFunctionsAndVariables": 5 }, - "33": { "ListBox": 1 }, - "34": { "Maths": 2 }, - "35": { "Mouse": 2 }, - "36": { "Object": 1 }, - "37": { "OOProgramming": 1 }, - "38": { "Plugins": 1 }, - "39": { "Pointers": 1 }, - "40": { "Room": 1 }, - "41": { "RuntimeEngine": 2 }, - "42": { "ScriptingTutorialPart2": 1 }, - "43": { "ScriptKeywords": 2 }, - "44": { "Settingupthegame": 6 }, - "45": { "Slider": 1 }, - "46": { "Speech": 1 }, - "47": { "System": 2 }, - "48": { "Translations": 1 }, - "49": { "UnicodeSupport": 1 }, - "50": { "UpgradeTo30": 1 }, - "51": { "UpgradeTo32": 1 }, - "52": { "UpgradeTo33": 1 }, - "53": { "UpgradeTo35": 4 }, - "54": { "UpgradeTo36": 3 }, - "55": { "VoiceSpeech": 2 } - }, - "mute": { - "0": { "Game": 1 } - }, - "muted": { - "0": { "Multimedia": 3 } - }, - "my": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro8": 2 }, - "4": { "DialogScript": 2 }, - "5": { "Dictionary": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "FAQ": 11 }, - "9": { "Game": 1 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_Message": 5 }, - "12": { "MIDI-playback": 3 }, - "13": { "OOProgramming": 1 }, - "14": { "ScriptingTutorialPart1": 2 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "ScriptKeywords": 18 }, - "17": { "String": 3 }, - "18": { "StringFormats": 1 }, - "19": { "TextWindowGUI": 1 }, - "20": { "TroubleshootingWindowsZoneID": 1 }, - "21": { "UpgradeTo32": 1 }, - "22": { "UpgradingTo27": 1 }, - "23": { "UpgradingTo271": 2 } - }, - "my-key": { - "0": { "Dictionary": 3 } - }, - "my-project": { - "0": { "EditorCommandLineOptions": 1 } - }, - "my-value": { - "0": { "Dictionary": 2 } - }, - "myCam": { - "0": { "Camera": 7 }, - "1": { "Viewport": 10 } - }, - "myCounter": { - "0": { "ScriptingTutorialPart1": 28 }, - "1": { "ScriptingTutorialPart2": 6 } - }, - "myDictionary": { - "0": { "Dictionary": 17 } - }, - "myLabel": { - "0": { "FAQ": 1 } - }, - "myObject": { - "0": { "DynamicSprite": 1 } - }, - "myOverlay": { - "0": { "Overlay": 12 } - }, - "mySet": { - "0": { "Set": 11 } - }, - "myString": { - "0": { "String": 8 } - }, - "myValue": { - "0": { "Dictionary": 2 }, - "1": { "ScriptKeywords": 3 } - }, - "myVariable": { - "0": { "GlobalVariables": 5 } - }, - "myView": { - "0": { "Camera": 5 }, - "1": { "Viewport": 7 } - }, - "myViewport": { - "0": { "Viewport": 2 } - }, - "myfile": { - "0": { "UpgradeTo36": 2 } - }, - "mygame": { - "0": { "GeneralSettings": 1 } - }, - "mylang": { - "0": { "VoiceSpeech": 1 } - }, - "myless": { - "0": { "Lipsync": 1 } - }, - "mystring": { - "0": { "String": 16 } - }, - "mystudio": { - "0": { "GeneralSettings": 1 } - }, - "mytext": { - "0": { "String": 17 } - }, - "n-th": { - "0": { "Tumbleweed_extensions": 1 } - }, - "naive": { - "0": { "CustomDialogOptions": 1 } - }, - "name": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 7 }, - "3": { "acintro4": 3 }, - "4": { "acintro7": 5 }, - "5": { "acintro8": 5 }, - "6": { "AudioClip": 10 }, - "7": { "Character": 19 }, - "8": { "CustomProperties": 1 }, - "9": { "Dialog": 11 }, - "10": { "DialogScript": 5 }, - "11": { "DistGame": 3 }, - "12": { "DrawingSurface": 1 }, - "13": { "EditorCursor": 1 }, - "14": { "EditorDialog": 1 }, - "15": { "EditorGUI": 4 }, - "16": { "EditorInventoryItems": 2 }, - "17": { "EditorPlugins": 4 }, - "18": { "EditorRoom": 1 }, - "19": { "EditorSprite": 1 }, - "20": { "EditorView": 1 }, - "21": { "EngineConfigFile": 5 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 19 }, - "24": { "ExtenderFunctions": 1 }, - "25": { "FAQ": 6 }, - "26": { "Game": 20 }, - "27": { "Gamevariables": 1 }, - "28": { "GeneralSettings": 15 }, - "29": { "GlobalArrays": 2 }, - "30": { "Globalfunctions_Event": 1 }, - "31": { "Globalfunctions_General": 8 }, - "32": { "Globalfunctions_Message": 1 }, - "33": { "GlobalVariables": 2 }, - "34": { "GUI": 12 }, - "35": { "GUIControl": 11 }, - "36": { "Hotspot": 11 }, - "37": { "ImportingFunctionsAndVariables": 4 }, - "38": { "InventoryItem": 15 }, - "39": { "InvWindow": 1 }, - "40": { "Label": 3 }, - "41": { "MIDI-playback": 1 }, - "42": { "MusicAndSound": 1 }, - "43": { "Object": 14 }, - "44": { "ObsoleteScriptAPI": 1 }, - "45": { "OOProgramming": 6 }, - "46": { "Pointers": 3 }, - "47": { "Preprocessor": 4 }, - "48": { "RuntimeEngine": 6 }, - "49": { "ScriptAPIOverview": 1 }, - "50": { "ScriptingTutorialPart1": 19 }, - "51": { "ScriptingTutorialPart2": 4 }, - "52": { "ScriptKeywords": 15 }, - "53": { "ScriptModules": 1 }, - "54": { "Settingupthegame": 7 }, - "55": { "StandardEnums": 2 }, - "56": { "String": 2 }, - "57": { "TemplateBASS": 1 }, - "58": { "Templates": 1 }, - "59": { "TheScriptHeader": 2 }, - "60": { "Translations": 2 }, - "61": { "TroubleshootingWindowsZoneID": 2 }, - "62": { "Tumbleweed": 2 }, - "63": { "Tumbleweed_extensions": 3 }, - "64": { "UpgradeTo32": 2 }, - "65": { "UpgradeTo36": 1 }, - "66": { "UpgradeTo361": 2 }, - "67": { "UpgradingTo27": 6 }, - "68": { "VoiceSpeech": 3 } - }, - "named": { - "0": { "BuildAndroid": 2 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "DistGame": 2 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "MIDI-playback": 2 }, - "7": { "OOProgramming": 4 }, - "8": { "Plugins": 1 }, - "9": { "Pointers": 1 }, - "10": { "Translations": 1 }, - "11": { "TroubleshootingWindowsZoneID": 1 }, - "12": { "VoiceSpeech": 2 } - }, - "names": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "EngineConfigFile": 2 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "ImportingFunctionsAndVariables": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "OOProgramming": 3 }, - "11": { "Plugins": 1 }, - "12": { "Pointers": 1 }, - "13": { "RuntimeEngine": 1 }, - "14": { "ScriptAPIOverview": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "ScriptKeywords": 1 }, - "17": { "Settingupthegame": 1 }, - "18": { "Translations": 1 }, - "19": { "UnicodeSupport": 4 }, - "20": { "UpgradeTo32": 2 }, - "21": { "UpgradeTo34": 2 }, - "22": { "UpgradeTo36": 4 }, - "23": { "UpgradingTo27": 2 }, - "24": { "VoiceSpeech": 1 } - }, - "naming": { - "0": { "DistGame": 1 }, - "1": { "Lipsync": 2 }, - "2": { "ScriptingTutorialPart2": 2 }, - "3": { "UpgradeTo32": 1 } - }, - "narration": { - "0": { "DialogScript": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "narrator": { - "0": { "DialogScript": 4 }, - "1": { "Gamevariables": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "VoiceSpeech": 1 } - }, - "nasty": { - "0": { "Globalfunctions_General": 1 } - }, - "native": { - "0": { "DefaultSetup": 2 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "EngineConfigFile": 4 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "FAQ": 1 }, - "6": { "Game": 2 }, - "7": { "Gamevariables": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "GraphicsDriver": 1 }, - "10": { "RuntimeEngine": 1 }, - "11": { "Screen": 2 }, - "12": { "Setup": 3 }, - "13": { "System": 11 }, - "14": { "TemplateSierraStyle": 1 }, - "15": { "UpgradeTo31": 7 }, - "16": { "UpgradeTo34": 1 } - }, - "natural": { - "0": { "Maths": 2 } - }, - "naturally": { - "0": { "ScriptKeywords": 1 } - }, - "nature": { - "0": { "ScriptKeywords": 1 } - }, - "navigate": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 } - }, - "navigated": { - "0": { "EditorRoom": 1 } - }, - "navigating": { - "0": { "EditorRoom": 1 }, - "1": { "MusicAndSound": 1 } - }, - "navigation": { - "0": { "UpgradeTo35": 2 } - }, - "ncolor": { - "0": { "CustomDialogOptions": 4 } - }, - "nearest": { - "0": { "AudioChannel": 1 }, - "1": { "Camera": 3 }, - "2": { "Character": 1 }, - "3": { "Game": 1 }, - "4": { "GUIControl": 1 }, - "5": { "Maths": 6 } - }, - "nearest-neighbour": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "nearly": { - "0": { "GameSavesCompatibility": 1 } - }, - "neat": { - "0": { "Multimedia": 1 } - }, - "neater": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "necessarily": { - "0": { "acintro8": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "UpgradeTo30": 1 } - }, - "necessary": { - "0": { "Camera": 3 }, - "1": { "DistGame": 2 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorLogPanel": 1 }, - "5": { "EngineConfigFile": 1 }, - "6": { "EnginePluginDesign-timeAPI": 1 }, - "7": { "EnginePluginRun-timeAPI": 4 }, - "8": { "FAQ": 1 }, - "9": { "Game": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "GraphicsDriver": 1 }, - "12": { "ListBox": 1 }, - "13": { "Maths": 2 }, - "14": { "Mouse": 1 }, - "15": { "Multimedia": 1 }, - "16": { "Object": 1 }, - "17": { "Room": 1 }, - "18": { "Slider": 2 }, - "19": { "SourceControl": 1 }, - "20": { "SystemRequirements": 1 }, - "21": { "Translations": 2 }, - "22": { "UnicodeSupport": 1 }, - "23": { "UpgradeTo361": 1 } - }, - "necessity": { - "0": { "EditorFont": 1 } - }, - "need": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 7 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 4 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 2 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioClip": 3 }, - "11": { "BlockingScripts": 2 }, - "12": { "BuildAndroid": 5 }, - "13": { "Character": 9 }, - "14": { "ColoursEditor": 2 }, - "15": { "Constants": 1 }, - "16": { "ContactingTheDevelopers": 1 }, - "17": { "CustomDialogOptions": 2 }, - "18": { "DefaultSetup": 2 }, - "19": { "Dialog": 3 }, - "20": { "Dictionary": 1 }, - "21": { "DistGame": 5 }, - "22": { "DrawingSurface": 1 }, - "23": { "DynamicArrays": 1 }, - "24": { "DynamicSprite": 2 }, - "25": { "EditorCommandLineOptions": 2 }, - "26": { "EditorDialog": 1 }, - "27": { "EditorGUI": 2 }, - "28": { "EditorPlugins": 12 }, - "29": { "EditorSprite": 3 }, - "30": { "EditorView": 2 }, - "31": { "EnginePluginDesign-timeAPI": 4 }, - "32": { "EnginePluginRun-timeAPI": 24 }, - "33": { "EnginePlugins": 3 }, - "34": { "FAQ": 5 }, - "35": { "File": 4 }, - "36": { "Game": 20 }, - "37": { "GameSavesCompatibility": 4 }, - "38": { "GeneralSettings": 3 }, - "39": { "Globalfunctions_Event": 1 }, - "40": { "Globalfunctions_General": 7 }, - "41": { "Globalfunctions_Message": 1 }, - "42": { "Globalfunctions_Room": 5 }, - "43": { "Globalfunctions_Wait": 3 }, - "44": { "GlobalVariables": 4 }, - "45": { "GUI": 4 }, - "46": { "GUIControl": 3 }, - "47": { "Hotspot": 3 }, - "48": { "ImportingFunctionsAndVariables": 2 }, - "49": { "InventoryItem": 2 }, - "50": { "Lipsync": 3 }, - "51": { "ListBox": 1 }, - "52": { "Mouse": 1 }, - "53": { "Multimedia": 2 }, - "54": { "MultipleScripts": 1 }, - "55": { "MusicAndSound": 5 }, - "56": { "Object": 5 }, - "57": { "OOProgramming": 2 }, - "58": { "Parser": 1 }, - "59": { "Pointers": 2 }, - "60": { "Preprocessor": 2 }, - "61": { "Region": 3 }, - "62": { "RepExec": 6 }, - "63": { "Room": 1 }, - "64": { "ScriptAPIOverview": 1 }, - "65": { "ScriptingTutorialPart1": 7 }, - "66": { "ScriptingTutorialPart2": 5 }, - "67": { "ScriptKeywords": 11 }, - "68": { "ScriptModules": 1 }, - "69": { "Settingupthegame": 8 }, - "70": { "Setup": 2 }, - "71": { "String": 1 }, - "72": { "StringFormats": 1 }, - "73": { "SystemLimits": 1 }, - "74": { "SystemRequirements": 1 }, - "75": { "TemplateBASS": 1 }, - "76": { "Templates": 2 }, - "77": { "TextBox": 1 }, - "78": { "TextParser": 1 }, - "79": { "Translations": 1 }, - "80": { "TroubleshootingWindowsZoneID": 1 }, - "81": { "Tumbleweed": 8 }, - "82": { "Tumbleweed_door": 2 }, - "83": { "Tumbleweed_translation": 5 }, - "84": { "UnicodeSupport": 1 }, - "85": { "UpgradeTo30": 5 }, - "86": { "UpgradeTo32": 3 }, - "87": { "UpgradeTo335": 1 }, - "88": { "UpgradeTo34": 4 }, - "89": { "UpgradeTo341": 1 }, - "90": { "UpgradeTo36": 4 }, - "91": { "UpgradeTo361": 1 }, - "92": { "UpgradingTo27": 1 }, - "93": { "UpgradingTo271": 2 } - }, - "needed": { - "0": { "BuildAndroid": 2 }, - "1": { "DialogOptionsRenderingInfo": 2 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "MIDI-playback": 1 }, - "5": { "Multimedia": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "SystemRequirements": 1 }, - "9": { "Tumbleweed_extensions": 1 } - }, - "needing": { - "0": { "acintro2": 1 }, - "1": { "EditorInventoryItems": 1 } - }, - "needle": { - "0": { "String": 5 } - }, - "needs": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 2 }, - "3": { "acintro7": 1 }, - "4": { "Character": 1 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "DistGame": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorPlugins": 3 }, - "10": { "EditorView": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GUI": 1 }, - "14": { "ImportingFunctionsAndVariables": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "MusicAndSound": 1 }, - "17": { "OOProgramming": 1 }, - "18": { "Overlay": 2 }, - "19": { "ScriptingTutorialPart1": 3 }, - "20": { "ScriptKeywords": 1 }, - "21": { "UpgradeTo35": 1 }, - "22": { "UpgradingTo271": 1 } - }, - "negative": { - "0": { "acintro7": 1 }, - "1": { "Character": 2 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "FAQ": 1 }, - "4": { "File": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "GUI": 1 }, - "7": { "Multimedia": 1 }, - "8": { "Object": 1 }, - "9": { "OOProgramming": 1 }, - "10": { "Overlay": 1 }, - "11": { "Region": 1 }, - "12": { "Settingupthegame": 2 }, - "13": { "SystemLimits": 1 } - }, - "negligible": { - "0": { "GeneralSettings": 1 } - }, - "neither": { - "0": { "AudioInScript": 1 }, - "1": { "Character": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ScriptKeywords": 1 } - }, - "nerdy": { - "0": { "Settingupthegame": 1 } - }, - "nested": { - "0": { "ScriptKeywords": 1 }, - "1": { "VoiceSpeech": 1 } - }, - "never": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "AudioClip": 1 }, - "4": { "AutonumberSpeechFiles": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "Camera": 9 }, - "7": { "Character": 1 }, - "8": { "DialogOptionsRenderingInfo": 1 }, - "9": { "DialogScript": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 3 }, - "13": { "Game": 2 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 2 }, - "16": { "Globalfunctions_Message": 2 }, - "17": { "Globalfunctions_Room": 1 }, - "18": { "Introduction": 1 }, - "19": { "Keycodes": 1 }, - "20": { "Mouse": 1 }, - "21": { "Object": 1 }, - "22": { "Overlay": 1 }, - "23": { "ScriptingTutorialPart2": 1 }, - "24": { "TemplateBASS": 1 }, - "25": { "UpgradeTo31": 1 }, - "26": { "UpgradeTo33": 1 }, - "27": { "UpgradeTo36": 2 } - }, - "nevertheless": { - "0": { "DynamicSprite": 1 } - }, - "new": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 3 }, - "2": { "acintro4": 3 }, - "3": { "acintro5": 2 }, - "4": { "acintro6": 8 }, - "5": { "acintro7": 6 }, - "6": { "acintro8": 12 }, - "7": { "acintro9": 1 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "AudioChannel": 2 }, - "10": { "AudioClip": 5 }, - "11": { "AudioInScript": 4 }, - "12": { "Button": 2 }, - "13": { "Camera": 10 }, - "14": { "Character": 34 }, - "15": { "Constants": 2 }, - "16": { "ContactingTheDevelopers": 1 }, - "17": { "CustomDialogOptions": 2 }, - "18": { "CustomProperties": 2 }, - "19": { "Dialog": 1 }, - "20": { "DialogScript": 1 }, - "21": { "Dictionary": 2 }, - "22": { "DistGame": 1 }, - "23": { "DynamicArrays": 17 }, - "24": { "DynamicSprite": 29 }, - "25": { "EditorCharacter": 2 }, - "26": { "EditorCursor": 2 }, - "27": { "EditorDialog": 4 }, - "28": { "EditorFont": 4 }, - "29": { "EditorGUI": 2 }, - "30": { "EditorInventoryItems": 1 }, - "31": { "EditorLogPanel": 1 }, - "32": { "EditorPlugins": 4 }, - "33": { "EditorPreferences": 1 }, - "34": { "EditorRoom": 5 }, - "35": { "EditorSprite": 2 }, - "36": { "EditorView": 2 }, - "37": { "EnginePluginDesign-timeAPI": 1 }, - "38": { "EnginePluginRun-timeAPI": 18 }, - "39": { "ExtenderFunctions": 2 }, - "40": { "FAQ": 4 }, - "41": { "File": 3 }, - "42": { "Game": 1 }, - "43": { "GameEventsOrder": 2 }, - "44": { "GameSavesCompatibility": 30 }, - "45": { "Gamevariables": 2 }, - "46": { "GeneralSettings": 7 }, - "47": { "Globalfunctions_Event": 2 }, - "48": { "Globalfunctions_General": 6 }, - "49": { "Globalfunctions_Palette": 1 }, - "50": { "Globalfunctions_Room": 1 }, - "51": { "GlobalVariables": 2 }, - "52": { "GUI": 2 }, - "53": { "GUIControl": 1 }, - "54": { "Hotspot": 4 }, - "55": { "InventoryItem": 4 }, - "56": { "Keycodes": 1 }, - "57": { "ListBox": 3 }, - "58": { "Mouse": 3 }, - "59": { "MultipleScripts": 1 }, - "60": { "MusicAndSound": 7 }, - "61": { "Object": 6 }, - "62": { "ObsoleteScriptAPI": 1 }, - "63": { "Overlay": 2 }, - "64": { "Pointers": 2 }, - "65": { "RepExec": 3 }, - "66": { "Room": 4 }, - "67": { "Screen": 3 }, - "68": { "ScriptAPIOverview": 4 }, - "69": { "ScriptingTutorialPart1": 3 }, - "70": { "ScriptKeywords": 11 }, - "71": { "ScriptModules": 1 }, - "72": { "Set": 1 }, - "73": { "Settingupthegame": 13 }, - "74": { "Slider": 1 }, - "75": { "StandardEnums": 1 }, - "76": { "StandardTypes": 1 }, - "77": { "String": 16 }, - "78": { "StringFormats": 1 }, - "79": { "Templates": 4 }, - "80": { "TextParser": 2 }, - "81": { "Translations": 4 }, - "82": { "Tumbleweed": 2 }, - "83": { "Tumbleweed_actions": 3 }, - "84": { "Tumbleweed_door": 1 }, - "85": { "Tumbleweed_player": 1 }, - "86": { "UnicodeSupport": 2 }, - "87": { "UpgradeTo30": 7 }, - "88": { "UpgradeTo31": 1 }, - "89": { "UpgradeTo32": 9 }, - "90": { "UpgradeTo33": 3 }, - "91": { "UpgradeTo335": 1 }, - "92": { "UpgradeTo34": 4 }, - "93": { "UpgradeTo341": 1 }, - "94": { "UpgradeTo35": 11 }, - "95": { "UpgradeTo36": 13 }, - "96": { "UpgradeTo361": 2 }, - "97": { "UpgradingTo27": 14 }, - "98": { "UpgradingTo271": 9 }, - "99": { "Viewport": 8 }, - "100": { "VoiceSpeech": 1 } - }, - "new-String": { - "0": { "Constants": 1 } - }, - "new-style": { - "0": { "Constants": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Event": 2 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "UpgradingTo271": 1 } - }, - "newChar": { - "0": { "String": 1 } - }, - "newPosition": { - "0": { "Character": 3 } - }, - "newRenderer": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "newRoom": { - "0": { "Tumbleweed_player": 1 } - }, - "newSprite": { - "0": { "DynamicSprite": 5 } - }, - "newTranslationName": { - "0": { "Game": 2 } - }, - "newVoxName": { - "0": { "Game": 1 } - }, - "newWidth": { - "0": { "Globalfunctions_General": 3 } - }, - "newbies": { - "0": { "Pointers": 1 } - }, - "newer": { - "0": { "acintro1": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "BuildAndroid": 1 }, - "3": { "FAQ": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GeneralSettings": 3 }, - "6": { "Preprocessor": 2 }, - "7": { "Setup": 1 }, - "8": { "Templates": 1 }, - "9": { "UpgradeTo34": 3 } - }, - "newest": { - "0": { "GeneralSettings": 1 }, - "1": { "UpgradeTo341": 1 } - }, - "newitem": { - "0": { "ListBox": 2 } - }, - "newline": { - "0": { "File": 1 } - }, - "newly": { - "0": { "DialogScript": 1 }, - "1": { "String": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "news": { - "0": { "Pointers": 1 } - }, - "newstring": { - "0": { "String": 3 } - }, - "newtonsoft": { - "0": { "Credits": 1 } - }, - "newvoxname": { - "0": { "Game": 2 } - }, - "next": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 2 }, - "3": { "acintro8": 2 }, - "4": { "acintro9": 1 }, - "5": { "BuildAndroid": 3 }, - "6": { "CustomDialogOptions": 10 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "DialogScript": 2 }, - "10": { "EditorPlugins": 1 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "Game": 3 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 6 }, - "16": { "Globalfunctions_Room": 1 }, - "17": { "Globalfunctions_Screen": 2 }, - "18": { "KeyboardShortcuts": 1 }, - "19": { "Mouse": 3 }, - "20": { "Plugins": 1 }, - "21": { "ScriptingTutorialPart2": 1 }, - "22": { "ScriptKeywords": 3 }, - "23": { "ScriptModules": 1 }, - "24": { "Settingupthegame": 1 }, - "25": { "Speech": 2 }, - "26": { "System": 1 }, - "27": { "UpgradeTo30": 1 }, - "28": { "UpgradeTo31": 1 }, - "29": { "UpgradeTo341": 1 }, - "30": { "UpgradingTo27": 1 }, - "31": { "Viewport": 1 } - }, - "nice": { - "0": { "EditorGUI": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "niftier": { - "0": { "GUIControl": 1 } - }, - "niggly": { - "0": { "Character": 1 } - }, - "nightBackground": { - "0": { "DrawingSurface": 3 } - }, - "nimm": { - "0": { "Tumbleweed_translation": 1 } - }, - "node": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 7 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 4 }, - "6": { "acintro9": 3 }, - "7": { "EditorCharacter": 2 }, - "8": { "EditorCursor": 2 }, - "9": { "EditorDialog": 2 }, - "10": { "EditorFont": 2 }, - "11": { "EditorGUI": 3 }, - "12": { "EditorRoom": 1 }, - "13": { "MultipleScripts": 1 }, - "14": { "MusicAndSound": 2 }, - "15": { "Plugins": 1 }, - "16": { "Settingupthegame": 11 }, - "17": { "Translations": 1 }, - "18": { "UpgradeTo341": 1 } - }, - "noiface": { - "0": { "RuntimeEngine": 1 } - }, - "noloopcheck": { - "0": { "ScriptKeywords": 8 } - }, - "nominal": { - "0": { "UpgradeTo36": 2 } - }, - "non": { - "0": { "Character": 1 }, - "1": { "Overlay": 1 } - }, - "non-Latin": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "non-Software": { - "0": { "DefaultSetup": 1 } - }, - "non-accelerated": { - "0": { "System": 1 } - }, - "non-adventure": { - "0": { "FAQ": 1 } - }, - "non-blocking": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Game": 3 }, - "2": { "Tumbleweed_movement": 2 } - }, - "non-clickable": { - "0": { "GUIControl": 1 }, - "1": { "Object": 1 }, - "2": { "Tumbleweed_door": 1 } - }, - "non-deprecated": { - "0": { "GeneralSettings": 1 } - }, - "non-existing": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "non-functional": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "non-managed": { - "0": { "DynamicArrays": 1 } - }, - "non-player": { - "0": { "acintro3": 1 }, - "1": { "Character": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_Room": 1 } - }, - "non-portable": { - "0": { "EnginePlugins": 1 } - }, - "non-room": { - "0": { "Globalfunctions_General": 2 }, - "1": { "Room": 1 } - }, - "non-round": { - "0": { "DefaultSetup": 1 } - }, - "non-selected": { - "0": { "acintro3": 1 }, - "1": { "ListBox": 1 } - }, - "non-state": { - "0": { "Globalfunctions_Room": 1 } - }, - "non-text": { - "0": { "Character": 2 }, - "1": { "Hotspot": 2 }, - "2": { "InventoryItem": 2 }, - "3": { "Object": 2 }, - "4": { "Room": 2 } - }, - "non-textwindow": { - "0": { "GeneralSettings": 1 } - }, - "non-transparent": { - "0": { "GeneralSettings": 1 } - }, - "non-voice": { - "0": { "Lipsync": 1 } - }, - "non-walkable": { - "0": { "Character": 1 } - }, - "non-zero": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Maths": 2 }, - "4": { "ScriptingTutorialPart1": 2 } - }, - "none": { - "0": { "acintro5": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "Keycodes": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "TemplateBASS": 1 }, - "9": { "UnicodeSupport": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "nor": { - "0": { "AudioInScript": 1 }, - "1": { "Copyright": 2 }, - "2": { "Globalfunctions_Event": 2 }, - "3": { "Overlay": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "SystemRequirements": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "norm": { - "0": { "GeneralSettings": 1 } - }, - "normal": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 4 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AudioChannel": 1 }, - "5": { "Button": 7 }, - "6": { "Character": 25 }, - "7": { "DialogScript": 4 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorGUI": 2 }, - "10": { "EnginePluginRun-timeAPI": 4 }, - "11": { "Game": 1 }, - "12": { "GameEventsOrder": 1 }, - "13": { "GeneralSettings": 3 }, - "14": { "Globalfunctions_General": 5 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "Globalfunctions_Room": 5 }, - "17": { "Globalfunctions_Screen": 4 }, - "18": { "GUI": 9 }, - "19": { "KeyboardShortcuts": 1 }, - "20": { "Object": 1 }, - "21": { "Overlay": 1 }, - "22": { "ScriptingTutorialPart2": 1 }, - "23": { "Settingupthegame": 4 }, - "24": { "StringFormats": 2 }, - "25": { "System": 2 }, - "26": { "Templates": 1 }, - "27": { "Translations": 2 }, - "28": { "Tumbleweed_translation": 1 }, - "29": { "UpgradeTo30": 1 } - }, - "normally": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 1 }, - "4": { "AudioChannel": 1 }, - "5": { "AudioClip": 2 }, - "6": { "Button": 1 }, - "7": { "Character": 1 }, - "8": { "Debuggingfeatures": 1 }, - "9": { "Dialog": 1 }, - "10": { "DistGame": 1 }, - "11": { "DrawingSurface": 1 }, - "12": { "DynamicSprite": 2 }, - "13": { "EditorCommandLineOptions": 1 }, - "14": { "EnginePluginRun-timeAPI": 4 }, - "15": { "Game": 2 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 5 }, - "18": { "Globalfunctions_Event": 1 }, - "19": { "Globalfunctions_General": 3 }, - "20": { "Globalfunctions_Message": 1 }, - "21": { "Globalfunctions_Palette": 1 }, - "22": { "Globalfunctions_Room": 1 }, - "23": { "Globalfunctions_Screen": 1 }, - "24": { "Globalfunctions_Wait": 1 }, - "25": { "Multimedia": 1 }, - "26": { "Object": 1 }, - "27": { "ScriptKeywords": 3 }, - "28": { "String": 1 }, - "29": { "System": 1 }, - "30": { "Templates": 1 }, - "31": { "TextParser": 1 }, - "32": { "UpgradeTo33": 1 } - }, - "north": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 } - }, - "noscript": { - "0": { "RuntimeEngine": 1 } - }, - "nospr": { - "0": { "RuntimeEngine": 1 } - }, - "not-clickable": { - "0": { "Object": 1 } - }, - "not-interactable": { - "0": { "Object": 1 } - }, - "notation": { - "0": { "DynamicArrays": 1 } - }, - "note": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "Button": 1 }, - "5": { "EventTypes": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "OOProgramming": 1 }, - "8": { "Room": 1 }, - "9": { "ScriptingTutorialPart1": 2 }, - "10": { "ScriptKeywords": 1 }, - "11": { "Translations": 1 }, - "12": { "Tumbleweed": 1 }, - "13": { "UpgradeTo35": 1 } - }, - "noted": { - "0": { "BuildAndroid": 1 }, - "1": { "Setup": 1 } - }, - "notes": { - "0": { "GeneralSettings": 1 }, - "1": { "Multimedia": 1 }, - "2": { "Translations": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "nothing": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 2 }, - "4": { "DialogScript": 1 }, - "5": { "EditorFont": 1 }, - "6": { "EnginePluginRun-timeAPI": 4 }, - "7": { "FAQ": 3 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_Event": 5 }, - "10": { "Globalfunctions_General": 10 }, - "11": { "Globalfunctions_Palette": 1 }, - "12": { "GraphicsDriver": 2 }, - "13": { "GUI": 2 }, - "14": { "ImportingFunctionsAndVariables": 1 }, - "15": { "InvWindow": 2 }, - "16": { "ListBox": 2 }, - "17": { "Multimedia": 2 }, - "18": { "Pointers": 1 }, - "19": { "Preprocessor": 1 }, - "20": { "RuntimeEngine": 1 }, - "21": { "TemplateBASS": 1 }, - "22": { "Tumbleweed": 1 }, - "23": { "Tumbleweed_extensions": 1 }, - "24": { "UpgradeTo36": 2 } - }, - "notice": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 1 }, - "6": { "ContactingTheDevelopers": 1 }, - "7": { "CustomProperties": 1 }, - "8": { "DistGame": 1 }, - "9": { "EditorGUI": 2 }, - "10": { "EditorPlugins": 1 }, - "11": { "EventTypes": 1 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "Lipsync": 1 }, - "14": { "Multimedia": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Pointers": 1 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptingTutorialPart2": 1 }, - "19": { "Settingupthegame": 1 }, - "20": { "TextParser": 2 }, - "21": { "Tumbleweed_translation": 1 }, - "22": { "UpgradeTo31": 2 }, - "23": { "UpgradeTo35": 1 } - }, - "noticeable": { - "0": { "Multimedia": 1 } - }, - "noticeably": { - "0": { "Multimedia": 1 } - }, - "noticed": { - "0": { "acintro5": 1 }, - "1": { "acintro8": 2 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "ScriptingTutorialPart2": 2 }, - "5": { "Settingupthegame": 2 } - }, - "notification": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "notifications": { - "0": { "EditorLogPanel": 1 } - }, - "noupdate": { - "0": { "RuntimeEngine": 1 } - }, - "novideo": { - "0": { "RuntimeEngine": 1 } - }, - "now": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 6 }, - "4": { "acintro5": 2 }, - "5": { "acintro7": 4 }, - "6": { "acintro8": 2 }, - "7": { "AudioChannel": 13 }, - "8": { "AudioClip": 9 }, - "9": { "AudioInScript": 1 }, - "10": { "BlockingScripts": 1 }, - "11": { "BuildAndroid": 5 }, - "12": { "Button": 11 }, - "13": { "Camera": 1 }, - "14": { "Character": 71 }, - "15": { "CustomDialogOptions": 2 }, - "16": { "CustomProperties": 1 }, - "17": { "DateTime": 3 }, - "18": { "Debuggingfeatures": 1 }, - "19": { "Dialog": 5 }, - "20": { "DialogScript": 1 }, - "21": { "DistGame": 1 }, - "22": { "DrawingSurface": 15 }, - "23": { "DynamicArrays": 1 }, - "24": { "DynamicSprite": 3 }, - "25": { "EditorGUI": 2 }, - "26": { "EditorPlugins": 2 }, - "27": { "EditorPreferences": 2 }, - "28": { "EditorSprite": 1 }, - "29": { "EnginePluginRun-timeAPI": 1 }, - "30": { "ExtenderFunctions": 1 }, - "31": { "FAQ": 2 }, - "32": { "File": 15 }, - "33": { "Game": 33 }, - "34": { "GameSavesCompatibility": 6 }, - "35": { "GeneralSettings": 2 }, - "36": { "Globalfunctions_General": 6 }, - "37": { "GlobalVariables": 1 }, - "38": { "GUI": 13 }, - "39": { "GUIControl": 4 }, - "40": { "Hotspot": 12 }, - "41": { "InventoryItem": 12 }, - "42": { "InvWindow": 5 }, - "43": { "Keycodes": 2 }, - "44": { "Label": 5 }, - "45": { "ListBox": 16 }, - "46": { "MIDI-playback": 1 }, - "47": { "Mouse": 17 }, - "48": { "Multimedia": 1 }, - "49": { "MusicAndSound": 1 }, - "50": { "Object": 34 }, - "51": { "Overlay": 8 }, - "52": { "Pointers": 1 }, - "53": { "Preprocessor": 2 }, - "54": { "Region": 7 }, - "55": { "Room": 8 }, - "56": { "Screen": 4 }, - "57": { "ScriptAPIOverview": 1 }, - "58": { "ScriptingTutorialPart1": 5 }, - "59": { "ScriptingTutorialPart2": 1 }, - "60": { "ScriptKeywords": 4 }, - "61": { "Settingupthegame": 1 }, - "62": { "Slider": 2 }, - "63": { "Speech": 7 }, - "64": { "StandardTypes": 1 }, - "65": { "String": 13 }, - "66": { "System": 11 }, - "67": { "Templates": 1 }, - "68": { "TemplateVerbcoin": 1 }, - "69": { "TextBox": 5 }, - "70": { "TextParser": 1 }, - "71": { "Translations": 2 }, - "72": { "Tumbleweed": 2 }, - "73": { "Tumbleweed_door": 1 }, - "74": { "Tumbleweed_movement": 1 }, - "75": { "UpgradeTo30": 5 }, - "76": { "UpgradeTo31": 1 }, - "77": { "UpgradeTo32": 6 }, - "78": { "UpgradeTo33": 6 }, - "79": { "UpgradeTo335": 2 }, - "80": { "UpgradeTo34": 9 }, - "81": { "UpgradeTo341": 2 }, - "82": { "UpgradeTo35": 9 }, - "83": { "UpgradeTo36": 24 }, - "84": { "UpgradeTo361": 4 }, - "85": { "UpgradingTo27": 12 }, - "86": { "UpgradingTo271": 5 }, - "87": { "ViewFrame": 9 } - }, - "nr": { - "0": { "Tumbleweed_door": 12 } - }, - "null": { - "0": { "AudioChannel": 2 }, - "1": { "AudioClip": 5 }, - "2": { "Character": 6 }, - "3": { "Dialog": 2 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "Dictionary": 3 }, - "6": { "DynamicArrays": 6 }, - "7": { "DynamicSprite": 8 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "File": 7 }, - "10": { "Game": 3 }, - "11": { "GlobalVariables": 1 }, - "12": { "GUI": 8 }, - "13": { "GUIControl": 8 }, - "14": { "Hotspot": 2 }, - "15": { "InventoryItem": 5 }, - "16": { "InvWindow": 2 }, - "17": { "MusicAndSound": 2 }, - "18": { "Object": 4 }, - "19": { "OOProgramming": 1 }, - "20": { "Parser": 2 }, - "21": { "Pointers": 14 }, - "22": { "Room": 1 }, - "23": { "Screen": 1 }, - "24": { "ScriptKeywords": 2 }, - "25": { "Set": 1 }, - "26": { "Speech": 8 }, - "27": { "String": 3 }, - "28": { "TextParser": 1 }, - "29": { "ViewFrame": 2 }, - "30": { "Viewport": 7 } - }, - "nullptr": { - "0": { "Pointers": 1 } - }, - "num": { - "0": { "Globalfunctions_General": 1 }, - "1": { "InvWindow": 1 }, - "2": { "ObsoleteScriptAPI": 1 } - }, - "numArgs": { - "0": { "EnginePluginRun-timeAPI": 4 } - }, - "numItems": { - "0": { "ListBox": 1 } - }, - "numSprites": { - "0": { "DynamicArrays": 1 } - }, - "number": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 2 }, - "4": { "acintro7": 5 }, - "5": { "AdvancedRoomFeatures": 2 }, - "6": { "AudioChannel": 8 }, - "7": { "AudioClip": 1 }, - "8": { "AudioInScript": 1 }, - "9": { "AutonumberSpeechFiles": 1 }, - "10": { "Button": 9 }, - "11": { "Camera": 1 }, - "12": { "Character": 36 }, - "13": { "ColoursEditor": 1 }, - "14": { "Constants": 2 }, - "15": { "Copyright": 1 }, - "16": { "CustomDialogOptions": 1 }, - "17": { "DateTime": 1 }, - "18": { "Debuggingfeatures": 1 }, - "19": { "Dialog": 11 }, - "20": { "DialogOptionsRenderingInfo": 2 }, - "21": { "DialogScript": 1 }, - "22": { "Dictionary": 2 }, - "23": { "DistGame": 1 }, - "24": { "DrawingSurface": 7 }, - "25": { "DynamicSprite": 5 }, - "26": { "EditorCursor": 2 }, - "27": { "EditorDialog": 1 }, - "28": { "EditorGUI": 4 }, - "29": { "EditorInventoryItems": 1 }, - "30": { "EditorPlugins": 1 }, - "31": { "EditorRoom": 2 }, - "32": { "EditorSprite": 2 }, - "33": { "EditorView": 3 }, - "34": { "EnginePluginDesign-timeAPI": 2 }, - "35": { "EnginePluginRun-timeAPI": 44 }, - "36": { "File": 13 }, - "37": { "Game": 22 }, - "38": { "GameSavesCompatibility": 9 }, - "39": { "Gamevariables": 2 }, - "40": { "GeneralSettings": 7 }, - "41": { "GlobalArrays": 3 }, - "42": { "Globalfunctions_Event": 15 }, - "43": { "Globalfunctions_General": 17 }, - "44": { "Globalfunctions_Message": 5 }, - "45": { "Globalfunctions_Palette": 1 }, - "46": { "Globalfunctions_Room": 10 }, - "47": { "GUI": 11 }, - "48": { "GUIControl": 4 }, - "49": { "Hotspot": 7 }, - "50": { "InventoryItem": 9 }, - "51": { "InvWindow": 5 }, - "52": { "Lipsync": 1 }, - "53": { "ListBox": 6 }, - "54": { "Maths": 7 }, - "55": { "Mouse": 2 }, - "56": { "Multimedia": 5 }, - "57": { "MusicAndSound": 1 }, - "58": { "Object": 17 }, - "59": { "Overlay": 5 }, - "60": { "Parser": 2 }, - "61": { "Preprocessor": 2 }, - "62": { "Region": 5 }, - "63": { "Room": 5 }, - "64": { "RuntimeEngine": 1 }, - "65": { "Screen": 1 }, - "66": { "ScriptAPIOverview": 2 }, - "67": { "ScriptingTutorialPart1": 1 }, - "68": { "ScriptingTutorialPart2": 1 }, - "69": { "ScriptKeywords": 6 }, - "70": { "ScriptModules": 1 }, - "71": { "Set": 2 }, - "72": { "Settingupthegame": 14 }, - "73": { "String": 6 }, - "74": { "StringFormats": 1 }, - "75": { "System": 6 }, - "76": { "SystemLimits": 1 }, - "77": { "TextParser": 5 }, - "78": { "Translations": 4 }, - "79": { "TroubleshootingWindowsZoneID": 2 }, - "80": { "UnicodeSupport": 1 }, - "81": { "UpgradeTo33": 3 }, - "82": { "UpgradeTo34": 4 }, - "83": { "UpgradeTo341": 1 }, - "84": { "UpgradeTo35": 3 }, - "85": { "UpgradeTo36": 3 }, - "86": { "UpgradingTo27": 2 }, - "87": { "ViewFrame": 4 }, - "88": { "Viewport": 1 }, - "89": { "VoiceSpeech": 1 } - }, - "number-based": { - "0": { "Hotspot": 1 }, - "1": { "Region": 1 } - }, - "numbered": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "Game": 3 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "ListBox": 1 } - }, - "numbers": { - "0": { "acintro7": 2 }, - "1": { "AdvancedRoomFeatures": 4 }, - "2": { "AutonumberSpeechFiles": 1 }, - "3": { "Button": 1 }, - "4": { "Character": 1 }, - "5": { "CustomProperties": 1 }, - "6": { "Dialog": 1 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorRoom": 1 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 3 }, - "15": { "Globalfunctions_Room": 1 }, - "16": { "Label": 1 }, - "17": { "Object": 1 }, - "18": { "Pointers": 1 }, - "19": { "Preprocessor": 1 }, - "20": { "ScriptAPIOverview": 1 }, - "21": { "ScriptingTutorialPart2": 1 }, - "22": { "ScriptKeywords": 4 }, - "23": { "Settingupthegame": 3 }, - "24": { "String": 1 }, - "25": { "SystemLimits": 1 }, - "26": { "TroubleshootingWindowsZoneID": 1 }, - "27": { "UpgradeTo36": 1 }, - "28": { "UpgradingTo27": 1 }, - "29": { "VoiceSpeech": 2 } - }, - "numeric": { - "0": { "Character": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "GlobalArrays": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "GUI": 1 }, - "5": { "Hotspot": 1 }, - "6": { "InventoryItem": 1 }, - "7": { "Keycodes": 1 }, - "8": { "Object": 1 }, - "9": { "Room": 1 }, - "10": { "RuntimeEngine": 1 }, - "11": { "String": 1 }, - "12": { "System": 1 } - }, - "numerical": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "numguis": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "numlock": { - "0": { "UpgradeTo36": 1 } - }, - "numobjects": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "numparams": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "nutshell": { - "0": { "EngineConfigFile": 1 }, - "1": { "RepExec": 1 }, - "2": { "ScriptAPIOverview": 1 } - }, - "oBullet": { - "0": { "Character": 3 }, - "1": { "Object": 3 } - }, - "oCup": { - "0": { "Tumbleweed": 3 } - }, - "oDoor": { - "0": { "DrawingSurface": 2 }, - "1": { "Object": 8 }, - "2": { "Tumbleweed_door": 2 }, - "3": { "UpgradingTo27": 1 } - }, - "oDoor's": { - "0": { "Object": 3 } - }, - "oFlower": { - "0": { "FAQ": 1 } - }, - "oKey": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 } - }, - "oLamp": { - "0": { "Object": 1 } - }, - "oMachine": { - "0": { "AudioChannel": 3 } - }, - "oMyObject": { - "0": { "DynamicSprite": 4 } - }, - "oName": { - "0": { "Object": 1 } - }, - "oRock": { - "0": { "Object": 5 } - }, - "oSmallrock": { - "0": { "Object": 1 } - }, - "oTable": { - "0": { "Object": 2 } - }, - "oWall": { - "0": { "Object": 2 } - }, - "oWaterfall": { - "0": { "UpgradingTo27": 1 } - }, - "obey": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "obeying": { - "0": { "Character": 1 } - }, - "obj": { - "0": { "AudioClip": 2 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 6 }, - "4": { "Hotspot": 4 } - }, - "object": { - "0": { "acintro3": 2 }, - "1": { "acintro4": 20 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 5 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "AudioChannel": 1 }, - "8": { "BlockingScripts": 1 }, - "9": { "Character": 13 }, - "10": { "ContactingTheDevelopers": 1 }, - "11": { "CustomDialogOptions": 3 }, - "12": { "CustomProperties": 2 }, - "13": { "DateTime": 8 }, - "14": { "DynamicSprite": 12 }, - "15": { "EditorCursor": 1 }, - "16": { "EditorGUI": 1 }, - "17": { "EditorPlugins": 4 }, - "18": { "EditorRoom": 7 }, - "19": { "EditorSprite": 1 }, - "20": { "EditorView": 2 }, - "21": { "EnginePluginRun-timeAPI": 61 }, - "22": { "EventTypes": 25 }, - "23": { "ExtenderFunctions": 4 }, - "24": { "FAQ": 7 }, - "25": { "File": 1 }, - "26": { "Game": 6 }, - "27": { "GameSavesCompatibility": 6 }, - "28": { "GeneralSettings": 5 }, - "29": { "GlobalArrays": 2 }, - "30": { "Globalfunctions_Event": 8 }, - "31": { "Globalfunctions_General": 14 }, - "32": { "Globalfunctions_Room": 6 }, - "33": { "GraphicsDriver": 1 }, - "34": { "GUI": 2 }, - "35": { "GUIControl": 3 }, - "36": { "Hotspot": 1 }, - "37": { "Label": 1 }, - "38": { "Mouse": 2 }, - "39": { "Object": 166 }, - "40": { "Overlay": 2 }, - "41": { "Pointers": 18 }, - "42": { "Region": 1 }, - "43": { "RepExec": 1 }, - "44": { "Room": 2 }, - "45": { "ScriptAPIOverview": 1 }, - "46": { "ScriptingTutorialPart1": 1 }, - "47": { "ScriptKeywords": 15 }, - "48": { "Settingupthegame": 6 }, - "49": { "TemplateVerbcoin": 1 }, - "50": { "Tumbleweed": 4 }, - "51": { "Tumbleweed_door": 11 }, - "52": { "Tumbleweed_extensions": 3 }, - "53": { "Tumbleweed_movement": 2 }, - "54": { "UnicodeSupport": 1 }, - "55": { "UpgradeTo30": 1 }, - "56": { "UpgradeTo35": 1 }, - "57": { "UpgradeTo36": 4 }, - "58": { "UpgradeTo361": 3 }, - "59": { "UpgradingTo27": 3 }, - "60": { "UpgradingTo271": 1 } - }, - "object's": { - "0": { "AudioClip": 3 }, - "1": { "Character": 2 }, - "2": { "Dialog": 2 }, - "3": { "DrawingSurface": 1 }, - "4": { "DynamicSprite": 3 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "FAQ": 1 }, - "8": { "GUI": 2 }, - "9": { "GUIControl": 2 }, - "10": { "Hotspot": 2 }, - "11": { "InventoryItem": 2 }, - "12": { "Object": 36 }, - "13": { "Pointers": 2 }, - "14": { "Settingupthegame": 1 }, - "15": { "UpgradeTo361": 2 } - }, - "object-based": { - "0": { "Constants": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "ScriptingTutorialPart1": 2 }, - "3": { "UpgradeTo32": 1 }, - "4": { "UpgradingTo27": 7 }, - "5": { "UpgradingTo271": 1 } - }, - "object-ized": { - "0": { "UpgradeTo30": 1 }, - "1": { "UpgradeTo34": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "objectID": { - "0": { "Tumbleweed_movement": 1 } - }, - "objective": { - "0": { "acintro4": 1 } - }, - "objects": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "AdvancedRoomFeatures": 6 }, - "8": { "AudioInScript": 1 }, - "9": { "Camera": 1 }, - "10": { "Character": 1 }, - "11": { "Constants": 1 }, - "12": { "CustomProperties": 3 }, - "13": { "Debuggingfeatures": 1 }, - "14": { "DefaultSetup": 2 }, - "15": { "DynamicArrays": 3 }, - "16": { "EditorCursor": 1 }, - "17": { "EditorRoom": 2 }, - "18": { "EnginePluginRun-timeAPI": 10 }, - "19": { "EventTypes": 2 }, - "20": { "FAQ": 5 }, - "21": { "Game": 2 }, - "22": { "GameEventsOrder": 1 }, - "23": { "GameSavesCompatibility": 20 }, - "24": { "GeneralSettings": 2 }, - "25": { "GlobalArrays": 4 }, - "26": { "Globalfunctions_General": 3 }, - "27": { "Globalfunctions_Room": 4 }, - "28": { "GUI": 4 }, - "29": { "Object": 6 }, - "30": { "Overlay": 12 }, - "31": { "Pointers": 2 }, - "32": { "RepExec": 2 }, - "33": { "Room": 3 }, - "34": { "RuntimeEngine": 1 }, - "35": { "ScriptingTutorialPart1": 1 }, - "36": { "ScriptKeywords": 2 }, - "37": { "Settingupthegame": 2 }, - "38": { "Setup": 2 }, - "39": { "System": 1 }, - "40": { "SystemRequirements": 1 }, - "41": { "Tumbleweed": 2 }, - "42": { "Tumbleweed_actions": 1 }, - "43": { "Tumbleweed_extensions": 1 }, - "44": { "Tumbleweed_movement": 1 }, - "45": { "UnicodeSupport": 1 }, - "46": { "UpgradeTo31": 3 }, - "47": { "UpgradeTo34": 2 }, - "48": { "UpgradeTo35": 4 }, - "49": { "UpgradeTo36": 6 }, - "50": { "UpgradeTo361": 1 } - }, - "obsolete": { - "0": { "AudioChannel": 13 }, - "1": { "AudioClip": 8 }, - "2": { "Button": 11 }, - "3": { "Character": 73 }, - "4": { "DateTime": 2 }, - "5": { "Dialog": 3 }, - "6": { "DrawingSurface": 16 }, - "7": { "DynamicSprite": 3 }, - "8": { "File": 14 }, - "9": { "Game": 31 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 8 }, - "12": { "Globalfunctions_Room": 5 }, - "13": { "GlobalVariables": 1 }, - "14": { "GUI": 14 }, - "15": { "GUIControl": 5 }, - "16": { "Hotspot": 11 }, - "17": { "InventoryItem": 13 }, - "18": { "InvWindow": 5 }, - "19": { "Label": 5 }, - "20": { "ListBox": 17 }, - "21": { "Mouse": 16 }, - "22": { "Multimedia": 1 }, - "23": { "Object": 36 }, - "24": { "Overlay": 7 }, - "25": { "Region": 6 }, - "26": { "Room": 8 }, - "27": { "Screen": 4 }, - "28": { "ScriptAPIOverview": 1 }, - "29": { "Slider": 2 }, - "30": { "Speech": 7 }, - "31": { "String": 13 }, - "32": { "System": 15 }, - "33": { "TextBox": 5 }, - "34": { "UpgradeTo30": 2 }, - "35": { "UpgradeTo32": 1 }, - "36": { "UpgradeTo33": 2 }, - "37": { "UpgradeTo34": 2 }, - "38": { "UpgradeTo35": 4 }, - "39": { "UpgradeTo36": 1 }, - "40": { "ViewFrame": 9 } - }, - "obsoleted": { - "0": { "UpgradeTo32": 1 } - }, - "obtain": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 } - }, - "obtained": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "obvious": { - "0": { "acintro4": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UpgradingTo27": 2 } - }, - "obviously": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DateTime": 1 }, - "2": { "FAQ": 1 }, - "3": { "Overlay": 1 }, - "4": { "ScriptAPIOverview": 1 } - }, - "occasional": { - "0": { "Mouse": 1 } - }, - "occasions": { - "0": { "Mouse": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "occupy": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "occupying": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "occur": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "EventTypes": 2 }, - "3": { "File": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "Pointers": 1 }, - "7": { "Tumbleweed": 1 } - }, - "occured": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "occurred": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "File": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Object": 1 } - }, - "occurs": { - "0": { "acintro3": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "EventTypes": 7 }, - "3": { "Globalfunctions_Event": 5 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "Slider": 2 } - }, - "odd": { - "0": { "Translations": 1 } - }, - "oddity": { - "0": { "UpgradeTo32": 1 } - }, - "off": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 5 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 1 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AnonymousUsageInfo": 1 }, - "8": { "Character": 6 }, - "9": { "ColoursEditor": 1 }, - "10": { "ContactingTheDevelopers": 1 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "Debuggingfeatures": 1 }, - "13": { "Dialog": 1 }, - "14": { "DialogScript": 2 }, - "15": { "DynamicSprite": 2 }, - "16": { "EditorGUI": 2 }, - "17": { "EditorRoom": 1 }, - "18": { "EngineConfigFile": 1 }, - "19": { "EventTypes": 9 }, - "20": { "Game": 1 }, - "21": { "Gamevariables": 1 }, - "22": { "GeneralSettings": 3 }, - "23": { "Globalfunctions_General": 9 }, - "24": { "Globalfunctions_Room": 3 }, - "25": { "Globalfunctions_Screen": 2 }, - "26": { "GUI": 1 }, - "27": { "GUIControl": 1 }, - "28": { "Mouse": 1 }, - "29": { "Multimedia": 1 }, - "30": { "MusicAndSound": 2 }, - "31": { "Object": 2 }, - "32": { "Region": 1 }, - "33": { "ScriptAPIOverview": 5 }, - "34": { "ScriptingTutorialPart1": 2 }, - "35": { "ScriptingTutorialPart2": 1 }, - "36": { "Settingupthegame": 2 }, - "37": { "Setup": 1 }, - "38": { "StartingOff": 1 }, - "39": { "String": 4 }, - "40": { "System": 3 }, - "41": { "Templates": 1 }, - "42": { "TemplateSierraStyle": 1 }, - "43": { "Tumbleweed": 1 }, - "44": { "Tumbleweed_extensions": 1 }, - "45": { "Tutorial": 1 }, - "46": { "UpgradeTo31": 1 }, - "47": { "UpgradeTo36": 1 } - }, - "offensive": { - "0": { "Copyright": 1 } - }, - "offer": { - "0": { "EditorSprite": 1 }, - "1": { "RuntimeEngine": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "offered": { - "0": { "EditorRoom": 2 } - }, - "offering": { - "0": { "TemplateVerbcoin": 1 } - }, - "offers": { - "0": { "EditorRoom": 1 }, - "1": { "File": 2 }, - "2": { "RuntimeEngine": 1 } - }, - "official": { - "0": { "Templates": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "officially": { - "0": { "ScriptAPIOverview": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "offscreen": { - "0": { "GUI": 1 }, - "1": { "Viewport": 5 } - }, - "offset": { - "0": { "AudioChannel": 4 }, - "1": { "AudioClip": 2 }, - "2": { "Character": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorFont": 1 }, - "5": { "EnginePluginRun-timeAPI": 6 }, - "6": { "File": 8 }, - "7": { "Mouse": 1 }, - "8": { "Multimedia": 2 }, - "9": { "Slider": 1 }, - "10": { "Speech": 1 }, - "11": { "Tumbleweed": 1 }, - "12": { "Tumbleweed_helper": 1 }, - "13": { "Tumbleweed_movement": 2 }, - "14": { "UpgradeTo35": 3 } - }, - "offsets": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "UpgradeTo32": 1 } - }, - "often": { - "0": { "acintro5": 1 }, - "1": { "AudioInScript": 2 }, - "2": { "Character": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Mouse": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "Setup": 2 }, - "9": { "SystemLimits": 1 }, - "10": { "UpgradingTo27": 1 } - }, - "ogg": { - "0": { "DistGame": 3 }, - "1": { "MusicAndSound": 1 } - }, - "ogl": { - "0": { "RuntimeEngine": 1 } - }, - "ogv": { - "0": { "Multimedia": 4 } - }, - "oh": { - "0": { "BlockingScripts": 1 } - }, - "old": { - "0": { "Character": 5 }, - "1": { "Constants": 1 }, - "2": { "CustomDialogOptions": 2 }, - "3": { "Dictionary": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicArrays": 2 }, - "6": { "DynamicSprite": 1 }, - "7": { "EditorPlugins": 1 }, - "8": { "EnginePluginRun-timeAPI": 6 }, - "9": { "FAQ": 1 }, - "10": { "File": 2 }, - "11": { "GameSavesCompatibility": 12 }, - "12": { "GeneralSettings": 6 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Hotspot": 1 }, - "15": { "Introduction": 1 }, - "16": { "Keycodes": 1 }, - "17": { "Mouse": 1 }, - "18": { "Object": 1 }, - "19": { "Preprocessor": 1 }, - "20": { "Region": 1 }, - "21": { "Room": 1 }, - "22": { "ScriptKeywords": 1 }, - "23": { "Settingupthegame": 1 }, - "24": { "Setup": 1 }, - "25": { "SourceControl": 1 }, - "26": { "StandardEnums": 1 }, - "27": { "TextParser": 2 }, - "28": { "UpgradeTo30": 5 }, - "29": { "UpgradeTo32": 4 }, - "30": { "UpgradeTo34": 2 }, - "31": { "UpgradeTo35": 4 }, - "32": { "UpgradeTo36": 4 }, - "33": { "UpgradeTo361": 1 }, - "34": { "UpgradingTo27": 4 }, - "35": { "UpgradingTo271": 1 } - }, - "old-fashioned": { - "0": { "UpgradeTo32": 1 } - }, - "old-school": { - "0": { "FAQ": 1 }, - "1": { "Game": 1 } - }, - "old-style": { - "0": { "Constants": 2 }, - "1": { "CustomDialogOptions": 3 }, - "2": { "GeneralSettings": 5 }, - "3": { "Globalfunctions_Event": 3 }, - "4": { "ScriptAPIOverview": 5 }, - "5": { "ScriptKeywords": 1 }, - "6": { "UpgradeTo32": 1 }, - "7": { "UpgradeTo34": 1 }, - "8": { "UpgradeTo36": 1 }, - "9": { "UpgradingTo27": 2 }, - "10": { "UpgradingTo271": 3 } - }, - "older": { - "0": { "acintro5": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "CustomDialogOptions": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GameSavesCompatibility": 11 }, - "5": { "GeneralSettings": 3 }, - "6": { "Preprocessor": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "TextParser": 1 }, - "9": { "UnicodeSupport": 2 }, - "10": { "UpgradeTo33": 1 }, - "11": { "UpgradeTo34": 1 }, - "12": { "UpgradeTo35": 4 }, - "13": { "UpgradeTo36": 6 }, - "14": { "UpgradeTo361": 1 } - }, - "omit": { - "0": { "GameSavesCompatibility": 1 } - }, - "omited": { - "0": { "Globalfunctions_Event": 2 } - }, - "omitted": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 } - }, - "on-screen": { - "0": { "acintro4": 2 }, - "1": { "Character": 3 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Lipsync": 1 }, - "5": { "Overlay": 2 }, - "6": { "Settingupthegame": 1 }, - "7": { "System": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "onGui": { - "0": { "GUIControl": 2 } - }, - "onWalkable": { - "0": { "Tumbleweed_player": 1 } - }, - "once": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro5": 3 }, - "3": { "acintro6": 2 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 1 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "BlockingScripts": 2 }, - "8": { "BuildAndroid": 1 }, - "9": { "Character": 5 }, - "10": { "ColoursEditor": 1 }, - "11": { "DefaultSetup": 2 }, - "12": { "Dialog": 1 }, - "13": { "DistGame": 1 }, - "14": { "EditorRoom": 1 }, - "15": { "EditorSprite": 4 }, - "16": { "EngineConfigFile": 1 }, - "17": { "EnginePluginDesign-timeAPI": 2 }, - "18": { "EnginePluginRun-timeAPI": 6 }, - "19": { "FAQ": 1 }, - "20": { "Game": 5 }, - "21": { "GeneralSettings": 1 }, - "22": { "Globalfunctions_General": 4 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "Hotspot": 1 }, - "25": { "InvWindow": 2 }, - "26": { "MusicAndSound": 2 }, - "27": { "Object": 3 }, - "28": { "Region": 1 }, - "29": { "ScriptingTutorialPart2": 2 }, - "30": { "ScriptKeywords": 3 }, - "31": { "Set": 1 }, - "32": { "Settingupthegame": 1 }, - "33": { "SourceControl": 1 }, - "34": { "UpgradeTo30": 2 }, - "35": { "UpgradeTo33": 1 }, - "36": { "UpgradeTo34": 1 }, - "37": { "UpgradeTo35": 1 }, - "38": { "Viewport": 1 } - }, - "one": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 2 }, - "4": { "acintro6": 3 }, - "5": { "acintro7": 6 }, - "6": { "acintro8": 6 }, - "7": { "AdvancedRoomFeatures": 3 }, - "8": { "AudioChannel": 1 }, - "9": { "AudioClip": 3 }, - "10": { "AudioInScript": 4 }, - "11": { "AutonumberSpeechFiles": 1 }, - "12": { "BackingUpYourGame": 1 }, - "13": { "BuildAndroid": 4 }, - "14": { "Button": 3 }, - "15": { "Camera": 3 }, - "16": { "Character": 21 }, - "17": { "ColoursEditor": 1 }, - "18": { "CustomDialogOptions": 4 }, - "19": { "Debuggingfeatures": 3 }, - "20": { "DefaultSetup": 6 }, - "21": { "Dialog": 2 }, - "22": { "DialogOptionsRenderingInfo": 3 }, - "23": { "DialogScript": 7 }, - "24": { "Dictionary": 5 }, - "25": { "DistGame": 2 }, - "26": { "DynamicArrays": 6 }, - "27": { "DynamicSprite": 7 }, - "28": { "EditorCharacter": 1 }, - "29": { "EditorCursor": 1 }, - "30": { "EditorFont": 1 }, - "31": { "EditorGUI": 7 }, - "32": { "EditorInventoryItems": 1 }, - "33": { "EditorPlugins": 7 }, - "34": { "EditorRoom": 5 }, - "35": { "EditorSprite": 2 }, - "36": { "EditorView": 3 }, - "37": { "EngineConfigFile": 6 }, - "38": { "EnginePluginRun-timeAPI": 22 }, - "39": { "EventTypes": 4 }, - "40": { "FAQ": 3 }, - "41": { "File": 3 }, - "42": { "Game": 5 }, - "43": { "GameSavesCompatibility": 7 }, - "44": { "GeneralSettings": 6 }, - "45": { "GlobalArrays": 4 }, - "46": { "Globalfunctions_Event": 4 }, - "47": { "Globalfunctions_General": 13 }, - "48": { "Globalfunctions_Palette": 3 }, - "49": { "Globalfunctions_Room": 1 }, - "50": { "Globalfunctions_Screen": 1 }, - "51": { "Globalfunctions_Wait": 2 }, - "52": { "GlobalVariables": 2 }, - "53": { "GUI": 2 }, - "54": { "GUIControl": 2 }, - "55": { "ImportingFunctionsAndVariables": 3 }, - "56": { "InvWindow": 4 }, - "57": { "Keycodes": 3 }, - "58": { "Lipsync": 3 }, - "59": { "ListBox": 6 }, - "60": { "Maths": 1 }, - "61": { "MIDI-playback": 1 }, - "62": { "Mouse": 1 }, - "63": { "Multimedia": 1 }, - "64": { "MultipleScripts": 1 }, - "65": { "MusicAndSound": 14 }, - "66": { "Object": 2 }, - "67": { "Overlay": 3 }, - "68": { "Plugins": 1 }, - "69": { "Pointers": 3 }, - "70": { "Preprocessor": 1 }, - "71": { "Region": 1 }, - "72": { "RepExec": 4 }, - "73": { "RuntimeEngine": 1 }, - "74": { "Screen": 3 }, - "75": { "ScriptAPIOverview": 1 }, - "76": { "ScriptingTutorialPart1": 5 }, - "77": { "ScriptingTutorialPart2": 6 }, - "78": { "ScriptKeywords": 8 }, - "79": { "Set": 2 }, - "80": { "Settingupthegame": 10 }, - "81": { "Setup": 1 }, - "82": { "StandardEnums": 5 }, - "83": { "String": 1 }, - "84": { "StringFormats": 1 }, - "85": { "System": 4 }, - "86": { "Templates": 1 }, - "87": { "TextParser": 5 }, - "88": { "TheScriptHeader": 1 }, - "89": { "TroubleshootingWindowsZoneID": 1 }, - "90": { "Tumbleweed": 6 }, - "91": { "Tumbleweed_actions": 2 }, - "92": { "Tumbleweed_extensions": 1 }, - "93": { "Tumbleweed_movement": 2 }, - "94": { "Tumbleweed_translation": 1 }, - "95": { "UpgradeTo30": 3 }, - "96": { "UpgradeTo32": 4 }, - "97": { "UpgradeTo33": 3 }, - "98": { "UpgradeTo335": 1 }, - "99": { "UpgradeTo34": 1 }, - "100": { "UpgradeTo341": 2 }, - "101": { "UpgradeTo35": 4 }, - "102": { "UpgradeTo36": 6 }, - "103": { "UpgradeTo361": 1 }, - "104": { "UpgradingTo27": 3 }, - "105": { "Viewport": 6 } - }, - "one-letter": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "one-line": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "one-off": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "one-tenth": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "ones": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 2 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AudioInScript": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EventTypes": 1 }, - "10": { "FAQ": 1 }, - "11": { "GameSavesCompatibility": 2 }, - "12": { "Globalfunctions_Event": 1 }, - "13": { "Globalfunctions_General": 2 }, - "14": { "Room": 1 }, - "15": { "TheScriptHeader": 1 }, - "16": { "Translations": 1 }, - "17": { "Tumbleweed": 1 }, - "18": { "Tumbleweed_translation": 1 }, - "19": { "UnicodeSupport": 1 }, - "20": { "UpgradeTo30": 1 }, - "21": { "UpgradingTo27": 1 }, - "22": { "UpgradingTo271": 2 } - }, - "online": { - "0": { "Introduction": 1 } - }, - "only": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 4 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 2 }, - "4": { "acintro6": 5 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 5 }, - "8": { "AdvancedRoomFeatures": 4 }, - "9": { "AnonymousUsageInfo": 2 }, - "10": { "AudioChannel": 5 }, - "11": { "AudioClip": 2 }, - "12": { "AudioInScript": 2 }, - "13": { "BlockingScripts": 1 }, - "14": { "BuildAndroid": 1 }, - "15": { "Button": 2 }, - "16": { "Camera": 2 }, - "17": { "Character": 44 }, - "18": { "ColoursEditor": 1 }, - "19": { "Constants": 2 }, - "20": { "ContactingTheDevelopers": 2 }, - "21": { "CustomDialogOptions": 6 }, - "22": { "Debuggingfeatures": 6 }, - "23": { "DefaultSetup": 9 }, - "24": { "Dialog": 1 }, - "25": { "DialogOptionsRenderingInfo": 10 }, - "26": { "DistGame": 6 }, - "27": { "DrawingSurface": 1 }, - "28": { "DynamicSprite": 6 }, - "29": { "EditorCursor": 2 }, - "30": { "EditorGUI": 2 }, - "31": { "EditorInventoryItems": 1 }, - "32": { "EditorPlugins": 2 }, - "33": { "EditorPreferences": 1 }, - "34": { "EditorRoom": 7 }, - "35": { "EditorSprite": 2 }, - "36": { "EditorView": 3 }, - "37": { "EngineConfigFile": 5 }, - "38": { "EnginePluginDesign-timeAPI": 6 }, - "39": { "EnginePluginRun-timeAPI": 52 }, - "40": { "EventTypes": 1 }, - "41": { "FAQ": 3 }, - "42": { "File": 11 }, - "43": { "Game": 8 }, - "44": { "GameSavesCompatibility": 5 }, - "45": { "Gamevariables": 2 }, - "46": { "GeneralSettings": 14 }, - "47": { "Globalfunctions_Event": 8 }, - "48": { "Globalfunctions_General": 14 }, - "49": { "Globalfunctions_Message": 1 }, - "50": { "Globalfunctions_Palette": 1 }, - "51": { "Globalfunctions_Room": 2 }, - "52": { "Globalfunctions_Screen": 1 }, - "53": { "Globalfunctions_Wait": 3 }, - "54": { "GlobalVariables": 2 }, - "55": { "GraphicsDriver": 2 }, - "56": { "GUI": 4 }, - "57": { "GUIControl": 1 }, - "58": { "Hotspot": 4 }, - "59": { "ImportingFunctionsAndVariables": 4 }, - "60": { "Introduction": 1 }, - "61": { "InventoryItem": 4 }, - "62": { "Keycodes": 5 }, - "63": { "Label": 1 }, - "64": { "Lipsync": 2 }, - "65": { "ListBox": 4 }, - "66": { "Mouse": 7 }, - "67": { "Multimedia": 8 }, - "68": { "MultipleScripts": 2 }, - "69": { "MusicAndSound": 6 }, - "70": { "Object": 14 }, - "71": { "Overlay": 3 }, - "72": { "Pointers": 7 }, - "73": { "Preprocessor": 1 }, - "74": { "Region": 3 }, - "75": { "RepExec": 3 }, - "76": { "Room": 9 }, - "77": { "RuntimeEngine": 6 }, - "78": { "Screen": 1 }, - "79": { "ScriptAPIOverview": 1 }, - "80": { "ScriptingTutorialPart1": 4 }, - "81": { "ScriptKeywords": 15 }, - "82": { "ScriptModules": 1 }, - "83": { "Settingupthegame": 12 }, - "84": { "Setup": 6 }, - "85": { "Speech": 14 }, - "86": { "StandardTypes": 1 }, - "87": { "String": 4 }, - "88": { "System": 2 }, - "89": { "TemplateBASS": 1 }, - "90": { "TemplateVerbcoin": 2 }, - "91": { "Tumbleweed": 4 }, - "92": { "Tumbleweed_movement": 3 }, - "93": { "Tumbleweed_unhandled": 1 }, - "94": { "UpgradeTo30": 2 }, - "95": { "UpgradeTo31": 2 }, - "96": { "UpgradeTo335": 3 }, - "97": { "UpgradeTo34": 2 }, - "98": { "UpgradeTo341": 1 }, - "99": { "UpgradeTo35": 9 }, - "100": { "UpgradeTo36": 9 }, - "101": { "UpgradeTo361": 2 }, - "102": { "UpgradingTo27": 1 }, - "103": { "UpgradingTo271": 2 }, - "104": { "Viewport": 3 }, - "105": { "VoiceSpeech": 2 } - }, - "onto": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro9": 2 }, - "3": { "BlockingScripts": 1 }, - "4": { "Character": 2 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DrawingSurface": 17 }, - "7": { "DynamicSprite": 14 }, - "8": { "EditorGUI": 2 }, - "9": { "EditorSprite": 1 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "EventTypes": 2 }, - "12": { "Game": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "GUIControl": 2 }, - "16": { "Hotspot": 1 }, - "17": { "Object": 2 }, - "18": { "Region": 4 }, - "19": { "Room": 2 }, - "20": { "Settingupthegame": 1 }, - "21": { "UpgradeTo30": 6 } - }, - "onwards": { - "0": { "Settingupthegame": 1 } - }, - "opacity": { - "0": { "DrawingSurface": 1 }, - "1": { "Region": 1 } - }, - "opaque": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "open": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 2 }, - "7": { "acintro9": 2 }, - "8": { "BuildAndroid": 2 }, - "9": { "ColoursEditor": 1 }, - "10": { "Copyright": 1 }, - "11": { "DistGame": 1 }, - "12": { "EditorCharacter": 1 }, - "13": { "EditorCommandLineOptions": 2 }, - "14": { "EditorCursor": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorFont": 1 }, - "17": { "EditorPreferences": 1 }, - "18": { "EditorRoom": 2 }, - "19": { "EditorSprite": 1 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "FAQ": 1 }, - "22": { "File": 17 }, - "23": { "Game": 1 }, - "24": { "Lipsync": 2 }, - "25": { "MusicAndSound": 3 }, - "26": { "RepExec": 1 }, - "27": { "ScriptingTutorialPart2": 2 }, - "28": { "Settingupthegame": 7 }, - "29": { "TemplateVerbcoin": 4 }, - "30": { "TroubleshootingWindowsZoneID": 2 }, - "31": { "Tumbleweed": 1 }, - "32": { "Tumbleweed_door": 4 }, - "33": { "Tumbleweed_extensions": 2 }, - "34": { "UpgradeTo335": 2 }, - "35": { "UpgradeTo341": 1 }, - "36": { "UpgradeTo36": 1 }, - "37": { "UpgradingTo27": 1 } - }, - "opened": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "File": 8 }, - "4": { "GlobalVariables": 1 }, - "5": { "TemplateVerbcoin": 1 }, - "6": { "Translations": 1 }, - "7": { "TroubleshootingWindowsZoneID": 1 }, - "8": { "Tumbleweed_door": 4 }, - "9": { "Tumbleweed_extensions": 1 }, - "10": { "UpgradeTo36": 1 } - }, - "openedDoor": { - "0": { "ScriptingTutorialPart2": 2 } - }, - "opengl": { - "0": { "EngineConfigFile": 1 } - }, - "opengles": { - "0": { "EngineConfigFile": 1 } - }, - "opening": { - "0": { "acintro7": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "File": 4 }, - "4": { "GUIControl": 1 }, - "5": { "MusicAndSound": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "Translations": 1 }, - "8": { "Tumbleweed_extensions": 1 }, - "9": { "UpgradeTo335": 2 } - }, - "opens": { - "0": { "acintro6": 1 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "File": 1 }, - "3": { "GUI": 1 }, - "4": { "Hotspot": 1 } - }, - "opensound": { - "0": { "Tumbleweed_door": 2 } - }, - "operate": { - "0": { "acintro5": 1 }, - "1": { "Camera": 1 }, - "2": { "Multimedia": 1 }, - "3": { "UpgradingTo27": 1 }, - "4": { "Viewport": 1 } - }, - "operated": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "operating": { - "0": { "DistGame": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "MIDI-playback": 1 }, - "5": { "System": 1 } - }, - "operation": { - "0": { "DrawingSurface": 1 }, - "1": { "DynamicSprite": 3 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "Mouse": 1 }, - "5": { "Object": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "StandardEnums": 1 }, - "8": { "String": 1 } - }, - "operational": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "operations": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EnginePluginRun-timeAPI": 6 }, - "3": { "File": 2 }, - "4": { "Globalfunctions_Wait": 1 }, - "5": { "Keycodes": 1 }, - "6": { "Pointers": 2 }, - "7": { "Scripting": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "operator": { - "0": { "Constants": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Keycodes": 1 }, - "4": { "Pointers": 3 }, - "5": { "ScriptingTutorialPart1": 3 }, - "6": { "ScriptingTutorialPart2": 5 }, - "7": { "ScriptKeywords": 2 }, - "8": { "String": 2 }, - "9": { "UpgradeTo36": 1 } - }, - "operators": { - "0": { "GeneralSettings": 1 }, - "1": { "Keycodes": 1 }, - "2": { "ScriptingTutorialPart1": 3 }, - "3": { "ScriptKeywords": 3 }, - "4": { "UpgradingTo271": 1 } - }, - "opportunity": { - "0": { "EngineConfigFile": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "opposed": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "Setup": 1 }, - "5": { "Speech": 1 }, - "6": { "UpgradeTo34": 1 } - }, - "opposite": { - "0": { "Character": 4 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "Object": 1 }, - "5": { "Preprocessor": 1 }, - "6": { "Settingupthegame": 1 } - }, - "opt": { - "0": { "CustomDialogOptions": 21 } - }, - "opt--": { - "0": { "CustomDialogOptions": 1 } - }, - "optimization": { - "0": { "EditorSprite": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "optimize": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "Game": 1 } - }, - "optimizing": { - "0": { "Object": 1 } - }, - "option": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 2 }, - "5": { "acintro8": 12 }, - "6": { "acintro9": 2 }, - "7": { "AdvancedRoomFeatures": 5 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "AutonumberSpeechFiles": 2 }, - "10": { "Character": 12 }, - "11": { "ColoursEditor": 1 }, - "12": { "ContactingTheDevelopers": 1 }, - "13": { "CustomDialogOptions": 13 }, - "14": { "CustomProperties": 1 }, - "15": { "Debuggingfeatures": 2 }, - "16": { "DefaultSetup": 14 }, - "17": { "Dialog": 44 }, - "18": { "DialogOptionsRenderingInfo": 10 }, - "19": { "DialogScript": 10 }, - "20": { "DistGame": 4 }, - "21": { "DrawingSurface": 1 }, - "22": { "DynamicSprite": 1 }, - "23": { "EditorCommandLineOptions": 1 }, - "24": { "EditorCursor": 3 }, - "25": { "EditorDialog": 6 }, - "26": { "EditorGUI": 2 }, - "27": { "EditorRoom": 1 }, - "28": { "EditorSprite": 4 }, - "29": { "EditorView": 2 }, - "30": { "EngineConfigFile": 1 }, - "31": { "EventTypes": 1 }, - "32": { "File": 1 }, - "33": { "Game": 2 }, - "34": { "Gamevariables": 4 }, - "35": { "GeneralSettings": 25 }, - "36": { "Globalfunctions_Event": 2 }, - "37": { "Globalfunctions_General": 7 }, - "38": { "Globalfunctions_Room": 1 }, - "39": { "Globalfunctions_Screen": 1 }, - "40": { "GUI": 1 }, - "41": { "Introduction": 1 }, - "42": { "Mouse": 1 }, - "43": { "MusicAndSound": 2 }, - "44": { "Object": 2 }, - "45": { "Room": 1 }, - "46": { "RuntimeEngine": 3 }, - "47": { "ScriptAPIOverview": 1 }, - "48": { "ScriptKeywords": 1 }, - "49": { "ScriptModules": 1 }, - "50": { "Settingupthegame": 23 }, - "51": { "Setup": 14 }, - "52": { "SourceControl": 2 }, - "53": { "System": 2 }, - "54": { "TemplateSierraStyle": 1 }, - "55": { "Translations": 2 }, - "56": { "Tumbleweed": 2 }, - "57": { "UnicodeSupport": 3 }, - "58": { "UpgradeTo30": 4 }, - "59": { "UpgradeTo31": 2 }, - "60": { "UpgradeTo34": 4 }, - "61": { "UpgradeTo341": 1 }, - "62": { "UpgradeTo35": 2 }, - "63": { "UpgradeTo36": 11 }, - "64": { "UpgradeTo361": 3 }, - "65": { "UpgradingTo27": 1 } - }, - "option's": { - "0": { "Dialog": 1 }, - "1": { "EditorDialog": 3 }, - "2": { "GeneralSettings": 1 } - }, - "option-off": { - "0": { "acintro8": 1 }, - "1": { "Dialog": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EditorDialog": 1 } - }, - "option-off-forever": { - "0": { "Dialog": 1 }, - "1": { "DialogScript": 1 }, - "2": { "EditorDialog": 1 } - }, - "option-on": { - "0": { "acintro8": 1 }, - "1": { "Dialog": 1 }, - "2": { "DialogScript": 2 }, - "3": { "EditorDialog": 1 } - }, - "optionText": { - "0": { "Dialog": 2 } - }, - "optional": { - "0": { "AudioClip": 8 }, - "1": { "Button": 5 }, - "2": { "Character": 25 }, - "3": { "CustomDialogOptions": 2 }, - "4": { "DefaultSetup": 1 }, - "5": { "Dialog": 2 }, - "6": { "DistGame": 1 }, - "7": { "DrawingSurface": 18 }, - "8": { "DynamicSprite": 11 }, - "9": { "EditorFont": 1 }, - "10": { "EditorRoom": 1 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "File": 2 }, - "14": { "Game": 2 }, - "15": { "Globalfunctions_Event": 3 }, - "16": { "Maths": 1 }, - "17": { "Multimedia": 1 }, - "18": { "MusicAndSound": 1 }, - "19": { "Object": 9 }, - "20": { "Overlay": 4 }, - "21": { "Region": 1 }, - "22": { "Room": 1 }, - "23": { "Screen": 1 }, - "24": { "ScriptingTutorialPart1": 5 }, - "25": { "ScriptKeywords": 5 }, - "26": { "Settingupthegame": 1 }, - "27": { "String": 4 }, - "28": { "TextParser": 2 }, - "29": { "Tumbleweed": 1 }, - "30": { "Tumbleweed_unhandled": 1 }, - "31": { "UpgradeTo32": 1 }, - "32": { "UpgradeTo36": 3 }, - "33": { "UpgradingTo27": 2 }, - "34": { "Viewport": 1 }, - "35": { "VoiceSpeech": 2 } - }, - "optionally": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Globalfunctions_Wait": 1 }, - "4": { "Object": 1 }, - "5": { "String": 1 }, - "6": { "UpgradeTo33": 1 } - }, - "options": { - "0": { "acintro": 1 }, - "1": { "acintro1": 5 }, - "2": { "acintro5": 1 }, - "3": { "acintro6": 2 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 12 }, - "6": { "acintro9": 1 }, - "7": { "AutonumberSpeechFiles": 1 }, - "8": { "Constants": 1 }, - "9": { "CustomDialogOptions": 58 }, - "10": { "CustomProperties": 1 }, - "11": { "DefaultSetup": 4 }, - "12": { "Dialog": 10 }, - "13": { "DialogOptionsRenderingInfo": 62 }, - "14": { "DialogScript": 3 }, - "15": { "Dictionary": 1 }, - "16": { "EditorDialog": 6 }, - "17": { "EditorGUI": 1 }, - "18": { "EditorPlugins": 1 }, - "19": { "EditorRoom": 2 }, - "20": { "EditorSprite": 2 }, - "21": { "EditorView": 1 }, - "22": { "EngineConfigFile": 12 }, - "23": { "EnginePluginDesign-timeAPI": 3 }, - "24": { "EnginePluginRun-timeAPI": 1 }, - "25": { "FAQ": 1 }, - "26": { "Game": 1 }, - "27": { "GameSavesCompatibility": 2 }, - "28": { "Gamevariables": 9 }, - "29": { "GeneralSettings": 21 }, - "30": { "Globalfunctions_Event": 1 }, - "31": { "Globalfunctions_General": 8 }, - "32": { "GUI": 1 }, - "33": { "InventoryItem": 1 }, - "34": { "Multimedia": 1 }, - "35": { "MultipleScripts": 1 }, - "36": { "RuntimeEngine": 2 }, - "37": { "ScriptAPIOverview": 1 }, - "38": { "Scripting": 1 }, - "39": { "ScriptKeywords": 1 }, - "40": { "ScriptModules": 3 }, - "41": { "Set": 1 }, - "42": { "Settingupthegame": 8 }, - "43": { "Setup": 8 }, - "44": { "System": 1 }, - "45": { "SystemLimits": 1 }, - "46": { "Translations": 8 }, - "47": { "Tumbleweed_translation": 1 }, - "48": { "UnicodeSupport": 2 }, - "49": { "UpgradeTo33": 3 }, - "50": { "UpgradeTo34": 13 }, - "51": { "UpgradeTo341": 1 }, - "52": { "UpgradeTo35": 2 }, - "53": { "UpgradeTo36": 9 }, - "54": { "UpgradingTo27": 3 } - }, - "options's": { - "0": { "DialogOptionsRenderingInfo": 1 } - }, - "orange": { - "0": { "Lipsync": 5 } - }, - "oranges": { - "0": { "ScriptKeywords": 2 } - }, - "order": { - "0": { "acintro2": 3 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "Button": 1 }, - "5": { "Camera": 2 }, - "6": { "Character": 8 }, - "7": { "Credits": 1 }, - "8": { "Debuggingfeatures": 1 }, - "9": { "DefaultSetup": 1 }, - "10": { "DialogOptionsRenderingInfo": 7 }, - "11": { "Dictionary": 5 }, - "12": { "DrawingSurface": 2 }, - "13": { "DynamicSprite": 5 }, - "14": { "EditorGUI": 2 }, - "15": { "EditorRoom": 2 }, - "16": { "EditorSprite": 2 }, - "17": { "EditorView": 1 }, - "18": { "EngineConfigFile": 1 }, - "19": { "EnginePluginDesign-timeAPI": 2 }, - "20": { "EnginePluginRun-timeAPI": 6 }, - "21": { "FAQ": 3 }, - "22": { "Game": 1 }, - "23": { "GameEventsOrder": 4 }, - "24": { "GameSavesCompatibility": 2 }, - "25": { "GeneralSettings": 1 }, - "26": { "GlobalArrays": 1 }, - "27": { "Globalfunctions_Event": 1 }, - "28": { "Globalfunctions_General": 6 }, - "29": { "GUI": 2 }, - "30": { "GUIControl": 5 }, - "31": { "Lipsync": 1 }, - "32": { "ListBox": 1 }, - "33": { "MIDI-playback": 2 }, - "34": { "Multimedia": 1 }, - "35": { "MultipleScripts": 4 }, - "36": { "MusicAndSound": 1 }, - "37": { "Object": 4 }, - "38": { "Overlay": 1 }, - "39": { "Plugins": 1 }, - "40": { "RuntimeEngine": 3 }, - "41": { "ScriptingLanguage": 1 }, - "42": { "ScriptingTutorialPart1": 2 }, - "43": { "ScriptingTutorialPart2": 1 }, - "44": { "ScriptKeywords": 5 }, - "45": { "ScriptModules": 3 }, - "46": { "Set": 4 }, - "47": { "Settingupthegame": 1 }, - "48": { "Setup": 1 }, - "49": { "Slider": 1 }, - "50": { "SourceControl": 1 }, - "51": { "System": 3 }, - "52": { "TextParser": 1 }, - "53": { "Translations": 1 }, - "54": { "TroubleshootingWindowsZoneID": 1 }, - "55": { "Tumbleweed_unhandled": 2 }, - "56": { "UnicodeSupport": 1 }, - "57": { "UpgradeTo30": 1 }, - "58": { "UpgradeTo33": 1 }, - "59": { "UpgradeTo341": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "UpgradingTo27": 1 }, - "62": { "UpgradingTo271": 1 }, - "63": { "Viewport": 3 } - }, - "ordered": { - "0": { "EditorView": 1 }, - "1": { "ScriptModules": 1 } - }, - "ordering": { - "0": { "GUI": 1 }, - "1": { "Overlay": 1 }, - "2": { "ScriptModules": 1 } - }, - "ordinary": { - "0": { "ExtenderFunctions": 1 } - }, - "ordinates": { - "0": { "Character": 1 } - }, - "org": { - "0": { "Credits": 5 }, - "1": { "MIDI-playback": 1 }, - "2": { "MusicAndSound": 1 } - }, - "organisation": { - "0": { "EditorView": 1 } - }, - "organize": { - "0": { "acintro6": 1 }, - "1": { "EditorCharacter": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "FAQ": 1 }, - "5": { "MusicAndSound": 1 }, - "6": { "ScriptModules": 1 } - }, - "organized": { - "0": { "MusicAndSound": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "orientation": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 2 } - }, - "origin": { - "0": { "Camera": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "File": 4 }, - "3": { "Maths": 1 }, - "4": { "TroubleshootingWindowsZoneID": 2 } - }, - "original": { - "0": { "Credits": 1 }, - "1": { "DistGame": 1 }, - "2": { "DrawingSurface": 3 }, - "3": { "DynamicSprite": 6 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 2 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Multimedia": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "Overlay": 5 }, - "11": { "Pointers": 1 }, - "12": { "String": 10 }, - "13": { "Translations": 8 }, - "14": { "UpgradeTo32": 2 }, - "15": { "UpgradeTo33": 1 }, - "16": { "UpgradeTo35": 1 }, - "17": { "UpgradingTo271": 1 } - }, - "originally": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 1 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "File": 1 }, - "6": { "Gamevariables": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Room": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "Speech": 1 }, - "11": { "UpgradeTo31": 1 }, - "12": { "UpgradeTo32": 1 } - }, - "originated": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "originates": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "os": { - "0": { "EngineConfigFile": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "System": 1 } - }, - "other": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 2 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 3 }, - "9": { "AudioChannel": 2 }, - "10": { "BlockingScripts": 1 }, - "11": { "Button": 1 }, - "12": { "Character": 17 }, - "13": { "ColoursEditor": 1 }, - "14": { "Constants": 1 }, - "15": { "ContactingTheDevelopers": 1 }, - "16": { "Copyright": 2 }, - "17": { "Credits": 2 }, - "18": { "CustomDialogOptions": 3 }, - "19": { "DefaultSetup": 1 }, - "20": { "Dialog": 2 }, - "21": { "DialogOptionsRenderingInfo": 9 }, - "22": { "DistGame": 4 }, - "23": { "DrawingSurface": 2 }, - "24": { "DynamicSprite": 12 }, - "25": { "EditorCommandLineOptions": 1 }, - "26": { "EditorCursor": 1 }, - "27": { "EditorDialog": 1 }, - "28": { "EditorGUI": 4 }, - "29": { "EditorInventoryItems": 1 }, - "30": { "EditorLogPanel": 1 }, - "31": { "EditorPlugins": 1 }, - "32": { "EditorRoom": 1 }, - "33": { "EditorSprite": 2 }, - "34": { "EditorView": 2 }, - "35": { "EnginePluginDesign-timeAPI": 2 }, - "36": { "EnginePluginRun-timeAPI": 17 }, - "37": { "EnginePlugins": 1 }, - "38": { "EventTypes": 3 }, - "39": { "ExtenderFunctions": 3 }, - "40": { "FAQ": 2 }, - "41": { "File": 6 }, - "42": { "Game": 1 }, - "43": { "GameSavesCompatibility": 4 }, - "44": { "GeneralSettings": 7 }, - "45": { "Globalfunctions_General": 6 }, - "46": { "Globalfunctions_Message": 1 }, - "47": { "Globalfunctions_Palette": 1 }, - "48": { "Globalfunctions_Room": 3 }, - "49": { "Globalfunctions_Screen": 1 }, - "50": { "Globalfunctions_Wait": 1 }, - "51": { "GlobalVariables": 1 }, - "52": { "GraphicsDriver": 2 }, - "53": { "GUI": 11 }, - "54": { "GUIControl": 5 }, - "55": { "ImportingFunctionsAndVariables": 6 }, - "56": { "ListBox": 2 }, - "57": { "Maths": 1 }, - "58": { "MIDI-playback": 1 }, - "59": { "Multimedia": 3 }, - "60": { "MultipleScripts": 7 }, - "61": { "MusicAndSound": 2 }, - "62": { "Object": 2 }, - "63": { "OOProgramming": 1 }, - "64": { "Overlay": 11 }, - "65": { "Plugins": 4 }, - "66": { "Pointers": 3 }, - "67": { "Region": 1 }, - "68": { "RepExec": 2 }, - "69": { "Room": 4 }, - "70": { "RuntimeEngine": 2 }, - "71": { "ScriptingLanguage": 1 }, - "72": { "ScriptingTutorialPart1": 1 }, - "73": { "ScriptingTutorialPart2": 6 }, - "74": { "ScriptKeywords": 3 }, - "75": { "Settingupthegame": 8 }, - "76": { "Setup": 1 }, - "77": { "Speech": 1 }, - "78": { "String": 3 }, - "79": { "System": 1 }, - "80": { "SystemLimits": 1 }, - "81": { "Templates": 1 }, - "82": { "TextParser": 2 }, - "83": { "TheScriptHeader": 2 }, - "84": { "Translations": 1 }, - "85": { "Tumbleweed": 4 }, - "86": { "Tumbleweed_actions": 1 }, - "87": { "Tumbleweed_movement": 1 }, - "88": { "Tumbleweed_translation": 1 }, - "89": { "UpgradeTo335": 1 }, - "90": { "UpgradeTo34": 2 }, - "91": { "UpgradeTo35": 1 }, - "92": { "UpgradeTo36": 5 }, - "93": { "UpgradingTo271": 1 }, - "94": { "Viewport": 2 } - }, - "otherChar": { - "0": { "Character": 1 } - }, - "otherman": { - "0": { "DialogScript": 4 } - }, - "others": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Credits": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "EditorCursor": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "GlobalArrays": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "ScriptingTutorialPart1": 1 }, - "12": { "ScriptModules": 2 }, - "13": { "Settingupthegame": 1 } - }, - "otherwise": { - "0": { "Button": 2 }, - "1": { "Character": 4 }, - "2": { "Constants": 7 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "Dictionary": 3 }, - "5": { "DistGame": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 6 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 6 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "GUI": 2 }, - "16": { "GUIControl": 1 }, - "17": { "Hotspot": 1 }, - "18": { "ImportingFunctionsAndVariables": 1 }, - "19": { "InventoryItem": 1 }, - "20": { "Mouse": 2 }, - "21": { "Object": 2 }, - "22": { "Overlay": 1 }, - "23": { "Parser": 1 }, - "24": { "RepExec": 1 }, - "25": { "Room": 2 }, - "26": { "ScriptingTutorialPart1": 3 }, - "27": { "ScriptKeywords": 3 }, - "28": { "Set": 3 }, - "29": { "Tumbleweed_helper": 2 }, - "30": { "Viewport": 2 } - }, - "our": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 2 }, - "7": { "acintro8": 7 }, - "8": { "EditorPlugins": 4 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 2 }, - "11": { "OOProgramming": 4 }, - "12": { "Pointers": 1 }, - "13": { "RepExec": 3 }, - "14": { "ScriptingTutorialPart1": 9 }, - "15": { "TextParser": 2 } - }, - "out": { - "0": { "acintro": 1 }, - "1": { "acintro1": 2 }, - "2": { "acintro2": 3 }, - "3": { "acintro3": 5 }, - "4": { "acintro4": 1 }, - "5": { "acintro5": 1 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 2 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioInScript": 1 }, - "11": { "Camera": 1 }, - "12": { "Character": 5 }, - "13": { "ContactingTheDevelopers": 2 }, - "14": { "Credits": 1 }, - "15": { "CustomDialogOptions": 3 }, - "16": { "Debuggingfeatures": 2 }, - "17": { "DefaultSetup": 2 }, - "18": { "Dialog": 2 }, - "19": { "DialogScript": 1 }, - "20": { "DrawingSurface": 1 }, - "21": { "EditorGUI": 6 }, - "22": { "EditorInventoryItems": 1 }, - "23": { "EnginePluginDesign-timeAPI": 2 }, - "24": { "EnginePluginRun-timeAPI": 11 }, - "25": { "EventTypes": 3 }, - "26": { "FAQ": 2 }, - "27": { "File": 3 }, - "28": { "GameSavesCompatibility": 2 }, - "29": { "Gamevariables": 5 }, - "30": { "GeneralSettings": 2 }, - "31": { "Globalfunctions_General": 5 }, - "32": { "Globalfunctions_Message": 2 }, - "33": { "Globalfunctions_Room": 3 }, - "34": { "Globalfunctions_Screen": 3 }, - "35": { "Globalfunctions_Wait": 2 }, - "36": { "GUI": 3 }, - "37": { "GUIControl": 1 }, - "38": { "InvWindow": 1 }, - "39": { "Label": 2 }, - "40": { "ListBox": 1 }, - "41": { "Mouse": 2 }, - "42": { "Multimedia": 1 }, - "43": { "MusicAndSound": 1 }, - "44": { "Object": 4 }, - "45": { "Overlay": 3 }, - "46": { "Pointers": 2 }, - "47": { "ScriptingTutorialPart1": 1 }, - "48": { "ScriptingTutorialPart2": 1 }, - "49": { "ScriptKeywords": 3 }, - "50": { "Settingupthegame": 2 }, - "51": { "Setup": 1 }, - "52": { "Slider": 1 }, - "53": { "SourceControl": 2 }, - "54": { "Speech": 1 }, - "55": { "System": 5 }, - "56": { "Templates": 1 }, - "57": { "TextParser": 1 }, - "58": { "Tumbleweed": 1 }, - "59": { "UpgradeTo30": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "UpgradingTo27": 5 }, - "62": { "UpgradingTo271": 1 }, - "63": { "VoiceSpeech": 1 } - }, - "outdated": { - "0": { "FAQ": 1 }, - "1": { "ScriptAPIOverview": 1 }, - "2": { "Settingupthegame": 1 } - }, - "outer": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "outline": { - "0": { "acintro9": 5 }, - "1": { "EditorFont": 2 }, - "2": { "UpgradeTo36": 3 } - }, - "outlines": { - "0": { "acintro9": 1 }, - "1": { "EditorFont": 2 } - }, - "outlining": { - "0": { "acintro9": 2 } - }, - "output": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "EditorLogPanel": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 49 }, - "5": { "GeneralSettings": 2 }, - "6": { "GraphicsDriver": 2 }, - "7": { "MIDI-playback": 1 }, - "8": { "RuntimeEngine": 2 }, - "9": { "System": 1 } - }, - "outputname": { - "0": { "EngineConfigFile": 2 } - }, - "outro": { - "0": { "acintro7": 1 }, - "1": { "Settingupthegame": 1 } - }, - "outside": { - "0": { "acintro2": 1 }, - "1": { "Camera": 3 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DrawingSurface": 3 }, - "4": { "DynamicSprite": 6 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "File": 1 }, - "8": { "GeneralSettings": 2 }, - "9": { "ListBox": 1 }, - "10": { "Mouse": 1 }, - "11": { "Overlay": 4 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "ScriptingTutorialPart2": 1 }, - "14": { "String": 1 }, - "15": { "TroubleshootingWindowsZoneID": 1 }, - "16": { "Tumbleweed_unhandled": 1 }, - "17": { "UpgradeTo35": 1 }, - "18": { "Viewport": 1 } - }, - "outsourced": { - "0": { "DistGame": 1 } - }, - "over": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 4 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 2 }, - "4": { "acintro7": 3 }, - "5": { "acintro9": 4 }, - "6": { "Button": 3 }, - "7": { "Character": 8 }, - "8": { "CustomDialogOptions": 2 }, - "9": { "CustomProperties": 1 }, - "10": { "DialogOptionsRenderingInfo": 1 }, - "11": { "DrawingSurface": 2 }, - "12": { "DynamicSprite": 2 }, - "13": { "EditorCursor": 2 }, - "14": { "EditorFont": 1 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorInventoryItems": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "EditorView": 2 }, - "19": { "EnginePluginRun-timeAPI": 5 }, - "20": { "EventTypes": 2 }, - "21": { "File": 1 }, - "22": { "Game": 4 }, - "23": { "GameSavesCompatibility": 1 }, - "24": { "GeneralSettings": 2 }, - "25": { "GlobalArrays": 1 }, - "26": { "Globalfunctions_Event": 2 }, - "27": { "Globalfunctions_General": 2 }, - "28": { "Globalfunctions_Wait": 1 }, - "29": { "GUI": 1 }, - "30": { "GUIControl": 4 }, - "31": { "Hotspot": 2 }, - "32": { "InventoryItem": 2 }, - "33": { "Label": 2 }, - "34": { "ListBox": 5 }, - "35": { "Mouse": 3 }, - "36": { "MusicAndSound": 3 }, - "37": { "Object": 3 }, - "38": { "Overlay": 3 }, - "39": { "Pointers": 5 }, - "40": { "Region": 1 }, - "41": { "RuntimeEngine": 1 }, - "42": { "Screen": 1 }, - "43": { "ScriptAPIOverview": 1 }, - "44": { "ScriptingTutorial": 1 }, - "45": { "ScriptKeywords": 1 }, - "46": { "Settingupthegame": 5 }, - "47": { "Speech": 3 }, - "48": { "TemplateVerbcoin": 1 }, - "49": { "Translations": 1 }, - "50": { "Tumbleweed": 2 }, - "51": { "Tumbleweed_actions": 1 }, - "52": { "UpgradeTo30": 1 }, - "53": { "UpgradeTo31": 2 }, - "54": { "UpgradeTo32": 1 }, - "55": { "UpgradingTo27": 2 }, - "56": { "Viewport": 1 } - }, - "overall": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 2 }, - "2": { "EditorView": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "ListBox": 1 }, - "5": { "MusicAndSound": 2 }, - "6": { "Object": 2 }, - "7": { "Settingupthegame": 3 }, - "8": { "System": 3 }, - "9": { "SystemLimits": 1 }, - "10": { "UpgradeTo32": 1 } - }, - "overcome": { - "0": { "Pointers": 1 } - }, - "overdue": { - "0": { "UpgradeTo36": 1 } - }, - "overflow": { - "0": { "Maths": 1 }, - "1": { "SystemLimits": 1 } - }, - "overhead": { - "0": { "EditorView": 1 } - }, - "overlap": { - "0": { "EditorFont": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "GUI": 2 }, - "4": { "Viewport": 2 } - }, - "overlapped": { - "0": { "GUI": 1 } - }, - "overlapping": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Globalfunctions_Room": 5 }, - "2": { "GUI": 1 }, - "3": { "Overlay": 1 } - }, - "overlay": { - "0": { "Character": 4 }, - "1": { "GUI": 1 }, - "2": { "Overlay": 53 }, - "3": { "Speech": 4 } - }, - "overlay's": { - "0": { "Overlay": 10 }, - "1": { "UpgradeTo36": 1 } - }, - "overlays": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "Overlay": 22 }, - "3": { "UpgradeTo36": 8 } - }, - "overlook": { - "0": { "acintro9": 1 } - }, - "overridden": { - "0": { "DefaultSetup": 1 }, - "1": { "Game": 1 }, - "2": { "Tumbleweed_actions": 1 } - }, - "override": { - "0": { "acintro4": 1 }, - "1": { "Camera": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorFont": 1 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 6 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Palette": 1 }, - "8": { "Region": 1 }, - "9": { "RuntimeEngine": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "Translations": 1 } - }, - "overriden": { - "0": { "EngineConfigFile": 1 } - }, - "overrides": { - "0": { "Character": 1 }, - "1": { "FAQ": 1 }, - "2": { "Globalfunctions_General": 3 }, - "3": { "GUIControl": 1 }, - "4": { "Object": 1 }, - "5": { "Tumbleweed_translation": 1 }, - "6": { "UpgradeTo335": 1 } - }, - "overriding": { - "0": { "EngineConfigFile": 2 }, - "1": { "Gamevariables": 1 } - }, - "overwrite": { - "0": { "acintro6": 1 }, - "1": { "acintro9": 1 }, - "2": { "EditorFont": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "File": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Settingupthegame": 4 }, - "7": { "UpgradingTo271": 1 } - }, - "overwritten": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "Dictionary": 1 }, - "2": { "File": 1 }, - "3": { "Tumbleweed_translation": 1 } - }, - "own": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 5 }, - "3": { "acintro6": 2 }, - "4": { "acintro7": 1 }, - "5": { "acintro9": 2 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioClip": 1 }, - "8": { "AudioInScript": 1 }, - "9": { "Button": 1 }, - "10": { "DefaultSetup": 2 }, - "11": { "Dialog": 2 }, - "12": { "DialogOptionsRenderingInfo": 1 }, - "13": { "DistGame": 3 }, - "14": { "DynamicArrays": 1 }, - "15": { "EditorDialog": 1 }, - "16": { "EditorFont": 1 }, - "17": { "EditorLogPanel": 2 }, - "18": { "EditorPlugins": 1 }, - "19": { "EngineConfigFile": 1 }, - "20": { "EnginePluginDesign-timeAPI": 1 }, - "21": { "EnginePluginRun-timeAPI": 10 }, - "22": { "EnginePlugins": 1 }, - "23": { "EventTypes": 1 }, - "24": { "FAQ": 2 }, - "25": { "Game": 4 }, - "26": { "GameSavesCompatibility": 2 }, - "27": { "GeneralSettings": 2 }, - "28": { "Globalfunctions_General": 3 }, - "29": { "GUIControl": 1 }, - "30": { "ImportingFunctionsAndVariables": 2 }, - "31": { "Introduction": 1 }, - "32": { "InvWindow": 1 }, - "33": { "Keycodes": 1 }, - "34": { "Label": 1 }, - "35": { "Lipsync": 1 }, - "36": { "ListBox": 2 }, - "37": { "MIDI-playback": 1 }, - "38": { "Multimedia": 2 }, - "39": { "MultipleScripts": 1 }, - "40": { "MusicAndSound": 1 }, - "41": { "ObsoleteScriptAPI": 1 }, - "42": { "Overlay": 2 }, - "43": { "Plugins": 1 }, - "44": { "Preprocessor": 2 }, - "45": { "RuntimeEngine": 1 }, - "46": { "ScriptingTutorialPart1": 1 }, - "47": { "ScriptingTutorialPart2": 5 }, - "48": { "ScriptKeywords": 1 }, - "49": { "ScriptModules": 1 }, - "50": { "Settingupthegame": 10 }, - "51": { "Setup": 2 }, - "52": { "Slider": 1 }, - "53": { "StartingOff": 1 }, - "54": { "Templates": 2 }, - "55": { "TextBox": 1 }, - "56": { "Tumbleweed_extensions": 2 }, - "57": { "UnicodeSupport": 1 }, - "58": { "UpgradeTo32": 1 }, - "59": { "UpgradeTo33": 1 }, - "60": { "UpgradeTo335": 1 }, - "61": { "UpgradeTo34": 1 }, - "62": { "UpgradeTo36": 1 }, - "63": { "UpgradeTo361": 1 }, - "64": { "UpgradingTo27": 2 } - }, - "owned": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "owner": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "ownership": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "owning": { - "0": { "GUIControl": 2 } - }, - "pack": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DistGame": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Game": 7 }, - "5": { "Multimedia": 3 }, - "6": { "Setup": 1 }, - "7": { "Speech": 1 }, - "8": { "UpgradeTo36": 1 }, - "9": { "VoiceSpeech": 4 } - }, - "package": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "DistGame": 1 }, - "3": { "File": 1 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 2 }, - "6": { "Multimedia": 2 }, - "7": { "Templates": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "UpgradeTo36": 5 } - }, - "packaged": { - "0": { "File": 1 }, - "1": { "GeneralSettings": 3 }, - "2": { "UpgradeTo36": 1 } - }, - "packages": { - "0": { "acintro2": 1 } - }, - "packed": { - "0": { "DistGame": 3 }, - "1": { "GeneralSettings": 2 }, - "2": { "UpgradeTo35": 1 } - }, - "packs": { - "0": { "DistGame": 1 }, - "1": { "UpgradeTo36": 2 }, - "2": { "VoiceSpeech": 6 } - }, - "padding": { - "0": { "EditorGUI": 1 }, - "1": { "TextWindowGUI": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "padlock": { - "0": { "EditorRoom": 1 } - }, - "page": { - "0": { "AudioClip": 3 }, - "1": { "Character": 1 }, - "2": { "DialogOptionsRenderingInfo": 2 }, - "3": { "EnginePluginRun-timeAPI": 4 }, - "4": { "EnginePlugins": 2 }, - "5": { "GameEventsOrder": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "Globalfunctions_Wait": 4 }, - "8": { "MusicAndSound": 1 }, - "9": { "Plugins": 1 }, - "10": { "ScriptKeywords": 2 }, - "11": { "Settingupthegame": 1 }, - "12": { "TroubleshootingWindowsZoneID": 1 }, - "13": { "Tumbleweed": 1 }, - "14": { "UpgradeTo32": 2 }, - "15": { "UpgradeTo341": 2 }, - "16": { "UpgradeTo36": 1 }, - "17": { "UpgradeTo361": 1 }, - "18": { "UpgradingTo27": 2 } - }, - "pages": { - "0": { "UpgradeTo30": 1 } - }, - "pain": { - "0": { "UpgradeTo31": 2 }, - "1": { "UpgradeTo32": 1 }, - "2": { "UpgradingTo27": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "painstakingly": { - "0": { "ContactingTheDevelopers": 1 } - }, - "paint": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "Hotspot": 1 }, - "5": { "Region": 1 } - }, - "painted": { - "0": { "acintro2": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Hotspot": 1 }, - "3": { "Object": 1 }, - "4": { "Overlay": 1 }, - "5": { "Region": 1 } - }, - "painting": { - "0": { "Object": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "pair": { - "0": { "Dictionary": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "ScriptModules": 1 }, - "4": { "UpgradeTo35": 2 } - }, - "pairs": { - "0": { "Dictionary": 4 } - }, - "pal": { - "0": { "ColoursEditor": 1 } - }, - "palette": { - "0": { "acintro": 1 }, - "1": { "acintro1": 5 }, - "2": { "acintro6": 3 }, - "3": { "AdvancedRoomFeatures": 6 }, - "4": { "ColoursEditor": 8 }, - "5": { "Constants": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "EditorPreferences": 3 }, - "8": { "EditorRoom": 1 }, - "9": { "EnginePluginRun-timeAPI": 7 }, - "10": { "Game": 1 }, - "11": { "Gamevariables": 7 }, - "12": { "GlobalArrays": 2 }, - "13": { "Globalfunctions_Palette": 12 }, - "14": { "Globalfunctions_Screen": 1 }, - "15": { "GraphicsDriver": 1 }, - "16": { "Scripting": 1 }, - "17": { "Settingupthegame": 11 } - }, - "palette-based": { - "0": { "acintro1": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "Setup": 1 } - }, - "palette-cycling": { - "0": { "acintro1": 1 } - }, - "pam": { - "0": { "Lipsync": 2 } - }, - "pamela": { - "0": { "Lipsync": 3 } - }, - "pan": { - "0": { "EditorRoom": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Viewport": 2 } - }, - "pane": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro9": 1 }, - "5": { "Button": 1 }, - "6": { "Character": 2 }, - "7": { "ColoursEditor": 1 }, - "8": { "DefaultSetup": 3 }, - "9": { "DistGame": 1 }, - "10": { "DrawingSurface": 2 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorCursor": 1 }, - "13": { "EditorGUI": 3 }, - "14": { "EditorSprite": 1 }, - "15": { "EnginePluginRun-timeAPI": 1 }, - "16": { "FAQ": 1 }, - "17": { "Game": 4 }, - "18": { "Globalfunctions_General": 3 }, - "19": { "Label": 1 }, - "20": { "Lipsync": 2 }, - "21": { "Object": 1 }, - "22": { "Room": 5 }, - "23": { "ScriptingTutorialPart1": 1 }, - "24": { "Settingupthegame": 7 }, - "25": { "SourceControl": 1 }, - "26": { "TextParser": 1 }, - "27": { "Tumbleweed": 1 }, - "28": { "UpgradeTo31": 1 }, - "29": { "UpgradeTo341": 2 } - }, - "panel": { - "0": { "Credits": 1 }, - "1": { "EditorCharacter": 4 }, - "2": { "EditorCommandLineOptions": 1 }, - "3": { "EditorDialog": 2 }, - "4": { "EditorFont": 2 }, - "5": { "EditorGUI": 1 }, - "6": { "EditorLogPanel": 2 }, - "7": { "EditorPreferences": 2 }, - "8": { "EditorSprite": 1 }, - "9": { "EditorView": 1 }, - "10": { "ScriptModules": 2 }, - "11": { "Settingupthegame": 1 }, - "12": { "Setup": 1 }, - "13": { "UpgradeTo33": 1 }, - "14": { "UpgradeTo35": 1 }, - "15": { "UpgradeTo361": 2 } - }, - "panels": { - "0": { "UpgradeTo33": 1 } - }, - "panes": { - "0": { "EditorSprite": 1 }, - "1": { "UpgradeTo33": 1 } - }, - "panning": { - "0": { "AudioChannel": 2 }, - "1": { "MusicAndSound": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "papagayo": { - "0": { "Lipsync": 1 } - }, - "par": { - "0": { "GeneralSettings": 1 } - }, - "paragraph": { - "0": { "KeyboardShortcuts": 2 } - }, - "paragraphs": { - "0": { "Preprocessor": 1 }, - "1": { "Settingupthegame": 1 } - }, - "param": { - "0": { "Character": 3 }, - "1": { "Multimedia": 1 }, - "2": { "Object": 1 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "ScriptKeywords": 6 } - }, - "parameter": { - "0": { "Button": 1 }, - "1": { "Character": 28 }, - "2": { "Constants": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "Dialog": 1 }, - "5": { "DialogScript": 1 }, - "6": { "Dictionary": 1 }, - "7": { "DrawingSurface": 4 }, - "8": { "DynamicSprite": 4 }, - "9": { "EditorPlugins": 1 }, - "10": { "EditorView": 1 }, - "11": { "EnginePluginDesign-timeAPI": 2 }, - "12": { "EnginePluginRun-timeAPI": 11 }, - "13": { "ExtenderFunctions": 3 }, - "14": { "File": 1 }, - "15": { "Game": 2 }, - "16": { "GeneralSettings": 1 }, - "17": { "Globalfunctions_Event": 1 }, - "18": { "Globalfunctions_General": 7 }, - "19": { "Globalfunctions_Message": 2 }, - "20": { "Globalfunctions_Room": 1 }, - "21": { "Globalfunctions_Screen": 1 }, - "22": { "Maths": 1 }, - "23": { "Mouse": 1 }, - "24": { "Multimedia": 3 }, - "25": { "MusicAndSound": 1 }, - "26": { "Object": 6 }, - "27": { "Overlay": 1 }, - "28": { "Region": 1 }, - "29": { "RepExec": 2 }, - "30": { "Screen": 2 }, - "31": { "ScriptingTutorialPart1": 15 }, - "32": { "ScriptingTutorialPart2": 2 }, - "33": { "ScriptKeywords": 5 }, - "34": { "Set": 1 }, - "35": { "Settingupthegame": 1 }, - "36": { "Setup": 1 }, - "37": { "System": 3 }, - "38": { "Tumbleweed_actions": 1 }, - "39": { "Tumbleweed_helper": 1 }, - "40": { "Tumbleweed_translation": 2 }, - "41": { "Tumbleweed_unhandled": 1 }, - "42": { "UpgradeTo32": 1 }, - "43": { "UpgradeTo361": 2 }, - "44": { "UpgradingTo27": 2 }, - "45": { "UpgradingTo271": 3 } - }, - "parameter's": { - "0": { "Overlay": 1 } - }, - "parameters": { - "0": { "Character": 5 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 6 }, - "3": { "EnginePluginRun-timeAPI": 14 }, - "4": { "ExtenderFunctions": 1 }, - "5": { "Game": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Palette": 1 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "Globalfunctions_Screen": 1 }, - "11": { "Mouse": 1 }, - "12": { "Object": 1 }, - "13": { "Overlay": 3 }, - "14": { "Region": 1 }, - "15": { "ScriptingTutorialPart1": 6 }, - "16": { "ScriptingTutorialPart2": 5 }, - "17": { "ScriptKeywords": 4 }, - "18": { "SystemLimits": 1 }, - "19": { "Tumbleweed_door": 1 }, - "20": { "Tumbleweed_movement": 2 }, - "21": { "Tumbleweed_translation": 1 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo361": 2 }, - "25": { "UpgradingTo27": 2 } - }, - "parent": { - "0": { "acintro7": 1 }, - "1": { "EnginePluginDesign-timeAPI": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GUI": 1 }, - "4": { "GUIControl": 2 }, - "5": { "RuntimeEngine": 1 } - }, - "parent's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "parentheses": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "parenthesis": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptingTutorialPart1": 2 }, - "2": { "ScriptingTutorialPart2": 3 }, - "3": { "ScriptKeywords": 1 } - }, - "parse": { - "0": { "Dictionary": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "Set": 1 } - }, - "parser": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Dialog": 2 }, - "2": { "DialogOptionsRenderingInfo": 12 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 4 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "Parser": 4 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "TextParser": 7 } - }, - "parsing": { - "0": { "Parser": 1 } - }, - "part": { - "0": { "acintro3": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 2 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "AudioChannel": 1 }, - "6": { "Button": 7 }, - "7": { "Character": 7 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DistGame": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EnginePluginRun-timeAPI": 5 }, - "12": { "ExtenderFunctions": 1 }, - "13": { "Game": 13 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Room": 2 }, - "17": { "GUI": 1 }, - "18": { "KeyboardShortcuts": 1 }, - "19": { "Lipsync": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "Pointers": 1 }, - "22": { "Preprocessor": 4 }, - "23": { "Region": 1 }, - "24": { "Room": 1 }, - "25": { "ScriptingTutorialPart1": 4 }, - "26": { "ScriptingTutorialPart2": 3 }, - "27": { "ScriptKeywords": 4 }, - "28": { "Settingupthegame": 1 }, - "29": { "String": 2 }, - "30": { "SystemLimits": 1 }, - "31": { "TheScriptHeader": 1 }, - "32": { "UpgradeTo31": 1 }, - "33": { "UpgradeTo35": 4 }, - "34": { "UpgradeTo36": 1 }, - "35": { "UpgradingTo271": 1 }, - "36": { "ViewFrame": 7 } - }, - "partially": { - "0": { "EditorFont": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Screen": 1 }, - "3": { "Viewport": 1 } - }, - "participate": { - "0": { "Introduction": 1 } - }, - "particular": { - "0": { "acintro8": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 2 }, - "3": { "ColoursEditor": 1 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "DistGame": 1 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorPlugins": 1 }, - "9": { "EditorRoom": 2 }, - "10": { "EngineConfigFile": 5 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 3 }, - "13": { "EventTypes": 1 }, - "14": { "FAQ": 1 }, - "15": { "Game": 1 }, - "16": { "GeneralSettings": 1 }, - "17": { "Globalfunctions_General": 1 }, - "18": { "Globalfunctions_Room": 1 }, - "19": { "GlobalVariables": 1 }, - "20": { "GraphicsDriver": 1 }, - "21": { "Hotspot": 1 }, - "22": { "ImportingFunctionsAndVariables": 1 }, - "23": { "Lipsync": 2 }, - "24": { "Multimedia": 1 }, - "25": { "Pointers": 2 }, - "26": { "Region": 1 }, - "27": { "RepExec": 1 }, - "28": { "ScriptingTutorialPart2": 1 }, - "29": { "Settingupthegame": 1 }, - "30": { "System": 1 }, - "31": { "Translations": 1 }, - "32": { "TroubleshootingWindowsZoneID": 1 }, - "33": { "UpgradeTo32": 2 }, - "34": { "UpgradeTo341": 1 }, - "35": { "UpgradeTo35": 1 }, - "36": { "UpgradeTo36": 1 }, - "37": { "UpgradingTo27": 1 }, - "38": { "VoiceSpeech": 1 } - }, - "particularly": { - "0": { "Character": 1 }, - "1": { "Settingupthegame": 1 } - }, - "partition": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "parts": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 1 }, - "4": { "Character": 1 }, - "5": { "DistGame": 1 }, - "6": { "EditorDialog": 2 }, - "7": { "EditorPlugins": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "GameEventsOrder": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "Globalfunctions_Screen": 1 }, - "13": { "Introduction": 1 }, - "14": { "Preprocessor": 1 }, - "15": { "ScriptAPIOverview": 1 }, - "16": { "ScriptKeywords": 1 }, - "17": { "Setup": 1 }, - "18": { "StartingOff": 1 }, - "19": { "SystemLimits": 1 }, - "20": { "UpgradeTo35": 3 } - }, - "party": { - "0": { "MIDI-playback": 1 } - }, - "pass": { - "0": { "acintro7": 1 }, - "1": { "Button": 3 }, - "2": { "Character": 13 }, - "3": { "Dictionary": 1 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorCommandLineOptions": 1 }, - "6": { "EnginePluginRun-timeAPI": 12 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "File": 2 }, - "9": { "Game": 3 }, - "10": { "Globalfunctions_Event": 2 }, - "11": { "Globalfunctions_General": 10 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Globalfunctions_Palette": 1 }, - "14": { "Globalfunctions_Room": 1 }, - "15": { "Globalfunctions_Screen": 1 }, - "16": { "InventoryItem": 1 }, - "17": { "ListBox": 1 }, - "18": { "Mouse": 2 }, - "19": { "Multimedia": 1 }, - "20": { "Object": 3 }, - "21": { "Overlay": 2 }, - "22": { "Pointers": 1 }, - "23": { "Room": 1 }, - "24": { "ScriptKeywords": 1 }, - "25": { "Set": 1 }, - "26": { "StandardEnums": 1 }, - "27": { "TemplateVerbcoin": 1 }, - "28": { "UnicodeSupport": 1 }, - "29": { "UpgradeTo31": 1 }, - "30": { "UpgradeTo34": 1 }, - "31": { "UpgradeTo36": 1 }, - "32": { "UpgradingTo27": 1 } - }, - "passed": { - "0": { "Dialog": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 8 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_Event": 3 }, - "8": { "Globalfunctions_Wait": 4 }, - "9": { "Keycodes": 3 }, - "10": { "MIDI-playback": 2 }, - "11": { "OOProgramming": 1 }, - "12": { "Parser": 1 }, - "13": { "Preprocessor": 1 }, - "14": { "Set": 1 }, - "15": { "UpgradeTo36": 2 }, - "16": { "UpgradingTo271": 2 } - }, - "passes": { - "0": { "DialogScript": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "RepExec": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "passing": { - "0": { "Character": 2 }, - "1": { "DynamicSprite": 1 }, - "2": { "EditorCommandLineOptions": 2 }, - "3": { "EditorLogPanel": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginRun-timeAPI": 4 }, - "6": { "ExtenderFunctions": 1 }, - "7": { "File": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "Object": 1 }, - "11": { "Pointers": 1 }, - "12": { "ScriptAPIOverview": 1 }, - "13": { "StandardTypes": 1 } - }, - "password": { - "0": { "Globalfunctions_General": 1 }, - "1": { "System": 1 } - }, - "past": { - "0": { "acintro2": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "FAQ": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUI": 1 }, - "5": { "UpgradeTo34": 1 }, - "6": { "UpgradeTo35": 2 }, - "7": { "UpgradingTo27": 1 } - }, - "paste": { - "0": { "acintro6": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "FAQ": 1 }, - "3": { "RepExec": 3 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "Tumbleweed": 1 } - }, - "pasting": { - "0": { "RepExec": 1 } - }, - "patch": { - "0": { "GameSavesCompatibility": 2 }, - "1": { "MIDI-playback": 11 } - }, - "patches": { - "0": { "DistGame": 1 }, - "1": { "MIDI-playback": 5 } - }, - "patching": { - "0": { "DistGame": 2 }, - "1": { "GameSavesCompatibility": 1 } - }, - "path": { - "0": { "Character": 3 }, - "1": { "DefaultSetup": 11 }, - "2": { "EditorCommandLineOptions": 5 }, - "3": { "EditorPreferences": 3 }, - "4": { "EditorSprite": 3 }, - "5": { "EngineConfigFile": 7 }, - "6": { "EnginePluginRun-timeAPI": 11 }, - "7": { "File": 12 }, - "8": { "Game": 1 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "ListBox": 1 }, - "11": { "MIDI-playback": 6 }, - "12": { "Object": 2 }, - "13": { "RuntimeEngine": 4 }, - "14": { "Setup": 2 }, - "15": { "TroubleshootingWindowsZoneID": 2 }, - "16": { "UpgradeTo335": 4 } - }, - "path-finder": { - "0": { "Globalfunctions_General": 1 } - }, - "path-finding": { - "0": { "UpgradeTo35": 1 } - }, - "pathId": { - "0": { "EnginePluginRun-timeAPI": 6 } - }, - "pathfinder": { - "0": { "SystemLimits": 1 } - }, - "pathing": { - "0": { "GUIControl": 1 } - }, - "paths": { - "0": { "DefaultSetup": 3 }, - "1": { "EditorSprite": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "MIDI-playback": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "UpgradeTo36": 2 } - }, - "pathways": { - "0": { "Globalfunctions_Room": 1 } - }, - "patient": { - "0": { "StartingOff": 1 } - }, - "pattern": { - "0": { "AudioChannel": 2 } - }, - "pause": { - "0": { "AudioChannel": 3 }, - "1": { "Character": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "DialogScript": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorLogPanel": 2 }, - "6": { "Globalfunctions_General": 4 }, - "7": { "Globalfunctions_Wait": 4 }, - "8": { "UpgradeTo30": 1 } - }, - "paused": { - "0": { "AudioChannel": 2 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Globalfunctions_General": 9 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "GUI": 1 }, - "5": { "Multimedia": 3 }, - "6": { "ScriptingTutorialPart1": 1 } - }, - "pauses": { - "0": { "EditorCursor": 1 }, - "1": { "FAQ": 1 }, - "2": { "GUI": 1 }, - "3": { "Multimedia": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "System": 1 } - }, - "pausing": { - "0": { "Character": 1 }, - "1": { "EditorGUI": 1 } - }, - "pcx": { - "0": { "DistGame": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "pen": { - "0": { "CustomProperties": 1 } - }, - "people": { - "0": { "AnonymousUsageInfo": 6 }, - "1": { "ContactingTheDevelopers": 2 }, - "2": { "Copyright": 1 }, - "3": { "Credits": 1 }, - "4": { "DistGame": 2 }, - "5": { "DynamicArrays": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "MultipleScripts": 2 }, - "9": { "OOProgramming": 1 }, - "10": { "Pointers": 2 }, - "11": { "UpgradeTo31": 1 }, - "12": { "UpgradeTo361": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "per": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "Button": 1 }, - "4": { "Constants": 3 }, - "5": { "DrawingSurface": 1 }, - "6": { "EditorView": 4 }, - "7": { "EnginePluginRun-timeAPI": 4 }, - "8": { "EnginePlugins": 1 }, - "9": { "EventTypes": 2 }, - "10": { "Globalfunctions_Event": 1 }, - "11": { "Globalfunctions_General": 5 }, - "12": { "Globalfunctions_Wait": 2 }, - "13": { "InvWindow": 1 }, - "14": { "ObsoleteScriptAPI": 1 }, - "15": { "OOProgramming": 1 }, - "16": { "RepExec": 1 }, - "17": { "ScriptAPIOverview": 1 }, - "18": { "SystemLimits": 8 }, - "19": { "TemplateVerbcoin": 1 }, - "20": { "UpgradeTo34": 1 }, - "21": { "UpgradeTo35": 2 }, - "22": { "UpgradeTo36": 1 } - }, - "per-font": { - "0": { "UpgradeTo36": 1 } - }, - "percent": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Object": 1 }, - "8": { "Region": 1 }, - "9": { "StringFormats": 2 } - }, - "percentage": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 1 } - }, - "percents": { - "0": { "Button": 1 }, - "1": { "Character": 2 }, - "2": { "Object": 2 } - }, - "perceptual": { - "0": { "DistGame": 1 } - }, - "perfect": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 1 }, - "2": { "Lipsync": 1 } - }, - "perfectly": { - "0": { "GraphicsDriver": 1 }, - "1": { "ScriptKeywords": 2 }, - "2": { "UpgradingTo27": 1 } - }, - "perfomance": { - "0": { "Overlay": 2 } - }, - "perform": { - "0": { "Character": 6 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 8 }, - "6": { "File": 2 }, - "7": { "GlobalArrays": 1 }, - "8": { "RepExec": 1 }, - "9": { "ScriptingTutorialPart1": 2 }, - "10": { "ScriptKeywords": 1 }, - "11": { "Tumbleweed": 1 } - }, - "performance": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EnginePluginRun-timeAPI": 5 }, - "4": { "GeneralSettings": 2 }, - "5": { "GraphicsDriver": 2 }, - "6": { "UpgradeTo36": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "performant": { - "0": { "UpgradeTo36": 1 } - }, - "performed": { - "0": { "Copyright": 1 }, - "1": { "Credits": 1 }, - "2": { "DrawingSurface": 2 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "EventTypes": 1 }, - "5": { "File": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GraphicsDriver": 1 }, - "8": { "Multimedia": 2 }, - "9": { "TemplateVerbcoin": 1 } - }, - "performing": { - "0": { "EditorDialog": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "System": 1 } - }, - "performs": { - "0": { "EditorCursor": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Object": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo34": 1 } - }, - "perhaps": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Game": 2 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "UpgradeTo30": 1 } - }, - "periodically": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "permanent": { - "0": { "AudioInScript": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_Palette": 1 }, - "3": { "Region": 2 } - }, - "permanently": { - "0": { "Character": 2 }, - "1": { "Dialog": 2 }, - "2": { "DialogScript": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Object": 2 }, - "5": { "Translations": 1 } - }, - "permission": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "permissions": { - "0": { "TroubleshootingWindowsZoneID": 2 } - }, - "permits": { - "0": { "UpgradeTo36": 1 } - }, - "permitted": { - "0": { "Character": 1 }, - "1": { "Object": 1 } - }, - "persist": { - "0": { "Gamevariables": 1 } - }, - "persisted": { - "0": { "File": 1 }, - "1": { "Hotspot": 1 } - }, - "persistent": { - "0": { "Camera": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "person": { - "0": { "acintro8": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "TextParser": 2 } - }, - "personal": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "FAQ": 1 }, - "4": { "File": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "UpgradeTo335": 1 } - }, - "perspective": { - "0": { "GeneralSettings": 1 } - }, - "pgo": { - "0": { "Lipsync": 1 } - }, - "phenome": { - "0": { "Lipsync": 1 } - }, - "phenomes": { - "0": { "Lipsync": 4 } - }, - "phoneme": { - "0": { "Lipsync": 1 } - }, - "phonemes": { - "0": { "Lipsync": 7 } - }, - "phrase": { - "0": { "Lipsync": 1 } - }, - "physical": { - "0": { "DefaultSetup": 1 } - }, - "pick": { - "0": { "acintro4": 4 }, - "1": { "acintro7": 2 }, - "2": { "Character": 1 }, - "3": { "Constants": 1 }, - "4": { "EditorInventoryItems": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EventTypes": 3 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Settingupthegame": 1 }, - "9": { "Tumbleweed": 2 }, - "10": { "Tumbleweed_extensions": 1 }, - "11": { "Tumbleweed_translation": 1 }, - "12": { "UpgradeTo32": 1 } - }, - "picked": { - "0": { "acintro5": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "EventTypes": 1 }, - "3": { "Object": 1 }, - "4": { "Tumbleweed_movement": 2 } - }, - "picker": { - "0": { "ColoursEditor": 1 }, - "1": { "EditorRoom": 2 } - }, - "picking": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 2 }, - "2": { "acintro8": 1 }, - "3": { "EditorView": 1 } - }, - "picks": { - "0": { "acintro4": 1 } - }, - "pickup": { - "0": { "Tumbleweed_actions": 1 }, - "1": { "Tumbleweed_helper": 1 } - }, - "picture": { - "0": { "acintro4": 2 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "Mouse": 1 }, - "5": { "Object": 1 }, - "6": { "Settingupthegame": 2 } - }, - "picture-based": { - "0": { "CustomDialogOptions": 1 } - }, - "pictures": { - "0": { "ColoursEditor": 1 }, - "1": { "GUIControl": 1 }, - "2": { "Speech": 1 } - }, - "piece": { - "0": { "DrawingSurface": 1 }, - "1": { "File": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "UpgradeTo32": 1 } - }, - "pieces": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "UpgradeTo32": 1 } - }, - "pillar": { - "0": { "acintro2": 2 } - }, - "pillars": { - "0": { "acintro2": 1 } - }, - "pink": { - "0": { "acintro6": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Lipsync": 4 }, - "4": { "ScriptingTutorialPart1": 1 } - }, - "pipe": { - "0": { "Tumbleweed_movement": 1 } - }, - "pipeline": { - "0": { "EditorCommandLineOptions": 1 } - }, - "pipewire": { - "0": { "EngineConfigFile": 1 } - }, - "pitch": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "System": 1 } - }, - "pixel": { - "0": { "Character": 4 }, - "1": { "DrawingSurface": 9 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EnginePluginRun-timeAPI": 9 }, - "6": { "GeneralSettings": 2 }, - "7": { "Mouse": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "pixel-perfect": { - "0": { "Globalfunctions_General": 2 }, - "1": { "Object": 1 } - }, - "pixel-precise": { - "0": { "Settingupthegame": 2 } - }, - "pixelart": { - "0": { "Setup": 1 } - }, - "pixelated": { - "0": { "DefaultSetup": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Setup": 1 }, - "3": { "System": 1 } - }, - "pixels": { - "0": { "acintro6": 1 }, - "1": { "BuildAndroid": 5 }, - "2": { "Character": 12 }, - "3": { "DefaultSetup": 2 }, - "4": { "DialogOptionsRenderingInfo": 4 }, - "5": { "DistGame": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "DynamicSprite": 13 }, - "8": { "EditorFont": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorInventoryItems": 2 }, - "11": { "EnginePluginRun-timeAPI": 17 }, - "12": { "FAQ": 1 }, - "13": { "Game": 2 }, - "14": { "GeneralSettings": 4 }, - "15": { "Globalfunctions_General": 5 }, - "16": { "Globalfunctions_Message": 2 }, - "17": { "GUI": 5 }, - "18": { "GUIControl": 4 }, - "19": { "Multimedia": 1 }, - "20": { "Object": 7 }, - "21": { "Overlay": 2 }, - "22": { "Screen": 2 }, - "23": { "Settingupthegame": 2 }, - "24": { "Setup": 2 }, - "25": { "Slider": 1 }, - "26": { "SystemLimits": 1 }, - "27": { "TemplateBASS": 3 }, - "28": { "TextWindowGUI": 1 }, - "29": { "Tumbleweed": 1 }, - "30": { "UpgradeTo31": 2 }, - "31": { "UpgradeTo35": 1 } - }, - "place": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "Character": 3 }, - "4": { "ContactingTheDevelopers": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "DialogScript": 1 }, - "8": { "DistGame": 1 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorRoom": 1 }, - "11": { "EditorView": 1 }, - "12": { "FAQ": 1 }, - "13": { "File": 1 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "Globalfunctions_General": 2 }, - "16": { "Globalfunctions_Message": 1 }, - "17": { "ImportingFunctionsAndVariables": 3 }, - "18": { "InventoryItem": 1 }, - "19": { "Mouse": 1 }, - "20": { "Multimedia": 2 }, - "21": { "MultipleScripts": 1 }, - "22": { "MusicAndSound": 1 }, - "23": { "ObsoleteScriptAPI": 1 }, - "24": { "Plugins": 1 }, - "25": { "Pointers": 3 }, - "26": { "RepExec": 2 }, - "27": { "ScriptingTutorialPart1": 3 }, - "28": { "ScriptingTutorialPart2": 1 }, - "29": { "ScriptKeywords": 4 }, - "30": { "Settingupthegame": 2 }, - "31": { "TheScriptHeader": 2 }, - "32": { "Tumbleweed_movement": 1 }, - "33": { "UpgradeTo30": 1 }, - "34": { "UpgradeTo31": 1 }, - "35": { "UpgradeTo33": 1 }, - "36": { "UpgradeTo35": 1 }, - "37": { "Viewport": 1 } - }, - "placed": { - "0": { "acintro4": 2 }, - "1": { "Camera": 1 }, - "2": { "Character": 4 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "FAQ": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Lipsync": 2 }, - "10": { "Multimedia": 2 }, - "11": { "Object": 2 }, - "12": { "Overlay": 2 }, - "13": { "Plugins": 2 }, - "14": { "ScriptKeywords": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "TheScriptHeader": 1 }, - "17": { "Translations": 1 }, - "18": { "UpgradeTo34": 1 }, - "19": { "UpgradeTo341": 3 }, - "20": { "Viewport": 1 }, - "21": { "VoiceSpeech": 1 } - }, - "placeholder": { - "0": { "Preprocessor": 1 } - }, - "placeholders": { - "0": { "Overlay": 1 }, - "1": { "String": 1 }, - "2": { "Translations": 2 }, - "3": { "UpgradeTo35": 1 } - }, - "placement": { - "0": { "EventTypes": 1 }, - "1": { "Speech": 1 } - }, - "places": { - "0": { "acintro2": 3 }, - "1": { "acintro8": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DynamicSprite": 2 }, - "4": { "File": 1 }, - "5": { "Game": 1 }, - "6": { "GlobalVariables": 1 }, - "7": { "Maths": 14 }, - "8": { "Plugins": 1 }, - "9": { "Preprocessor": 1 }, - "10": { "ScriptingTutorialPart2": 2 }, - "11": { "ScriptKeywords": 1 }, - "12": { "StringFormats": 1 } - }, - "placing": { - "0": { "DynamicSprite": 1 }, - "1": { "UpgradeTo31": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "VoiceSpeech": 1 } - }, - "plain": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePlugins": 2 }, - "2": { "FAQ": 2 }, - "3": { "File": 2 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "Set": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "plan": { - "0": { "acintro8": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "planned": { - "0": { "acintro8": 1 } - }, - "planning": { - "0": { "GameSavesCompatibility": 1 } - }, - "plans": { - "0": { "UpgradeTo34": 1 } - }, - "plast": { - "0": { "Speech": 4 } - }, - "plate": { - "0": { "Hotspot": 1 } - }, - "platform": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 7 }, - "2": { "EditorLogPanel": 1 }, - "3": { "EnginePlugins": 1 }, - "4": { "Game": 1 }, - "5": { "ScriptModules": 1 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo341": 1 } - }, - "platform-dependent": { - "0": { "EngineConfigFile": 1 } - }, - "platformer": { - "0": { "FAQ": 1 } - }, - "platforms": { - "0": { "BuildAndroid": 1 }, - "1": { "Credits": 1 }, - "2": { "DistGame": 2 }, - "3": { "EngineConfigFile": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePlugins": 2 }, - "6": { "GeneralSettings": 3 }, - "7": { "Plugins": 5 }, - "8": { "UpgradeTo34": 2 }, - "9": { "UpgradeTo36": 1 } - }, - "play": { - "0": { "acintro2": 2 }, - "1": { "acintro9": 1 }, - "2": { "AudioChannel": 3 }, - "3": { "AudioClip": 5 }, - "4": { "AudioInScript": 4 }, - "5": { "Button": 1 }, - "6": { "Camera": 1 }, - "7": { "Character": 14 }, - "8": { "DefaultSetup": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Gamevariables": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Lipsync": 2 }, - "16": { "MIDI-playback": 1 }, - "17": { "Multimedia": 11 }, - "18": { "MusicAndSound": 7 }, - "19": { "Object": 4 }, - "20": { "Room": 1 }, - "21": { "RuntimeEngine": 1 }, - "22": { "ScriptingTutorialPart2": 2 }, - "23": { "ScriptKeywords": 2 }, - "24": { "Settingupthegame": 2 }, - "25": { "Setup": 1 }, - "26": { "Translations": 2 }, - "27": { "Tumbleweed_unhandled": 1 }, - "28": { "UpgradeTo32": 2 }, - "29": { "UpgradeTo36": 1 }, - "30": { "Viewport": 1 }, - "31": { "VoiceSpeech": 2 } - }, - "playability": { - "0": { "acintro1": 1 } - }, - "playable": { - "0": { "acintro7": 2 }, - "1": { "AudioInScript": 1 }, - "2": { "GeneralSettings": 1 } - }, - "playback": { - "0": { "AudioChannel": 4 }, - "1": { "AudioInScript": 2 }, - "2": { "Game": 3 }, - "3": { "Lipsync": 1 }, - "4": { "MIDI-playback": 2 }, - "5": { "Multimedia": 3 }, - "6": { "UpgradeTo36": 1 } - }, - "played": { - "0": { "acintro7": 2 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioClip": 8 }, - "3": { "AudioInScript": 3 }, - "4": { "Button": 1 }, - "5": { "Character": 5 }, - "6": { "EditorDialog": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "Game": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Message": 1 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "Lipsync": 1 }, - "14": { "Multimedia": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Settingupthegame": 2 }, - "17": { "Tumbleweed_door": 2 }, - "18": { "Tumbleweed_movement": 1 }, - "19": { "UpgradeTo36": 1 }, - "20": { "VoiceSpeech": 1 } - }, - "player": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 16 }, - "2": { "acintro4": 15 }, - "3": { "acintro5": 12 }, - "4": { "acintro7": 17 }, - "5": { "acintro8": 18 }, - "6": { "acintro9": 7 }, - "7": { "AudioChannel": 3 }, - "8": { "AudioClip": 1 }, - "9": { "Button": 1 }, - "10": { "Camera": 6 }, - "11": { "Character": 61 }, - "12": { "Copyright": 1 }, - "13": { "Credits": 3 }, - "14": { "CustomDialogOptions": 5 }, - "15": { "CustomProperties": 1 }, - "16": { "DateTime": 1 }, - "17": { "Debuggingfeatures": 1 }, - "18": { "DefaultSetup": 1 }, - "19": { "Dialog": 19 }, - "20": { "DialogOptionsRenderingInfo": 2 }, - "21": { "DialogScript": 17 }, - "22": { "DistGame": 2 }, - "23": { "DrawingSurface": 3 }, - "24": { "EditorCharacter": 3 }, - "25": { "EditorCursor": 4 }, - "26": { "EditorGUI": 8 }, - "27": { "EditorInventoryItems": 6 }, - "28": { "EditorRoom": 2 }, - "29": { "EngineConfigFile": 2 }, - "30": { "EnginePluginRun-timeAPI": 16 }, - "31": { "EventTypes": 48 }, - "32": { "ExtenderFunctions": 1 }, - "33": { "FAQ": 4 }, - "34": { "Game": 24 }, - "35": { "GameSavesCompatibility": 5 }, - "36": { "Gamevariables": 6 }, - "37": { "GeneralSettings": 16 }, - "38": { "Globalfunctions_Event": 6 }, - "39": { "Globalfunctions_General": 36 }, - "40": { "Globalfunctions_Message": 2 }, - "41": { "Globalfunctions_Palette": 1 }, - "42": { "Globalfunctions_Room": 27 }, - "43": { "Globalfunctions_Screen": 1 }, - "44": { "Globalfunctions_Wait": 13 }, - "45": { "GraphicsDriver": 1 }, - "46": { "GUI": 3 }, - "47": { "GUIControl": 1 }, - "48": { "Hotspot": 9 }, - "49": { "InventoryItem": 8 }, - "50": { "InvWindow": 1 }, - "51": { "Keycodes": 1 }, - "52": { "ListBox": 1 }, - "53": { "Mouse": 14 }, - "54": { "Multimedia": 12 }, - "55": { "MusicAndSound": 3 }, - "56": { "Object": 10 }, - "57": { "ObsoleteScriptAPI": 1 }, - "58": { "Overlay": 5 }, - "59": { "Parser": 3 }, - "60": { "Region": 8 }, - "61": { "RepExec": 8 }, - "62": { "Room": 4 }, - "63": { "RuntimeEngine": 1 }, - "64": { "Screen": 2 }, - "65": { "ScriptingTutorialPart1": 13 }, - "66": { "ScriptingTutorialPart2": 12 }, - "67": { "ScriptKeywords": 24 }, - "68": { "Settingupthegame": 27 }, - "69": { "Setup": 8 }, - "70": { "Slider": 2 }, - "71": { "Speech": 9 }, - "72": { "String": 1 }, - "73": { "System": 11 }, - "74": { "TemplateBASS": 1 }, - "75": { "TemplateSierraStyle": 5 }, - "76": { "TextBox": 1 }, - "77": { "TextParser": 7 }, - "78": { "Tumbleweed": 13 }, - "79": { "Tumbleweed_actions": 1 }, - "80": { "Tumbleweed_door": 3 }, - "81": { "Tumbleweed_movement": 17 }, - "82": { "Tumbleweed_player": 1 }, - "83": { "Tumbleweed_unhandled": 2 }, - "84": { "UpgradeTo31": 1 }, - "85": { "UpgradeTo34": 1 }, - "86": { "UpgradeTo35": 3 }, - "87": { "UpgradeTo36": 1 }, - "88": { "UpgradingTo27": 3 }, - "89": { "Viewport": 2 }, - "90": { "VoiceSpeech": 1 } - }, - "player's": { - "0": { "acintro4": 3 }, - "1": { "AudioClip": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 6 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 3 }, - "6": { "Dialog": 1 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorGUI": 2 }, - "9": { "File": 2 }, - "10": { "Game": 2 }, - "11": { "GameEventsOrder": 1 }, - "12": { "GameSavesCompatibility": 2 }, - "13": { "Gamevariables": 1 }, - "14": { "GeneralSettings": 2 }, - "15": { "Globalfunctions_Event": 2 }, - "16": { "Globalfunctions_General": 4 }, - "17": { "Globalfunctions_Wait": 1 }, - "18": { "GlobalVariables": 1 }, - "19": { "GUI": 1 }, - "20": { "InventoryItem": 3 }, - "21": { "Label": 1 }, - "22": { "Multimedia": 2 }, - "23": { "RepExec": 1 }, - "24": { "Screen": 2 }, - "25": { "ScriptKeywords": 2 }, - "26": { "Settingupthegame": 1 }, - "27": { "Speech": 1 }, - "28": { "System": 6 }, - "29": { "Tumbleweed_door": 2 }, - "30": { "Tumbleweed_movement": 2 }, - "31": { "UpgradeTo34": 1 } - }, - "player-friendly": { - "0": { "acintro3": 1 } - }, - "players": { - "0": { "DistGame": 1 }, - "1": { "FAQ": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Parser": 1 }, - "5": { "Speech": 1 }, - "6": { "System": 1 }, - "7": { "VoiceSpeech": 1 } - }, - "playing": { - "0": { "AudioChannel": 39 }, - "1": { "AudioClip": 8 }, - "2": { "AudioInScript": 2 }, - "3": { "Button": 2 }, - "4": { "Character": 7 }, - "5": { "DateTime": 1 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "EnginePluginRun-timeAPI": 3 }, - "8": { "EventTypes": 1 }, - "9": { "File": 1 }, - "10": { "Game": 17 }, - "11": { "Gamevariables": 1 }, - "12": { "Globalfunctions_Message": 1 }, - "13": { "Mouse": 1 }, - "14": { "Multimedia": 4 }, - "15": { "MusicAndSound": 11 }, - "16": { "Settingupthegame": 2 }, - "17": { "System": 2 }, - "18": { "SystemRequirements": 1 }, - "19": { "UpgradeTo32": 3 }, - "20": { "VoiceSpeech": 2 } - }, - "plays": { - "0": { "AudioChannel": 1 }, - "1": { "AudioClip": 7 }, - "2": { "Button": 1 }, - "3": { "Character": 2 }, - "4": { "Lipsync": 1 }, - "5": { "Multimedia": 3 }, - "6": { "MusicAndSound": 1 }, - "7": { "Object": 1 }, - "8": { "Room": 1 }, - "9": { "ViewFrame": 2 }, - "10": { "VoiceSpeech": 1 } - }, - "please": { - "0": { "acintro9": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "BuildAndroid": 1 }, - "3": { "ContactingTheDevelopers": 4 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 2 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "EditorPlugins": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "File": 1 }, - "10": { "GeneralSettings": 2 }, - "11": { "Overlay": 2 }, - "12": { "Plugins": 1 }, - "13": { "Preprocessor": 1 }, - "14": { "Tumbleweed": 2 }, - "15": { "Tumbleweed_door": 1 }, - "16": { "UnicodeSupport": 1 }, - "17": { "UpgradeTo361": 1 } - }, - "plot": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "plowing": { - "0": { "Debuggingfeatures": 1 } - }, - "plugin": { - "0": { "EditorFont": 1 }, - "1": { "EditorPlugins": 17 }, - "2": { "EnginePluginDesign-timeAPI": 20 }, - "3": { "EnginePluginRun-timeAPI": 27 }, - "4": { "EnginePlugins": 7 }, - "5": { "Game": 5 }, - "6": { "Plugins": 16 }, - "7": { "SystemLimits": 1 }, - "8": { "TroubleshootingWindowsZoneID": 2 }, - "9": { "UpgradeTo34": 1 }, - "10": { "UpgradeTo361": 1 } - }, - "plugin's": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "plugins": { - "0": { "EditorPlugins": 5 }, - "1": { "EnginePluginDesign-timeAPI": 2 }, - "2": { "EnginePluginRun-timeAPI": 4 }, - "3": { "EnginePlugins": 7 }, - "4": { "Game": 1 }, - "5": { "Plugins": 12 }, - "6": { "SystemLimits": 1 } - }, - "plumbing": { - "0": { "EditorPlugins": 1 } - }, - "plus": { - "0": { "DistGame": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "pmove": { - "0": { "Speech": 4 } - }, - "png": { - "0": { "BuildAndroid": 11 } - }, - "point": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 6 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 3 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 7 }, - "6": { "Camera": 1 }, - "7": { "Character": 2 }, - "8": { "DialogScript": 1 }, - "9": { "DrawingSurface": 2 }, - "10": { "EditorCursor": 1 }, - "11": { "EditorDialog": 1 }, - "12": { "EditorRoom": 3 }, - "13": { "EnginePluginDesign-timeAPI": 2 }, - "14": { "EnginePluginRun-timeAPI": 10 }, - "15": { "GeneralSettings": 2 }, - "16": { "Globalfunctions_General": 12 }, - "17": { "Globalfunctions_Room": 4 }, - "18": { "GlobalVariables": 1 }, - "19": { "Hotspot": 7 }, - "20": { "Lipsync": 1 }, - "21": { "Maths": 4 }, - "22": { "Mouse": 1 }, - "23": { "Pointers": 8 }, - "24": { "Region": 1 }, - "25": { "Room": 1 }, - "26": { "Screen": 2 }, - "27": { "ScriptingTutorialPart1": 1 }, - "28": { "ScriptingTutorialPart2": 1 }, - "29": { "ScriptKeywords": 5 }, - "30": { "Settingupthegame": 1 }, - "31": { "StandardTypes": 1 }, - "32": { "Tumbleweed_door": 1 }, - "33": { "UpgradeTo36": 1 }, - "34": { "UpgradeTo361": 1 }, - "35": { "Viewport": 5 } - }, - "point'n'click": { - "0": { "FAQ": 1 } - }, - "point-and-click": { - "0": { "acintro1": 1 }, - "1": { "Introduction": 1 } - }, - "point-size": { - "0": { "EditorFont": 1 } - }, - "point-version": { - "0": { "Globalfunctions_General": 1 } - }, - "pointer": { - "0": { "acintro9": 1 }, - "1": { "AudioClip": 2 }, - "2": { "AudioInScript": 6 }, - "3": { "Camera": 2 }, - "4": { "Character": 3 }, - "5": { "Dialog": 3 }, - "6": { "DynamicArrays": 5 }, - "7": { "EditorCursor": 2 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "EnginePluginRun-timeAPI": 23 }, - "10": { "File": 7 }, - "11": { "Game": 2 }, - "12": { "GameSavesCompatibility": 3 }, - "13": { "GlobalVariables": 1 }, - "14": { "GUI": 3 }, - "15": { "GUIControl": 3 }, - "16": { "Hotspot": 2 }, - "17": { "InventoryItem": 2 }, - "18": { "Mouse": 1 }, - "19": { "Object": 2 }, - "20": { "ObsoleteScriptAPI": 1 }, - "21": { "OOProgramming": 2 }, - "22": { "Pointers": 23 }, - "23": { "ScriptKeywords": 14 }, - "24": { "Settingupthegame": 2 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo361": 3 }, - "27": { "Viewport": 2 } - }, - "pointers": { - "0": { "DynamicArrays": 2 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "File": 1 }, - "3": { "GameSavesCompatibility": 2 }, - "4": { "GlobalVariables": 1 }, - "5": { "Pointers": 25 }, - "6": { "ScriptKeywords": 1 }, - "7": { "UpgradeTo34": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "pointers-to-pointers": { - "0": { "Pointers": 1 } - }, - "pointing": { - "0": { "AudioInScript": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Pointers": 2 }, - "3": { "ScriptKeywords": 1 } - }, - "points": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "DialogScript": 2 }, - "5": { "DrawingSurface": 2 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "EnginePluginRun-timeAPI": 3 }, - "10": { "File": 1 }, - "11": { "Game": 3 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Gamevariables": 3 }, - "14": { "GeneralSettings": 2 }, - "15": { "Globalfunctions_Event": 1 }, - "16": { "Globalfunctions_General": 1 }, - "17": { "Label": 1 }, - "18": { "Pointers": 2 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "ScriptingTutorialPart2": 4 }, - "21": { "ScriptKeywords": 1 }, - "22": { "Translations": 1 } - }, - "pool": { - "0": { "EnginePluginRun-timeAPI": 8 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ScriptKeywords": 3 } - }, - "poor": { - "0": { "Settingupthegame": 1 } - }, - "poorly": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "pop": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "EnginePluginDesign-timeAPI": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "FAQ": 1 }, - "5": { "GUI": 2 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "StandardEnums": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "pop-up": { - "0": { "DialogScript": 1 }, - "1": { "EditorGUI": 2 }, - "2": { "EditorPreferences": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Screen": 1 }, - "5": { "Settingupthegame": 1 } - }, - "popped": { - "0": { "Globalfunctions_General": 2 }, - "1": { "GUI": 1 }, - "2": { "Settingupthegame": 1 } - }, - "pops": { - "0": { "UpgradingTo27": 2 } - }, - "popular": { - "0": { "acintro8": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "populate": { - "0": { "ListBox": 1 }, - "1": { "Translations": 1 } - }, - "popup": { - "0": { "acintro9": 1 }, - "1": { "GUI": 3 }, - "2": { "TemplateBASS": 2 } - }, - "port": { - "0": { "DistGame": 1 }, - "1": { "Plugins": 1 }, - "2": { "RuntimeEngine": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "portable": { - "0": { "Constants": 1 } - }, - "ported": { - "0": { "Plugins": 1 } - }, - "portion": { - "0": { "acintro6": 1 }, - "1": { "Camera": 1 }, - "2": { "DynamicSprite": 3 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Lipsync": 1 }, - "5": { "Settingupthegame": 1 } - }, - "portions": { - "0": { "DynamicSprite": 1 } - }, - "portrait": { - "0": { "Character": 8 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "GeneralSettings": 4 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "RuntimeEngine": 1 }, - "6": { "Speech": 13 } - }, - "portrait's": { - "0": { "Speech": 1 } - }, - "portraits": { - "0": { "Speech": 2 } - }, - "ports": { - "0": { "Credits": 1 } - }, - "pos": { - "0": { "File": 4 } - }, - "position": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro8": 1 }, - "3": { "AudioChannel": 14 }, - "4": { "AudioClip": 4 }, - "5": { "Camera": 14 }, - "6": { "Character": 9 }, - "7": { "CustomDialogOptions": 3 }, - "8": { "DefaultSetup": 1 }, - "9": { "DialogOptionsRenderingInfo": 2 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicSprite": 2 }, - "12": { "EditorGUI": 4 }, - "13": { "EditorRoom": 5 }, - "14": { "EnginePluginRun-timeAPI": 13 }, - "15": { "FAQ": 1 }, - "16": { "File": 4 }, - "17": { "Game": 1 }, - "18": { "GameEventsOrder": 4 }, - "19": { "GeneralSettings": 2 }, - "20": { "Globalfunctions_Event": 1 }, - "21": { "Globalfunctions_General": 11 }, - "22": { "Globalfunctions_Message": 1 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "GUI": 7 }, - "25": { "GUIControl": 4 }, - "26": { "InventoryItem": 2 }, - "27": { "Lipsync": 1 }, - "28": { "Mouse": 5 }, - "29": { "Object": 3 }, - "30": { "Overlay": 3 }, - "31": { "RepExec": 1 }, - "32": { "Screen": 3 }, - "33": { "Slider": 1 }, - "34": { "StandardTypes": 1 }, - "35": { "String": 2 }, - "36": { "TemplateVerbcoin": 1 }, - "37": { "UpgradeTo33": 1 }, - "38": { "UpgradeTo35": 3 }, - "39": { "Viewport": 7 } - }, - "positioned": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Globalfunctions_Message": 1 }, - "6": { "GUIControl": 3 }, - "7": { "Multimedia": 1 }, - "8": { "Object": 1 }, - "9": { "Overlay": 5 }, - "10": { "Screen": 1 }, - "11": { "Speech": 1 }, - "12": { "UpgradeTo36": 1 } - }, - "positioning": { - "0": { "acintro2": 2 }, - "1": { "EditorRoom": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_Message": 1 } - }, - "positionings": { - "0": { "Character": 2 } - }, - "positions": { - "0": { "Character": 1 }, - "1": { "DialogOptionsRenderingInfo": 3 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "GUI": 1 }, - "9": { "TemplateVerbcoin": 1 } - }, - "positive": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "File": 3 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "GUI": 1 }, - "6": { "Maths": 2 }, - "7": { "Object": 1 }, - "8": { "OOProgramming": 1 }, - "9": { "Overlay": 1 }, - "10": { "Region": 1 }, - "11": { "SystemLimits": 1 }, - "12": { "UnicodeSupport": 1 }, - "13": { "VoiceSpeech": 1 } - }, - "positons": { - "0": { "Viewport": 1 } - }, - "possesses": { - "0": { "GameSavesCompatibility": 1 } - }, - "possibilities": { - "0": { "acintro4": 1 } - }, - "possibility": { - "0": { "EditorSprite": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "possible": { - "0": { "acintro2": 2 }, - "1": { "acintro8": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "Camera": 1 }, - "6": { "Character": 5 }, - "7": { "DefaultSetup": 1 }, - "8": { "Dialog": 1 }, - "9": { "DialogScript": 1 }, - "10": { "DistGame": 2 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorCharacter": 1 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorSprite": 2 }, - "15": { "EngineConfigFile": 3 }, - "16": { "EnginePluginRun-timeAPI": 4 }, - "17": { "EventTypes": 2 }, - "18": { "FAQ": 2 }, - "19": { "Game": 2 }, - "20": { "Gamevariables": 1 }, - "21": { "GeneralSettings": 3 }, - "22": { "GlobalArrays": 1 }, - "23": { "Globalfunctions_Event": 4 }, - "24": { "Globalfunctions_General": 4 }, - "25": { "Globalfunctions_Screen": 1 }, - "26": { "Keycodes": 1 }, - "27": { "Label": 1 }, - "28": { "Lipsync": 2 }, - "29": { "MIDI-playback": 2 }, - "30": { "Object": 3 }, - "31": { "OOProgramming": 1 }, - "32": { "Plugins": 1 }, - "33": { "Pointers": 1 }, - "34": { "Room": 1 }, - "35": { "ScriptingTutorialPart2": 1 }, - "36": { "ScriptKeywords": 1 }, - "37": { "Settingupthegame": 1 }, - "38": { "System": 1 }, - "39": { "SystemLimits": 1 }, - "40": { "Translations": 1 }, - "41": { "TroubleshootingWindowsZoneID": 1 }, - "42": { "Tumbleweed": 1 }, - "43": { "Tumbleweed_movement": 1 }, - "44": { "UpgradeTo30": 1 }, - "45": { "UpgradeTo34": 1 }, - "46": { "UpgradeTo341": 1 }, - "47": { "UpgradeTo35": 1 }, - "48": { "UpgradeTo36": 3 }, - "49": { "UpgradingTo27": 1 }, - "50": { "VoiceSpeech": 1 } - }, - "possibly": { - "0": { "acintro8": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "ScriptAPIOverview": 1 }, - "3": { "Templates": 1 } - }, - "post": { - "0": { "ContactingTheDevelopers": 2 }, - "1": { "Plugins": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "poster": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "posting": { - "0": { "ContactingTheDevelopers": 1 } - }, - "potential": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GameSavesCompatibility": 2 } - }, - "potentially": { - "0": { "acintro4": 1 }, - "1": { "DistGame": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "pound": { - "0": { "Translations": 1 } - }, - "power": { - "0": { "Maths": 3 } - }, - "practically": { - "0": { "GeneralSettings": 1 } - }, - "practice": { - "0": { "EditorInventoryItems": 1 }, - "1": { "EditorView": 1 }, - "2": { "FAQ": 1 }, - "3": { "File": 1 }, - "4": { "ImportingFunctionsAndVariables": 1 }, - "5": { "Mouse": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "Overlay": 1 }, - "8": { "Pointers": 1 }, - "9": { "Preprocessor": 2 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "StandardEnums": 1 }, - "14": { "UpgradeTo35": 3 } - }, - "practices": { - "0": { "ScriptingLanguage": 1 } - }, - "pre-AGS": { - "0": { "GeneralSettings": 4 }, - "1": { "ScriptAPIOverview": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "pre-configured": { - "0": { "EditorGUI": 1 }, - "1": { "MIDI-playback": 1 } - }, - "pre-installed": { - "0": { "SystemRequirements": 1 } - }, - "pre-unicode": { - "0": { "GeneralSettings": 1 } - }, - "preallocated": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "precaching": { - "0": { "Game": 2 } - }, - "precede": { - "0": { "Character": 1 }, - "1": { "FAQ": 1 }, - "2": { "Globalfunctions_Message": 1 } - }, - "preceded": { - "0": { "Dictionary": 2 }, - "1": { "EngineConfigFile": 1 }, - "2": { "RuntimeEngine": 1 }, - "3": { "Set": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "precedence": { - "0": { "Constants": 1 }, - "1": { "GeneralSettings": 3 }, - "2": { "ScriptKeywords": 5 } - }, - "precise": { - "0": { "EditorRoom": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "SystemLimits": 1 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo35": 2 } - }, - "precisely": { - "0": { "EngineConfigFile": 1 }, - "1": { "File": 1 }, - "2": { "GUIControl": 1 }, - "3": { "Lipsync": 1 }, - "4": { "RepExec": 1 } - }, - "precision": { - "0": { "GeneralSettings": 1 }, - "1": { "SystemLimits": 1 } - }, - "precreated": { - "0": { "EditorCursor": 1 } - }, - "precreating": { - "0": { "Game": 1 } - }, - "predefined": { - "0": { "Constants": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Settingupthegame": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "predict": { - "0": { "GeneralSettings": 1 } - }, - "prefer": { - "0": { "Camera": 1 }, - "1": { "EditorDialog": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "EventTypes": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo341": 1 }, - "7": { "UpgradeTo35": 1 }, - "8": { "Viewport": 1 } - }, - "preferable": { - "0": { "Globalfunctions_General": 1 }, - "1": { "MIDI-playback": 1 } - }, - "preferably": { - "0": { "GeneralSettings": 1 }, - "1": { "Templates": 1 } - }, - "preference": { - "0": { "GeneralSettings": 1 }, - "1": { "Mouse": 1 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradeTo35": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "preferences": { - "0": { "BuildAndroid": 2 }, - "1": { "EditorLogPanel": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "preferred": { - "0": { "DefaultSetup": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "Setup": 1 } - }, - "prefix": { - "0": { "Gamevariables": 1 } - }, - "preload": { - "0": { "DistGame": 1 } - }, - "preloaded": { - "0": { "Game": 2 } - }, - "preloading": { - "0": { "Game": 1 } - }, - "prematurely": { - "0": { "Character": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "prepares": { - "0": { "Game": 2 } - }, - "preparing": { - "0": { "DistGame": 1 } - }, - "prepend": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "prepended": { - "0": { "Mouse": 1 }, - "1": { "Room": 1 } - }, - "preprocessor": { - "0": { "Preprocessor": 2 } - }, - "presence": { - "0": { "MIDI-playback": 1 } - }, - "present": { - "0": { "AudioInScript": 1 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "DefaultSetup": 1 }, - "3": { "DialogScript": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorLogPanel": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "File": 1 }, - "10": { "Game": 2 }, - "11": { "Gamevariables": 1 }, - "12": { "Label": 1 }, - "13": { "MIDI-playback": 1 }, - "14": { "Room": 1 }, - "15": { "ScriptKeywords": 2 }, - "16": { "Setup": 1 }, - "17": { "String": 1 }, - "18": { "Templates": 1 }, - "19": { "TroubleshootingWindowsZoneID": 1 }, - "20": { "UpgradeTo335": 1 } - }, - "presented": { - "0": { "acintro1": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "CustomProperties": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Settingupthegame": 1 } - }, - "presenting": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "presents": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "preserveAlphaChannel": { - "0": { "DynamicSprite": 2 } - }, - "preserved": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "preserving": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "preset": { - "0": { "Character": 2 } - }, - "press": { - "0": { "acintro": 1 }, - "1": { "acintro2": 2 }, - "2": { "BlockingScripts": 1 }, - "3": { "CustomDialogOptions": 6 }, - "4": { "DialogOptionsRenderingInfo": 2 }, - "5": { "EditorFont": 1 }, - "6": { "EditorGUI": 2 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "Game": 1 }, - "9": { "GameEventsOrder": 1 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_Event": 10 }, - "12": { "Globalfunctions_General": 8 }, - "13": { "InvWindow": 2 }, - "14": { "Keycodes": 5 }, - "15": { "Lipsync": 1 }, - "16": { "Multimedia": 5 }, - "17": { "MultipleScripts": 2 }, - "18": { "Settingupthegame": 2 }, - "19": { "Speech": 1 }, - "20": { "System": 2 }, - "21": { "TemplateVerbcoin": 1 }, - "22": { "TroubleshootingWindowsZoneID": 1 }, - "23": { "UpgradeTo34": 1 }, - "24": { "UpgradeTo36": 10 } - }, - "pressed": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_Event": 6 }, - "3": { "Globalfunctions_General": 6 }, - "4": { "Globalfunctions_Wait": 3 }, - "5": { "Keycodes": 4 }, - "6": { "Mouse": 2 }, - "7": { "ScriptKeywords": 1 }, - "8": { "UpgradeTo36": 5 } - }, - "presses": { - "0": { "CustomDialogOptions": 2 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 3 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "Globalfunctions_General": 7 }, - "7": { "Globalfunctions_Wait": 8 }, - "8": { "GUI": 1 }, - "9": { "Mouse": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "ScriptKeywords": 1 }, - "12": { "System": 1 }, - "13": { "UpgradeTo34": 1 } - }, - "pressing": { - "0": { "acintro4": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "FAQ": 1 }, - "5": { "Game": 1 }, - "6": { "Globalfunctions_Event": 2 }, - "7": { "Globalfunctions_General": 6 }, - "8": { "Globalfunctions_Message": 1 }, - "9": { "Multimedia": 1 }, - "10": { "Speech": 5 }, - "11": { "Tumbleweed_movement": 1 }, - "12": { "VoiceSpeech": 1 } - }, - "pressure": { - "0": { "Hotspot": 1 } - }, - "pretty": { - "0": { "acintro3": 1 }, - "1": { "acintro9": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "GlobalVariables": 1 } - }, - "prevent": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorRoom": 2 }, - "3": { "Gamevariables": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "OOProgramming": 1 }, - "7": { "Pointers": 1 }, - "8": { "Tumbleweed_player": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "preventing": { - "0": { "DefaultSetup": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Mouse": 1 }, - "4": { "Setup": 1 } - }, - "prevents": { - "0": { "Globalfunctions_General": 1 }, - "1": { "MultipleScripts": 1 }, - "2": { "Settingupthegame": 1 } - }, - "preview": { - "0": { "acintro2": 1 }, - "1": { "EditorCursor": 1 }, - "2": { "EditorFont": 2 }, - "3": { "EditorPreferences": 2 }, - "4": { "EditorView": 1 }, - "5": { "MusicAndSound": 1 } - }, - "previewed": { - "0": { "EditorView": 1 } - }, - "previews": { - "0": { "EditorView": 2 } - }, - "previous": { - "0": { "acintro2": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 7 }, - "3": { "DialogScript": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "EngineConfigFile": 1 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "FAQ": 1 }, - "10": { "File": 1 }, - "11": { "GameSavesCompatibility": 6 }, - "12": { "Globalfunctions_General": 3 }, - "13": { "GlobalVariables": 2 }, - "14": { "Keycodes": 1 }, - "15": { "Mouse": 2 }, - "16": { "Multimedia": 1 }, - "17": { "MusicAndSound": 1 }, - "18": { "Object": 1 }, - "19": { "Pointers": 1 }, - "20": { "ScriptingTutorialPart1": 1 }, - "21": { "ScriptKeywords": 1 }, - "22": { "SourceControl": 1 }, - "23": { "System": 1 }, - "24": { "TemplateBASS": 1 }, - "25": { "TemplateVerbcoin": 1 }, - "26": { "TextParser": 1 }, - "27": { "Tumbleweed_player": 1 }, - "28": { "UpgradeTo30": 1 }, - "29": { "UpgradeTo31": 2 }, - "30": { "UpgradeTo32": 3 }, - "31": { "UpgradeTo33": 2 }, - "32": { "UpgradeTo341": 2 }, - "33": { "UpgradeTo35": 1 }, - "34": { "UpgradingFromPreviousVersion": 1 }, - "35": { "UpgradingTo27": 3 }, - "36": { "UpgradingTo271": 1 } - }, - "previously": { - "0": { "acintro6": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 2 }, - "4": { "Dialog": 2 }, - "5": { "Dictionary": 2 }, - "6": { "DynamicSprite": 1 }, - "7": { "EditorCharacter": 1 }, - "8": { "EnginePluginRun-timeAPI": 3 }, - "9": { "FAQ": 1 }, - "10": { "File": 5 }, - "11": { "Game": 2 }, - "12": { "Globalfunctions_General": 3 }, - "13": { "Globalfunctions_Room": 1 }, - "14": { "GUI": 1 }, - "15": { "GUIControl": 2 }, - "16": { "Hotspot": 2 }, - "17": { "InventoryItem": 1 }, - "18": { "ListBox": 1 }, - "19": { "Object": 1 }, - "20": { "Region": 1 }, - "21": { "ScriptAPIOverview": 1 }, - "22": { "ScriptModules": 1 }, - "23": { "TemplateBASS": 1 }, - "24": { "Templates": 1 }, - "25": { "TemplateSierraStyle": 1 }, - "26": { "UpgradeTo33": 1 }, - "27": { "UpgradeTo34": 2 }, - "28": { "UpgradeTo35": 2 }, - "29": { "UpgradeTo36": 2 }, - "30": { "UpgradingTo27": 1 }, - "31": { "Viewport": 1 } - }, - "prevroom": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "price": { - "0": { "GeneralSettings": 1 }, - "1": { "RepExec": 1 }, - "2": { "ScriptKeywords": 4 }, - "3": { "UpgradeTo34": 1 } - }, - "primarily": { - "0": { "ColoursEditor": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Object": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "UpgradeTo36": 2 } - }, - "primary": { - "0": { "Camera": 6 }, - "1": { "Game": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "Keycodes": 1 }, - "5": { "Screen": 7 }, - "6": { "Viewport": 6 } - }, - "primitives": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "principle": { - "0": { "MultipleScripts": 1 } - }, - "principles": { - "0": { "MusicAndSound": 1 } - }, - "print": { - "0": { "Character": 2 }, - "1": { "Dictionary": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Hotspot": 1 }, - "5": { "InventoryItem": 1 }, - "6": { "Object": 1 }, - "7": { "Room": 2 }, - "8": { "RuntimeEngine": 8 }, - "9": { "Set": 1 }, - "10": { "UnicodeSupport": 1 }, - "11": { "UpgradeTo36": 1 } - }, - "printable": { - "0": { "CustomDialogOptions": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "UpgradeTo36": 2 } - }, - "printed": { - "0": { "DrawingSurface": 2 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "FAQ": 1 }, - "3": { "File": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Event": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "printf-style": { - "0": { "StringFormats": 1 } - }, - "printouts": { - "0": { "ContactingTheDevelopers": 1 } - }, - "prints": { - "0": { "GUIControl": 1 }, - "1": { "Overlay": 2 }, - "2": { "RuntimeEngine": 2 }, - "3": { "UpgradeTo361": 1 } - }, - "prior": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GameEventsOrder": 1 }, - "3": { "InventoryItem": 1 } - }, - "priorities": { - "0": { "acintro2": 1 }, - "1": { "AudioInScript": 1 } - }, - "prioritizes": { - "0": { "FAQ": 1 } - }, - "priority": { - "0": { "AudioClip": 6 }, - "1": { "DefaultSetup": 1 }, - "2": { "MusicAndSound": 7 } - }, - "private": { - "0": { "ContactingTheDevelopers": 1 } - }, - "probable": { - "0": { "UpgradeTo36": 1 } - }, - "probably": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "Character": 5 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "EditorInventoryItems": 1 }, - "7": { "EditorPlugins": 1 }, - "8": { "EditorView": 2 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "FAQ": 1 }, - "11": { "File": 1 }, - "12": { "GameEventsOrder": 1 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "GlobalVariables": 1 }, - "17": { "GUI": 1 }, - "18": { "GUIControl": 2 }, - "19": { "MusicAndSound": 2 }, - "20": { "Object": 1 }, - "21": { "ScriptingTutorialPart2": 1 }, - "22": { "Settingupthegame": 2 }, - "23": { "String": 2 }, - "24": { "Templates": 1 }, - "25": { "TextParser": 1 }, - "26": { "Translations": 1 }, - "27": { "Tumbleweed": 2 }, - "28": { "UnicodeSupport": 2 }, - "29": { "UpgradeTo30": 3 }, - "30": { "UpgradeTo31": 1 }, - "31": { "UpgradeTo361": 1 } - }, - "problem": { - "0": { "acintro6": 1 }, - "1": { "AudioChannel": 2 }, - "2": { "ContactingTheDevelopers": 4 }, - "3": { "Debuggingfeatures": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "File": 2 }, - "7": { "Game": 3 }, - "8": { "GameSavesCompatibility": 4 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Multimedia": 1 }, - "11": { "OOProgramming": 1 }, - "12": { "Plugins": 2 }, - "13": { "Pointers": 2 }, - "14": { "ScriptKeywords": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "TheScriptHeader": 1 }, - "17": { "Translations": 1 }, - "18": { "TroubleshootingWindowsZoneID": 2 }, - "19": { "VoiceSpeech": 1 } - }, - "problems": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Character": 2 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "Copyright": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "File": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "ScriptAPIOverview": 1 }, - "10": { "TroubleshootingWindowsZoneID": 1 }, - "11": { "UpgradeTo30": 2 }, - "12": { "UpgradeTo31": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "proceed": { - "0": { "BuildAndroid": 1 }, - "1": { "Introduction": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "proceedings": { - "0": { "acintro7": 1 } - }, - "proceeds": { - "0": { "ScriptingTutorialPart1": 6 } - }, - "process": { - "0": { "acintro": 1 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "Dialog": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "DynamicArrays": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "EventTypes": 3 }, - "8": { "File": 1 }, - "9": { "Game": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "GlobalVariables": 1 }, - "13": { "Introduction": 1 }, - "14": { "Keycodes": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "Slider": 1 }, - "17": { "TroubleshootingWindowsZoneID": 1 }, - "18": { "UpgradeTo34": 1 } - }, - "process's": { - "0": { "RuntimeEngine": 1 } - }, - "processed": { - "0": { "CustomDialogOptions": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "GameEventsOrder": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "GraphicsDriver": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "TemplateBASS": 1 } - }, - "processing": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "String": 2 }, - "6": { "Tumbleweed_movement": 1 } - }, - "produce": { - "0": { "Character": 1 }, - "1": { "DistGame": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Lipsync": 1 }, - "4": { "Object": 1 }, - "5": { "Region": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "UpgradeTo35": 1 }, - "9": { "UpgradeTo36": 1 } - }, - "produced": { - "0": { "DistGame": 1 } - }, - "producing": { - "0": { "Camera": 2 } - }, - "product": { - "0": { "Credits": 1 } - }, - "production": { - "0": { "Debuggingfeatures": 1 } - }, - "productive": { - "0": { "Introduction": 1 } - }, - "products": { - "0": { "EditorInventoryItems": 1 } - }, - "professional": { - "0": { "acintro1": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Templates": 1 } - }, - "program": { - "0": { "acintro9": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 2 }, - "3": { "DefaultSetup": 5 }, - "4": { "DistGame": 4 }, - "5": { "EditorPreferences": 3 }, - "6": { "EngineConfigFile": 2 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "FAQ": 2 }, - "9": { "GeneralSettings": 2 }, - "10": { "GraphicsDriver": 1 }, - "11": { "Lipsync": 1 }, - "12": { "Mouse": 1 }, - "13": { "Pointers": 4 }, - "14": { "ScriptAPIOverview": 1 }, - "15": { "Settingupthegame": 2 }, - "16": { "Setup": 3 }, - "17": { "System": 1 }, - "18": { "TheScriptHeader": 1 }, - "19": { "Translations": 1 }, - "20": { "TroubleshootingWindowsZoneID": 1 }, - "21": { "UpgradeTo335": 1 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo341": 1 }, - "24": { "UpgradeTo361": 1 } - }, - "programmatically": { - "0": { "DistGame": 1 }, - "1": { "ScriptAPIOverview": 1 } - }, - "programming": { - "0": { "Credits": 1 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "Pointers": 3 }, - "3": { "ScriptingLanguage": 1 }, - "4": { "ScriptKeywords": 3 } - }, - "programs": { - "0": { "File": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "progress": { - "0": { "Character": 2 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "Globalfunctions_Screen": 1 } - }, - "progresses": { - "0": { "acintro3": 1 } - }, - "project": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "BuildAndroid": 3 }, - "3": { "ColoursEditor": 1 }, - "4": { "Copyright": 1 }, - "5": { "Credits": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "DistGame": 5 }, - "9": { "EditorCharacter": 1 }, - "10": { "EditorCommandLineOptions": 3 }, - "11": { "EditorGUI": 1 }, - "12": { "EditorPlugins": 6 }, - "13": { "EditorSprite": 8 }, - "14": { "EditorView": 1 }, - "15": { "EnginePlugins": 1 }, - "16": { "GameSavesCompatibility": 2 }, - "17": { "GeneralSettings": 4 }, - "18": { "Globalfunctions_Event": 1 }, - "19": { "Lipsync": 4 }, - "20": { "Multimedia": 1 }, - "21": { "MultipleScripts": 1 }, - "22": { "MusicAndSound": 6 }, - "23": { "Preprocessor": 1 }, - "24": { "Settingupthegame": 1 }, - "25": { "Translations": 2 }, - "26": { "TroubleshootingWindowsZoneID": 1 }, - "27": { "UnicodeSupport": 2 }, - "28": { "UpgradeTo32": 1 }, - "29": { "UpgradeTo33": 1 }, - "30": { "UpgradeTo34": 3 }, - "31": { "UpgradeTo341": 1 }, - "32": { "UpgradeTo35": 3 }, - "33": { "UpgradeTo36": 3 }, - "34": { "VoiceSpeech": 1 } - }, - "project's": { - "0": { "DefaultSetup": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorCommandLineOptions": 1 }, - "3": { "EditorSprite": 2 }, - "4": { "UpgradeTo36": 1 } - }, - "projects": { - "0": { "GeneralSettings": 3 }, - "1": { "UnicodeSupport": 2 }, - "2": { "UpgradeTo33": 3 }, - "3": { "UpgradeTo341": 1 }, - "4": { "UpgradeTo35": 1 }, - "5": { "UpgradeTo36": 2 }, - "6": { "UpgradeTo361": 1 } - }, - "prolongs": { - "0": { "Speech": 1 } - }, - "promoted": { - "0": { "UpgradeTo35": 1 } - }, - "prompt": { - "0": { "acintro1": 2 }, - "1": { "BuildAndroid": 1 }, - "2": { "EditorCommandLineOptions": 1 }, - "3": { "EditorSprite": 1 }, - "4": { "Game": 3 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "SourceControl": 1 }, - "8": { "Templates": 1 }, - "9": { "TroubleshootingWindowsZoneID": 3 } - }, - "prompted": { - "0": { "acintro9": 1 } - }, - "pronounce": { - "0": { "DialogScript": 1 } - }, - "propagating": { - "0": { "Globalfunctions_Event": 1 } - }, - "proper": { - "0": { "acintro4": 2 }, - "1": { "DistGame": 1 }, - "2": { "Pointers": 2 }, - "3": { "Setup": 1 }, - "4": { "UpgradeTo33": 2 }, - "5": { "UpgradeTo36": 2 } - }, - "properly": { - "0": { "acintro2": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "ScriptKeywords": 1 }, - "5": { "UpgradeTo31": 2 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "properties": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 1 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioClip": 1 }, - "11": { "AudioInScript": 1 }, - "12": { "Button": 4 }, - "13": { "Camera": 4 }, - "14": { "Character": 10 }, - "15": { "ColoursEditor": 1 }, - "16": { "Constants": 1 }, - "17": { "CustomDialogOptions": 2 }, - "18": { "CustomProperties": 7 }, - "19": { "DateTime": 2 }, - "20": { "DefaultSetup": 1 }, - "21": { "Dialog": 1 }, - "22": { "DialogOptionsRenderingInfo": 1 }, - "23": { "Dictionary": 2 }, - "24": { "DistGame": 1 }, - "25": { "DrawingSurface": 2 }, - "26": { "DynamicSprite": 2 }, - "27": { "EditorCharacter": 2 }, - "28": { "EditorCommandLineOptions": 1 }, - "29": { "EditorCursor": 1 }, - "30": { "EditorFont": 2 }, - "31": { "EditorGUI": 3 }, - "32": { "EditorInventoryItems": 2 }, - "33": { "EditorRoom": 7 }, - "34": { "EditorSprite": 2 }, - "35": { "EnginePluginRun-timeAPI": 1 }, - "36": { "FAQ": 7 }, - "37": { "File": 1 }, - "38": { "Game": 2 }, - "39": { "GameSavesCompatibility": 2 }, - "40": { "GeneralSettings": 4 }, - "41": { "Globalfunctions_General": 1 }, - "42": { "GUI": 3 }, - "43": { "GUIControl": 3 }, - "44": { "Hotspot": 7 }, - "45": { "InventoryItem": 8 }, - "46": { "InvWindow": 2 }, - "47": { "Label": 2 }, - "48": { "ListBox": 2 }, - "49": { "Maths": 1 }, - "50": { "Mouse": 1 }, - "51": { "MusicAndSound": 3 }, - "52": { "Object": 8 }, - "53": { "OOProgramming": 5 }, - "54": { "Overlay": 1 }, - "55": { "Pointers": 2 }, - "56": { "Region": 2 }, - "57": { "Room": 11 }, - "58": { "ScriptAPIOverview": 2 }, - "59": { "Scripting": 35 }, - "60": { "ScriptModules": 1 }, - "61": { "Set": 2 }, - "62": { "Settingupthegame": 2 }, - "63": { "Slider": 2 }, - "64": { "Speech": 1 }, - "65": { "System": 1 }, - "66": { "SystemLimits": 1 }, - "67": { "TemplateBASS": 1 }, - "68": { "TextBox": 2 }, - "69": { "TextWindowGUI": 3 }, - "70": { "Translations": 1 }, - "71": { "TroubleshootingWindowsZoneID": 1 }, - "72": { "UnicodeSupport": 2 }, - "73": { "UpgradeTo31": 1 }, - "74": { "UpgradeTo33": 3 }, - "75": { "UpgradeTo34": 3 }, - "76": { "UpgradeTo35": 4 }, - "77": { "UpgradeTo36": 5 }, - "78": { "UpgradingTo27": 1 }, - "79": { "UpgradingTo271": 2 }, - "80": { "ViewFrame": 1 }, - "81": { "Viewport": 4 } - }, - "property": { - "0": { "acintro2": 4 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 5 }, - "3": { "acintro5": 1 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 1 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "AudioChannel": 6 }, - "8": { "AudioClip": 3 }, - "9": { "Button": 12 }, - "10": { "Camera": 3 }, - "11": { "Character": 81 }, - "12": { "ColoursEditor": 1 }, - "13": { "CustomDialogOptions": 2 }, - "14": { "CustomProperties": 12 }, - "15": { "Dialog": 3 }, - "16": { "DialogOptionsRenderingInfo": 2 }, - "17": { "DistGame": 1 }, - "18": { "DrawingSurface": 7 }, - "19": { "DynamicSprite": 13 }, - "20": { "EditorCursor": 1 }, - "21": { "EditorFont": 1 }, - "22": { "EditorGUI": 7 }, - "23": { "EditorInventoryItems": 1 }, - "24": { "EditorRoom": 3 }, - "25": { "EditorView": 1 }, - "26": { "EnginePluginRun-timeAPI": 1 }, - "27": { "EventTypes": 4 }, - "28": { "FAQ": 5 }, - "29": { "Game": 11 }, - "30": { "GeneralSettings": 3 }, - "31": { "GlobalArrays": 1 }, - "32": { "Globalfunctions_General": 4 }, - "33": { "GraphicsDriver": 1 }, - "34": { "GUI": 18 }, - "35": { "GUIControl": 4 }, - "36": { "Hotspot": 21 }, - "37": { "InventoryItem": 23 }, - "38": { "InvWindow": 1 }, - "39": { "Label": 1 }, - "40": { "Lipsync": 1 }, - "41": { "ListBox": 8 }, - "42": { "Mouse": 4 }, - "43": { "Multimedia": 1 }, - "44": { "MusicAndSound": 1 }, - "45": { "Object": 55 }, - "46": { "ObsoleteScriptAPI": 2 }, - "47": { "OOProgramming": 7 }, - "48": { "Overlay": 13 }, - "49": { "Region": 13 }, - "50": { "Room": 19 }, - "51": { "ScriptKeywords": 3 }, - "52": { "Settingupthegame": 13 }, - "53": { "Speech": 13 }, - "54": { "System": 12 }, - "55": { "TextBox": 1 }, - "56": { "Translations": 3 }, - "57": { "UnicodeSupport": 1 }, - "58": { "UpgradeTo32": 2 }, - "59": { "UpgradeTo33": 3 }, - "60": { "UpgradeTo34": 1 }, - "61": { "UpgradeTo35": 3 }, - "62": { "UpgradeTo36": 5 }, - "63": { "UpgradingTo271": 1 }, - "64": { "Viewport": 3 } - }, - "property's": { - "0": { "Character": 3 }, - "1": { "GUI": 1 }, - "2": { "Hotspot": 2 }, - "3": { "InventoryItem": 2 }, - "4": { "Object": 2 }, - "5": { "Room": 2 } - }, - "proportion": { - "0": { "GeneralSettings": 2 }, - "1": { "TemplateBASS": 1 } - }, - "proportional": { - "0": { "DefaultSetup": 1 }, - "1": { "DistGame": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "RuntimeEngine": 2 } - }, - "proportionally": { - "0": { "DefaultSetup": 1 } - }, - "proportions": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "prospect": { - "0": { "Pointers": 1 } - }, - "protect": { - "0": { "OOProgramming": 2 } - }, - "protected": { - "0": { "Copyright": 1 }, - "1": { "OOProgramming": 7 }, - "2": { "ScriptKeywords": 5 }, - "3": { "UpgradingTo27": 1 } - }, - "protection": { - "0": { "File": 4 }, - "1": { "OOProgramming": 1 } - }, - "prototype": { - "0": { "GeneralSettings": 2 } - }, - "provide": { - "0": { "acintro9": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DistGame": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_Screen": 1 }, - "9": { "GraphicsDriver": 1 }, - "10": { "ListBox": 1 }, - "11": { "MIDI-playback": 1 }, - "12": { "Plugins": 2 }, - "13": { "Room": 1 }, - "14": { "ScriptAPIOverview": 1 }, - "15": { "ScriptKeywords": 1 }, - "16": { "SourceControl": 1 }, - "17": { "System": 1 }, - "18": { "SystemRequirements": 1 }, - "19": { "Translations": 1 }, - "20": { "UnicodeSupport": 1 }, - "21": { "UpgradeTo30": 1 }, - "22": { "UpgradeTo31": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 2 }, - "25": { "VoiceSpeech": 1 } - }, - "provided": { - "0": { "acintro7": 1 }, - "1": { "Copyright": 3 }, - "2": { "DialogScript": 1 }, - "3": { "EngineConfigFile": 4 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 6 }, - "6": { "EnginePlugins": 1 }, - "7": { "Game": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "GlobalArrays": 1 }, - "10": { "Globalfunctions_General": 3 }, - "11": { "GlobalVariables": 1 }, - "12": { "Introduction": 2 }, - "13": { "MIDI-playback": 2 }, - "14": { "MultipleScripts": 1 }, - "15": { "Settingupthegame": 1 }, - "16": { "SystemRequirements": 1 }, - "17": { "TextParser": 2 }, - "18": { "Tumbleweed": 1 }, - "19": { "UpgradingTo271": 1 }, - "20": { "Viewport": 1 } - }, - "providers": { - "0": { "SourceControl": 1 } - }, - "provides": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro9": 1 }, - "3": { "DistGame": 2 }, - "4": { "EditorLogPanel": 1 }, - "5": { "EnginePluginDesign-timeAPI": 2 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "KeyboardShortcuts": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Object": 1 }, - "12": { "Screen": 1 }, - "13": { "ScriptAPIOverview": 2 }, - "14": { "ScriptingLanguage": 1 }, - "15": { "StandardEnums": 1 }, - "16": { "UpgradeTo30": 1 }, - "17": { "UpgradeTo31": 1 }, - "18": { "UpgradeTo361": 1 } - }, - "providing": { - "0": { "DistGame": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "Plugins": 1 }, - "3": { "Tumbleweed": 1 } - }, - "pt": { - "0": { "Screen": 6 }, - "1": { "Viewport": 8 } - }, - "pub": { - "0": { "MIDI-playback": 1 } - }, - "public": { - "0": { "EditorPlugins": 3 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "ImportingFunctionsAndVariables": 13 } - }, - "pull": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EventTypes": 3 }, - "2": { "Multimedia": 1 }, - "3": { "Tumbleweed": 1 }, - "4": { "Tumbleweed_extensions": 1 }, - "5": { "Tumbleweed_unhandled": 1 } - }, - "pulseaudio": { - "0": { "EngineConfigFile": 1 } - }, - "pump": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "punish": { - "0": { "Settingupthegame": 1 } - }, - "purely": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "Preprocessor": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "purpose": { - "0": { "Character": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "File": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "Globalfunctions_Room": 1 }, - "7": { "Pointers": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "System": 1 }, - "10": { "UpgradeTo361": 1 } - }, - "purposed": { - "0": { "Globalfunctions_General": 1 } - }, - "purposes": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 1 }, - "2": { "AudioClip": 3 }, - "3": { "Character": 2 }, - "4": { "Dialog": 2 }, - "5": { "EditorCommandLineOptions": 2 }, - "6": { "EditorLogPanel": 1 }, - "7": { "EditorView": 1 }, - "8": { "EnginePluginRun-timeAPI": 4 }, - "9": { "File": 1 }, - "10": { "Game": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GUI": 1 }, - "13": { "GUIControl": 2 }, - "14": { "Hotspot": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "ListBox": 1 }, - "17": { "Object": 1 }, - "18": { "OOProgramming": 1 }, - "19": { "RuntimeEngine": 6 }, - "20": { "Settingupthegame": 2 }, - "21": { "String": 1 }, - "22": { "System": 1 } - }, - "push": { - "0": { "EventTypes": 3 }, - "1": { "Tumbleweed": 1 }, - "2": { "Tumbleweed_extensions": 1 } - }, - "pushed": { - "0": { "Button": 7 }, - "1": { "GUIControl": 1 }, - "2": { "Setup": 1 } - }, - "put": { - "0": { "acintro1": 1 }, - "1": { "acintro7": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Camera": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "DialogScript": 1 }, - "7": { "DistGame": 2 }, - "8": { "EditorCommandLineOptions": 2 }, - "9": { "EngineConfigFile": 1 }, - "10": { "FAQ": 2 }, - "11": { "File": 1 }, - "12": { "GameEventsOrder": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Room": 1 }, - "16": { "ImportingFunctionsAndVariables": 3 }, - "17": { "ListBox": 1 }, - "18": { "MultipleScripts": 3 }, - "19": { "Plugins": 1 }, - "20": { "Preprocessor": 1 }, - "21": { "RepExec": 2 }, - "22": { "ScriptingTutorialPart1": 3 }, - "23": { "ScriptingTutorialPart2": 2 }, - "24": { "ScriptKeywords": 3 }, - "25": { "Settingupthegame": 1 }, - "26": { "SourceControl": 1 }, - "27": { "Tumbleweed": 1 }, - "28": { "UnicodeSupport": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "puts": { - "0": { "SourceControl": 1 }, - "1": { "Viewport": 1 } - }, - "putting": { - "0": { "AudioClip": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "puzzle": { - "0": { "acintro4": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "FAQ": 2 }, - "3": { "GameSavesCompatibility": 1 } - }, - "puzzles": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Settingupthegame": 1 } - }, - "python": { - "0": { "DistGame": 2 } - }, - "qualified": { - "0": { "Game": 1 } - }, - "qualifies": { - "0": { "acintro8": 1 } - }, - "quality": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "DistGame": 2 }, - "2": { "DynamicSprite": 2 }, - "3": { "Gamevariables": 1 }, - "4": { "MusicAndSound": 1 } - }, - "quantity": { - "0": { "Character": 4 } - }, - "quarter": { - "0": { "DrawingSurface": 1 }, - "1": { "Mouse": 1 } - }, - "queried": { - "0": { "UpgradeTo36": 1 } - }, - "quering": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "query": { - "0": { "Game": 1 }, - "1": { "System": 1 } - }, - "question": { - "0": { "ContactingTheDevelopers": 5 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "Translations": 1 } - }, - "questions": { - "0": { "acintro8": 2 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "FAQ": 1 } - }, - "queue": { - "0": { "AudioClip": 4 }, - "1": { "BlockingScripts": 2 }, - "2": { "Character": 1 }, - "3": { "GameEventsOrder": 1 } - }, - "queued": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 } - }, - "queues": { - "0": { "AudioClip": 2 } - }, - "quick": { - "0": { "Globalfunctions_Room": 1 } - }, - "quickly": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "Character": 3 }, - "4": { "DefaultSetup": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "EditorView": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Game": 1 }, - "10": { "Gamevariables": 1 }, - "11": { "GUI": 1 }, - "12": { "GUIControl": 1 }, - "13": { "KeyboardShortcuts": 1 }, - "14": { "MultipleScripts": 1 }, - "15": { "Object": 1 }, - "16": { "Pointers": 1 }, - "17": { "ScriptKeywords": 2 } - }, - "quieter": { - "0": { "Character": 1 } - }, - "quirk": { - "0": { "Character": 1 } - }, - "quit": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "RuntimeEngine": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "quite": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Pointers": 2 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "ScriptKeywords": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "SourceControl": 1 }, - "10": { "Templates": 1 }, - "11": { "TextParser": 1 }, - "12": { "UpgradeTo361": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "quits": { - "0": { "RuntimeEngine": 2 }, - "1": { "ScriptKeywords": 1 } - }, - "quitting": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "quotes": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "radians": { - "0": { "Maths": 32 } - }, - "radius": { - "0": { "DrawingSurface": 3 }, - "1": { "TemplateVerbcoin": 1 } - }, - "rain": { - "0": { "Character": 1 } - }, - "raise": { - "0": { "Character": 2 } - }, - "raised": { - "0": { "EditorLogPanel": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Maths": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "ram": { - "0": { "EditorPreferences": 1 } - }, - "ran": { - "0": { "FAQ": 1 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "Preprocessor": 1 } - }, - "random": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "GUI": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "randomly": { - "0": { "Character": 1 } - }, - "range": { - "0": { "acintro7": 1 }, - "1": { "Character": 3 }, - "2": { "ColoursEditor": 2 }, - "3": { "DrawingSurface": 1 }, - "4": { "EnginePluginRun-timeAPI": 4 }, - "5": { "Game": 1 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 6 }, - "9": { "Globalfunctions_Palette": 2 }, - "10": { "Globalfunctions_Screen": 2 }, - "11": { "InvWindow": 1 }, - "12": { "ListBox": 1 }, - "13": { "Maths": 2 }, - "14": { "Mouse": 3 }, - "15": { "Object": 1 }, - "16": { "Slider": 2 }, - "17": { "VoiceSpeech": 1 } - }, - "ranges": { - "0": { "acintro1": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "Multimedia": 2 }, - "6": { "System": 1 }, - "7": { "UpgradeTo35": 1 } - }, - "ranging": { - "0": { "UpgradeTo31": 1 } - }, - "rare": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "rarely": { - "0": { "acintro5": 1 }, - "1": { "FAQ": 1 } - }, - "raster": { - "0": { "Settingupthegame": 1 } - }, - "rate": { - "0": { "EditorView": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Settingupthegame": 1 }, - "4": { "Setup": 1 }, - "5": { "System": 2 } - }, - "rather": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "Button": 2 }, - "6": { "Character": 4 }, - "7": { "Constants": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "Dialog": 2 }, - "10": { "DialogScript": 1 }, - "11": { "Dictionary": 1 }, - "12": { "EditorGUI": 1 }, - "13": { "EngineConfigFile": 2 }, - "14": { "EnginePluginDesign-timeAPI": 1 }, - "15": { "EnginePluginRun-timeAPI": 2 }, - "16": { "ExtenderFunctions": 2 }, - "17": { "GameEventsOrder": 1 }, - "18": { "GameSavesCompatibility": 1 }, - "19": { "GeneralSettings": 3 }, - "20": { "Globalfunctions_General": 4 }, - "21": { "Globalfunctions_Message": 1 }, - "22": { "GUI": 1 }, - "23": { "GUIControl": 1 }, - "24": { "Hotspot": 1 }, - "25": { "InventoryItem": 1 }, - "26": { "ListBox": 1 }, - "27": { "MultipleScripts": 1 }, - "28": { "Object": 3 }, - "29": { "Pointers": 1 }, - "30": { "RuntimeEngine": 1 }, - "31": { "ScriptingTutorialPart2": 1 }, - "32": { "ScriptKeywords": 1 }, - "33": { "Settingupthegame": 2 }, - "34": { "Setup": 1 }, - "35": { "System": 1 }, - "36": { "TroubleshootingWindowsZoneID": 1 }, - "37": { "Tumbleweed": 1 }, - "38": { "UpgradeTo335": 3 }, - "39": { "UpgradingTo27": 1 } - }, - "ratio": { - "0": { "Camera": 4 }, - "1": { "DefaultSetup": 4 }, - "2": { "EditorRoom": 2 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Multimedia": 1 }, - "5": { "RuntimeEngine": 1 }, - "6": { "Setup": 4 }, - "7": { "Viewport": 4 } - }, - "ration": { - "0": { "Multimedia": 1 } - }, - "raw": { - "0": { "DateTime": 1 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 8 }, - "3": { "File": 7 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "Pointers": 1 }, - "6": { "System": 1 }, - "7": { "UpgradeTo341": 2 } - }, - "re-add": { - "0": { "Dictionary": 1 }, - "1": { "EditorPlugins": 1 } - }, - "re-allocated": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "re-appears": { - "0": { "acintro4": 1 } - }, - "re-colorize": { - "0": { "Globalfunctions_General": 1 } - }, - "re-construct": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "re-edit": { - "0": { "Lipsync": 1 } - }, - "re-enable": { - "0": { "Globalfunctions_Room": 1 } - }, - "re-enters": { - "0": { "Hotspot": 1 } - }, - "re-import": { - "0": { "acintro1": 2 }, - "1": { "ColoursEditor": 1 }, - "2": { "EditorSprite": 1 } - }, - "re-numbered": { - "0": { "ListBox": 1 } - }, - "re-register": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "re-registers": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "re-save": { - "0": { "GeneralSettings": 1 }, - "1": { "UnicodeSupport": 1 } - }, - "re-think": { - "0": { "Tumbleweed": 1 } - }, - "re-used": { - "0": { "File": 1 } - }, - "re-write": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "re-written": { - "0": { "MusicAndSound": 1 } - }, - "reach": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 1 }, - "2": { "SystemLimits": 1 } - }, - "reached": { - "0": { "Button": 1 }, - "1": { "Character": 4 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Lipsync": 1 }, - "5": { "Object": 1 }, - "6": { "Tumbleweed_door": 1 }, - "7": { "Tumbleweed_movement": 13 } - }, - "reaches": { - "0": { "Character": 2 }, - "1": { "EditorView": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "FAQ": 1 }, - "4": { "SystemLimits": 1 }, - "5": { "Tumbleweed_movement": 2 } - }, - "reaching": { - "0": { "AudioChannel": 2 } - }, - "react": { - "0": { "Game": 2 } - }, - "reaction": { - "0": { "Tumbleweed_unhandled": 1 } - }, - "reactions": { - "0": { "Tumbleweed_unhandled": 1 } - }, - "reactivates": { - "0": { "ScriptAPIOverview": 2 } - }, - "read": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Button": 1 }, - "5": { "ColoursEditor": 2 }, - "6": { "ContactingTheDevelopers": 2 }, - "7": { "DialogOptionsRenderingInfo": 6 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorLogPanel": 1 }, - "11": { "EditorSprite": 1 }, - "12": { "EngineConfigFile": 3 }, - "13": { "EnginePluginRun-timeAPI": 11 }, - "14": { "File": 33 }, - "15": { "Game": 2 }, - "16": { "GameSavesCompatibility": 1 }, - "17": { "Gamevariables": 2 }, - "18": { "GeneralSettings": 1 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "GUIControl": 1 }, - "21": { "Introduction": 1 }, - "22": { "Plugins": 2 }, - "23": { "Pointers": 1 }, - "24": { "RuntimeEngine": 3 }, - "25": { "ScriptAPIOverview": 1 }, - "26": { "ScriptingTutorialPart2": 1 }, - "27": { "ScriptKeywords": 1 }, - "28": { "Settingupthegame": 1 }, - "29": { "Templates": 1 }, - "30": { "TroubleshootingWindowsZoneID": 1 }, - "31": { "UpgradeTo36": 2 }, - "32": { "UpgradingTo27": 2 } - }, - "read-only": { - "0": { "AudioChannel": 2 }, - "1": { "Button": 5 }, - "2": { "Character": 18 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Game": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "Hotspot": 1 }, - "7": { "ListBox": 2 }, - "8": { "Object": 11 }, - "9": { "Region": 5 }, - "10": { "String": 1 }, - "11": { "System": 1 }, - "12": { "UpgradeTo335": 1 } - }, - "readable": { - "0": { "OOProgramming": 1 }, - "1": { "ScriptKeywords": 2 } - }, - "reader": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "reading": { - "0": { "acintro2": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "EnginePluginRun-timeAPI": 3 }, - "5": { "File": 12 }, - "6": { "Game": 3 }, - "7": { "GameSavesCompatibility": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "Globalfunctions_General": 2 }, - "10": { "Globalfunctions_Message": 1 }, - "11": { "GUI": 2 }, - "12": { "GUIControl": 1 }, - "13": { "Hotspot": 1 }, - "14": { "InventoryItem": 1 }, - "15": { "Object": 1 }, - "16": { "ScriptingTutorialPart1": 1 }, - "17": { "Settingupthegame": 1 }, - "18": { "TroubleshootingWindowsZoneID": 1 }, - "19": { "UpgradeTo335": 2 }, - "20": { "UpgradeTo36": 1 } - }, - "readme": { - "0": { "Plugins": 1 } - }, - "readonly": { - "0": { "AudioChannel": 7 }, - "1": { "AudioClip": 5 }, - "2": { "Button": 5 }, - "3": { "Character": 25 }, - "4": { "DateTime": 8 }, - "5": { "Dialog": 4 }, - "6": { "DrawingSurface": 2 }, - "7": { "DynamicSprite": 4 }, - "8": { "File": 4 }, - "9": { "Game": 20 }, - "10": { "GUI": 6 }, - "11": { "GUIControl": 3 }, - "12": { "Hotspot": 4 }, - "13": { "InventoryItem": 2 }, - "14": { "InvWindow": 4 }, - "15": { "ListBox": 3 }, - "16": { "Maths": 1 }, - "17": { "Object": 15 }, - "18": { "OOProgramming": 2 }, - "19": { "Overlay": 4 }, - "20": { "Region": 7 }, - "21": { "Room": 10 }, - "22": { "Screen": 5 }, - "23": { "ScriptKeywords": 5 }, - "24": { "String": 4 }, - "25": { "System": 16 }, - "26": { "ViewFrame": 5 } - }, - "reads": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "EnginePlugins": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "System": 1 } - }, - "ready": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "Settingupthegame": 2 }, - "6": { "Templates": 1 } - }, - "real": { - "0": { "acintro7": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "ColoursEditor": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "EnginePluginRun-timeAPI": 4 }, - "5": { "FAQ": 4 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GeneralSettings": 2 }, - "8": { "Multimedia": 1 }, - "9": { "Pointers": 1 }, - "10": { "TextParser": 1 }, - "11": { "Tumbleweed_door": 1 }, - "12": { "UnicodeSupport": 2 }, - "13": { "UpgradeTo35": 2 }, - "14": { "UpgradeTo361": 1 } - }, - "real-time": { - "0": { "DateTime": 1 } - }, - "reality": { - "0": { "Character": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "Object": 1 } - }, - "realize": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Multimedia": 1 } - }, - "realized": { - "0": { "EditorSprite": 1 } - }, - "reallocated": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "really": { - "0": { "acintro1": 2 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 1 }, - "3": { "EditorFont": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Settingupthegame": 2 }, - "6": { "UnicodeSupport": 1 }, - "7": { "UpgradeTo30": 2 }, - "8": { "UpgradingTo27": 2 } - }, - "rearrange": { - "0": { "GUIControl": 2 } - }, - "reason": { - "0": { "acintro7": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioClip": 3 }, - "3": { "Character": 2 }, - "4": { "Dialog": 1 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "FAQ": 1 }, - "8": { "File": 2 }, - "9": { "Game": 7 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_Wait": 2 }, - "12": { "GUI": 2 }, - "13": { "GUIControl": 1 }, - "14": { "Hotspot": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "MusicAndSound": 1 }, - "17": { "Object": 2 }, - "18": { "Pointers": 2 }, - "19": { "Region": 1 }, - "20": { "Translations": 1 }, - "21": { "UnicodeSupport": 2 }, - "22": { "UpgradeTo32": 1 }, - "23": { "UpgradeTo341": 1 }, - "24": { "UpgradeTo35": 1 }, - "25": { "UpgradeTo36": 1 }, - "26": { "UpgradeTo361": 1 } - }, - "reasonably": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "reasons": { - "0": { "AudioChannel": 2 }, - "1": { "Button": 1 }, - "2": { "Character": 2 }, - "3": { "DynamicSprite": 2 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginRun-timeAPI": 4 }, - "6": { "File": 3 }, - "7": { "GameSavesCompatibility": 2 }, - "8": { "GlobalArrays": 1 }, - "9": { "Globalfunctions_Event": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Screen": 1 }, - "12": { "GraphicsDriver": 2 }, - "13": { "Multimedia": 1 }, - "14": { "Object": 1 }, - "15": { "Overlay": 2 }, - "16": { "Pointers": 3 }, - "17": { "Region": 1 }, - "18": { "ScriptKeywords": 1 }, - "19": { "System": 1 }, - "20": { "UpgradeTo335": 1 }, - "21": { "UpgradeTo341": 1 }, - "22": { "UpgradeTo36": 2 } - }, - "reassign": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Pointers": 1 }, - "2": { "Viewport": 1 } - }, - "reassigned": { - "0": { "DynamicArrays": 1 } - }, - "rebuild": { - "0": { "DefaultSetup": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "UpgradeTo34": 1 }, - "3": { "UpgradeTo341": 2 } - }, - "recalculates": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "receive": { - "0": { "File": 1 }, - "1": { "GUI": 1 }, - "2": { "ScriptAPIOverview": 1 }, - "3": { "UpgradeTo36": 2 } - }, - "received": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "GUI": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "receives": { - "0": { "EngineConfigFile": 1 } - }, - "receiving": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "recent": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "ListBox": 2 } - }, - "recently": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "recognize": { - "0": { "Parser": 1 }, - "1": { "RepExec": 1 }, - "2": { "TextParser": 1 } - }, - "recognized": { - "0": { "Character": 1 }, - "1": { "Object": 1 }, - "2": { "Parser": 1 } - }, - "recommend": { - "0": { "acintro8": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GUI": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "UpgradeTo36": 4 }, - "6": { "UpgradingTo27": 1 } - }, - "recommended": { - "0": { "acintro1": 2 }, - "1": { "Character": 3 }, - "2": { "ColoursEditor": 1 }, - "3": { "DrawingSurface": 2 }, - "4": { "DynamicSprite": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EditorSprite": 1 }, - "7": { "File": 2 }, - "8": { "Game": 1 }, - "9": { "GameEventsOrder": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "GeneralSettings": 3 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "GUI": 1 }, - "14": { "GUIControl": 1 }, - "15": { "Introduction": 1 }, - "16": { "Lipsync": 1 }, - "17": { "MIDI-playback": 1 }, - "18": { "Object": 3 }, - "19": { "Preprocessor": 1 }, - "20": { "Settingupthegame": 1 }, - "21": { "System": 1 }, - "22": { "UnicodeSupport": 2 }, - "23": { "UpgradeTo33": 1 }, - "24": { "UpgradeTo34": 1 }, - "25": { "UpgradeTo341": 1 }, - "26": { "UpgradeTo35": 1 }, - "27": { "UpgradingTo27": 1 } - }, - "recompiled": { - "0": { "UpgradeTo341": 1 } - }, - "reconfigured": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "TemplateSierraStyle": 1 } - }, - "reconstructed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "record": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "recording": { - "0": { "AutonumberSpeechFiles": 1 } - }, - "recreate": { - "0": { "EditorSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "Hotspot": 1 }, - "5": { "Region": 1 }, - "6": { "Tumbleweed": 1 } - }, - "recreated": { - "0": { "DefaultSetup": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "rectangle": { - "0": { "acintro6": 1 }, - "1": { "Button": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 4 }, - "4": { "DrawingSurface": 3 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorGUI": 5 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_Room": 4 }, - "12": { "Hotspot": 1 }, - "13": { "Label": 1 }, - "14": { "ListBox": 2 }, - "15": { "Mouse": 2 }, - "16": { "Object": 4 }, - "17": { "Overlay": 1 }, - "18": { "Region": 1 }, - "19": { "Settingupthegame": 1 }, - "20": { "UpgradeTo35": 2 }, - "21": { "Viewport": 3 } - }, - "rectangles": { - "0": { "EditorSprite": 1 } - }, - "rectangular": { - "0": { "Camera": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Object": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "recurrently": { - "0": { "EditorPreferences": 1 } - }, - "recursive": { - "0": { "SystemLimits": 2 } - }, - "recursively": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "red": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "EditorGUI": 1 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "Game": 2 }, - "5": { "Gamevariables": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Palette": 3 }, - "8": { "Globalfunctions_Screen": 4 }, - "9": { "Object": 1 }, - "10": { "Region": 2 } - }, - "redirect": { - "0": { "UpgradingTo27": 1 } - }, - "redirected": { - "0": { "UpgradeTo335": 1 } - }, - "redistributable": { - "0": { "SystemRequirements": 1 } - }, - "redraw": { - "0": { "acintro9": 1 }, - "1": { "Camera": 1 }, - "2": { "DialogOptionsRenderingInfo": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "UpgradeTo34": 1 } - }, - "redrawn": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Event": 1 } - }, - "redraws": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GameEventsOrder": 1 } - }, - "redrew": { - "0": { "RepExec": 1 } - }, - "reduce": { - "0": { "AudioChannel": 1 }, - "1": { "DistGame": 2 }, - "2": { "DynamicArrays": 1 }, - "3": { "Game": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GeneralSettings": 4 }, - "6": { "Multimedia": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "Setup": 2 }, - "9": { "System": 1 }, - "10": { "UpgradeTo35": 1 } - }, - "reduced": { - "0": { "Game": 1 } - }, - "reduces": { - "0": { "Setup": 1 } - }, - "reducing": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "refer": { - "0": { "acintro8": 1 }, - "1": { "Constants": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "EditorDialog": 1 }, - "5": { "EventTypes": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Globalfunctions_Room": 2 }, - "8": { "Hotspot": 1 }, - "9": { "Overlay": 2 }, - "10": { "Pointers": 2 }, - "11": { "Region": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "UpgradeTo341": 1 }, - "16": { "UpgradeTo36": 2 }, - "17": { "UpgradeTo361": 1 } - }, - "refered": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "reference": { - "0": { "acintro8": 1 }, - "1": { "AudioClip": 2 }, - "2": { "Character": 2 }, - "3": { "Dialog": 2 }, - "4": { "DynamicSprite": 2 }, - "5": { "EditorGUI": 1 }, - "6": { "EditorPlugins": 4 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 19 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GUI": 2 }, - "11": { "GUIControl": 2 }, - "12": { "Hotspot": 2 }, - "13": { "InventoryItem": 2 }, - "14": { "MusicAndSound": 2 }, - "15": { "Object": 2 }, - "16": { "OOProgramming": 1 }, - "17": { "Overlay": 4 }, - "18": { "Pointers": 1 }, - "19": { "ScriptingLanguage": 1 }, - "20": { "ScriptModules": 2 }, - "21": { "Settingupthegame": 1 }, - "22": { "StandardEnums": 1 }, - "23": { "Tumbleweed": 3 } - }, - "referenced": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "MIDI-playback": 1 }, - "3": { "Pointers": 1 } - }, - "references": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ListBox": 1 } - }, - "referencing": { - "0": { "acintro3": 1 }, - "1": { "Dictionary": 1 }, - "2": { "FAQ": 1 } - }, - "refering": { - "0": { "EditorSprite": 1 } - }, - "referred": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "Settingupthegame": 1 } - }, - "referring": { - "0": { "Pointers": 2 } - }, - "refers": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UnicodeSupport": 2 }, - "4": { "UpgradeTo36": 1 } - }, - "reflect": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 1 }, - "4": { "Mouse": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "reflects": { - "0": { "Region": 1 }, - "1": { "ScriptModules": 1 } - }, - "refresh": { - "0": { "EngineConfigFile": 2 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Setup": 1 }, - "3": { "System": 1 } - }, - "refreshed": { - "0": { "Character": 4 } - }, - "refuse": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "regain": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "regard": { - "0": { "MIDI-playback": 1 } - }, - "regardless": { - "0": { "AudioInScript": 1 }, - "1": { "Dialog": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Globalfunctions_Wait": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Overlay": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "region": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 5 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorRoom": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "EventTypes": 10 }, - "6": { "GlobalArrays": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Object": 3 }, - "9": { "Preprocessor": 3 }, - "10": { "Region": 67 }, - "11": { "SystemLimits": 1 }, - "12": { "UpgradeTo35": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "region's": { - "0": { "Character": 1 }, - "1": { "Object": 1 }, - "2": { "Region": 11 } - }, - "regions": { - "0": { "acintro1": 1 }, - "1": { "Character": 3 }, - "2": { "Constants": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Room": 2 }, - "6": { "Region": 2 }, - "7": { "Settingupthegame": 1 }, - "8": { "UpgradeTo35": 3 } - }, - "register": { - "0": { "EnginePluginDesign-timeAPI": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "FAQ": 1 }, - "3": { "GUIControl": 1 }, - "4": { "TemplateBASS": 2 }, - "5": { "TemplateVerbcoin": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "registered": { - "0": { "Copyright": 1 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 } - }, - "registry": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "regular": { - "0": { "acintro8": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "CustomDialogOptions": 3 }, - "4": { "DialogScript": 2 }, - "5": { "Dictionary": 1 }, - "6": { "DynamicArrays": 2 }, - "7": { "EditorDialog": 1 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "ExtenderFunctions": 1 }, - "10": { "Game": 2 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_Event": 1 }, - "14": { "ImportingFunctionsAndVariables": 2 }, - "15": { "Keycodes": 1 }, - "16": { "Label": 1 }, - "17": { "Object": 1 }, - "18": { "Overlay": 1 }, - "19": { "Pointers": 1 }, - "20": { "TheScriptHeader": 1 }, - "21": { "Translations": 1 }, - "22": { "UpgradeTo35": 2 }, - "23": { "UpgradeTo36": 3 } - }, - "regularly": { - "0": { "BackingUpYourGame": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "reimport": { - "0": { "EditorSprite": 1 } - }, - "reimported": { - "0": { "EditorFont": 1 } - }, - "rejected": { - "0": { "File": 1 }, - "1": { "GeneralSettings": 1 } - }, - "related": { - "0": { "acintro5": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "File": 1 }, - "5": { "Hotspot": 1 }, - "6": { "ListBox": 1 }, - "7": { "Plugins": 1 }, - "8": { "RuntimeEngine": 1 }, - "9": { "ScriptKeywords": 2 }, - "10": { "Tumbleweed_translation": 1 }, - "11": { "UnicodeSupport": 1 }, - "12": { "UpgradeTo34": 1 }, - "13": { "UpgradeTo35": 2 }, - "14": { "UpgradeTo36": 1 } - }, - "relates": { - "0": { "Hotspot": 1 }, - "1": { "Region": 1 }, - "2": { "TemplateVerbcoin": 1 } - }, - "relation": { - "0": { "EngineConfigFile": 1 }, - "1": { "Object": 1 } - }, - "relative": { - "0": { "acintro7": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Button": 2 }, - "3": { "Character": 8 }, - "4": { "DefaultSetup": 3 }, - "5": { "DialogOptionsRenderingInfo": 2 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorSprite": 2 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginRun-timeAPI": 1 }, - "10": { "File": 2 }, - "11": { "Gamevariables": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "GUI": 2 }, - "15": { "GUIControl": 4 }, - "16": { "InventoryItem": 1 }, - "17": { "Label": 1 }, - "18": { "MIDI-playback": 2 }, - "19": { "Object": 4 }, - "20": { "Overlay": 2 }, - "21": { "Settingupthegame": 1 }, - "22": { "Speech": 1 }, - "23": { "UpgradeTo335": 2 }, - "24": { "UpgradeTo35": 1 }, - "25": { "UpgradeTo36": 1 }, - "26": { "Viewport": 1 } - }, - "relatively": { - "0": { "DrawingSurface": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "release": { - "0": { "Debuggingfeatures": 1 }, - "1": { "DialogOptionsRenderingInfo": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Introduction": 1 }, - "7": { "System": 1 }, - "8": { "Templates": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 }, - "10": { "UpgradeTo34": 1 }, - "11": { "UpgradeTo36": 1 }, - "12": { "UpgradeTo361": 1 } - }, - "released": { - "0": { "GameSavesCompatibility": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "Globalfunctions_Room": 2 }, - "4": { "GraphicsDriver": 1 }, - "5": { "ObsoleteScriptAPI": 1 }, - "6": { "ScriptAPIOverview": 1 }, - "7": { "Tumbleweed": 1 } - }, - "releases": { - "0": { "DrawingSurface": 1 }, - "1": { "Introduction": 1 }, - "2": { "Room": 1 }, - "3": { "RuntimeEngine": 1 } - }, - "relevant": { - "0": { "acintro3": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Label": 1 }, - "7": { "Mouse": 1 }, - "8": { "Object": 1 }, - "9": { "ScriptAPIOverview": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "UpgradeTo35": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "reliable": { - "0": { "Pointers": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "reliably": { - "0": { "System": 1 }, - "1": { "SystemLimits": 1 } - }, - "relied": { - "0": { "Character": 1 }, - "1": { "Multimedia": 1 }, - "2": { "Object": 1 }, - "3": { "Overlay": 1 }, - "4": { "Viewport": 1 } - }, - "relies": { - "0": { "DistGame": 1 }, - "1": { "Globalfunctions_Event": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "reload": { - "0": { "DistGame": 1 }, - "1": { "EditorPreferences": 2 }, - "2": { "EditorSprite": 1 } - }, - "rely": { - "0": { "Camera": 1 }, - "1": { "Character": 3 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Game": 1 }, - "4": { "GameEventsOrder": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 2 }, - "7": { "MusicAndSound": 1 }, - "8": { "Object": 1 }, - "9": { "ObsoleteScriptAPI": 4 }, - "10": { "ScriptAPIOverview": 1 }, - "11": { "ScriptKeywords": 1 }, - "12": { "Settingupthegame": 1 }, - "13": { "Viewport": 1 } - }, - "relying": { - "0": { "GraphicsDriver": 1 }, - "1": { "GUI": 1 } - }, - "remain": { - "0": { "Character": 3 }, - "1": { "DateTime": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "Globalfunctions_Screen": 1 }, - "7": { "Object": 2 } - }, - "remained": { - "0": { "UpgradingTo27": 1 } - }, - "remaining": { - "0": { "acintro1": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "MusicAndSound": 1 }, - "5": { "ScriptKeywords": 1 }, - "6": { "SystemLimits": 1 }, - "7": { "Viewport": 1 } - }, - "remains": { - "0": { "AudioInScript": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "UnicodeSupport": 1 }, - "3": { "UpgradeTo31": 1 } - }, - "remap": { - "0": { "File": 1 }, - "1": { "Settingupthegame": 1 } - }, - "remapped": { - "0": { "acintro6": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "UpgradeTo335": 1 } - }, - "remedy": { - "0": { "Lipsync": 1 } - }, - "remember": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 2 }, - "4": { "BackingUpYourGame": 1 }, - "5": { "DistGame": 2 }, - "6": { "DynamicArrays": 1 }, - "7": { "EditorCommandLineOptions": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "ExtenderFunctions": 1 }, - "11": { "FAQ": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "GlobalArrays": 1 }, - "14": { "ImportingFunctionsAndVariables": 1 }, - "15": { "Mouse": 1 }, - "16": { "RepExec": 1 }, - "17": { "ScriptingTutorialPart1": 3 }, - "18": { "Settingupthegame": 1 }, - "19": { "UpgradeTo32": 1 }, - "20": { "UpgradeTo35": 1 }, - "21": { "UpgradeTo36": 1 }, - "22": { "UpgradingTo27": 1 } - }, - "remembered": { - "0": { "EditorSprite": 1 } - }, - "remembers": { - "0": { "MusicAndSound": 1 }, - "1": { "Plugins": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "reminds": { - "0": { "FAQ": 1 } - }, - "remnant": { - "0": { "DrawingSurface": 1 } - }, - "removal": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Speech": 1 }, - "3": { "UpgradeTo30": 1 } - }, - "remove": { - "0": { "acintro3": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Character": 4 }, - "4": { "Dictionary": 1 }, - "5": { "DynamicSprite": 2 }, - "6": { "EditorCursor": 1 }, - "7": { "EditorInventoryItems": 1 }, - "8": { "EditorPlugins": 2 }, - "9": { "EngineConfigFile": 2 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 2 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "GUI": 1 }, - "15": { "GUIControl": 1 }, - "16": { "ListBox": 4 }, - "17": { "MusicAndSound": 1 }, - "18": { "Object": 2 }, - "19": { "Overlay": 5 }, - "20": { "Region": 1 }, - "21": { "ScriptingTutorialPart1": 1 }, - "22": { "Translations": 2 }, - "23": { "TroubleshootingWindowsZoneID": 1 }, - "24": { "Tumbleweed": 3 }, - "25": { "Tumbleweed_extensions": 1 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo341": 1 }, - "28": { "UpgradeTo35": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "removed": { - "0": { "AudioInScript": 1 }, - "1": { "Character": 3 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DynamicArrays": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "Game": 7 }, - "6": { "GameSavesCompatibility": 4 }, - "7": { "Gamevariables": 1 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Message": 1 }, - "11": { "GUI": 2 }, - "12": { "ObsoleteScriptAPI": 1 }, - "13": { "Overlay": 7 }, - "14": { "ScriptKeywords": 2 }, - "15": { "StandardEnums": 2 }, - "16": { "Tumbleweed_movement": 1 }, - "17": { "UpgradeTo30": 3 }, - "18": { "UpgradeTo35": 2 }, - "19": { "UpgradeTo36": 3 }, - "20": { "UpgradeTo361": 1 }, - "21": { "VoiceSpeech": 1 } - }, - "removes": { - "0": { "Camera": 1 }, - "1": { "Character": 3 }, - "2": { "DynamicSprite": 1 }, - "3": { "File": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Object": 2 }, - "6": { "Overlay": 1 }, - "7": { "Viewport": 1 } - }, - "removing": { - "0": { "GameSavesCompatibility": 6 }, - "1": { "Set": 1 }, - "2": { "SystemLimits": 1 }, - "3": { "TemplateBASS": 1 } - }, - "rename": { - "0": { "acintro6": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "UpgradeTo30": 1 }, - "6": { "UpgradeTo32": 2 }, - "7": { "UpgradeTo34": 1 } - }, - "renamed": { - "0": { "ColoursEditor": 1 }, - "1": { "DistGame": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Multimedia": 1 }, - "4": { "StandardEnums": 1 } - }, - "render": { - "0": { "acintro9": 1 }, - "1": { "CustomDialogOptions": 5 }, - "2": { "DialogOptionsRenderingInfo": 12 }, - "3": { "EngineConfigFile": 3 }, - "4": { "EnginePluginRun-timeAPI": 6 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "GraphicsDriver": 1 } - }, - "rendered": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GraphicsDriver": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "System": 1 } - }, - "renderer": { - "0": { "EngineConfigFile": 4 }, - "1": { "EnginePluginRun-timeAPI": 22 }, - "2": { "RuntimeEngine": 2 }, - "3": { "Screen": 2 }, - "4": { "Setup": 1 }, - "5": { "System": 4 }, - "6": { "UpgradeTo36": 1 } - }, - "renderer's": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "renderers": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "System": 1 } - }, - "rendering": { - "0": { "Constants": 1 }, - "1": { "CustomDialogOptions": 3 }, - "2": { "EnginePluginRun-timeAPI": 8 }, - "3": { "GeneralSettings": 5 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Scripting": 1 }, - "6": { "System": 1 }, - "7": { "TemplateVerbcoin": 1 }, - "8": { "TextWindowGUI": 1 }, - "9": { "UpgradeTo33": 2 }, - "10": { "UpgradeTo34": 3 } - }, - "renders": { - "0": { "TemplateVerbcoin": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "Tumbleweed_actions": 1 }, - "3": { "UpgradeTo33": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "renumber": { - "0": { "EditorRoom": 1 } - }, - "repack": { - "0": { "UpgradeTo36": 1 } - }, - "repaint": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "repainted": { - "0": { "Globalfunctions_General": 1 } - }, - "repair": { - "0": { "Tumbleweed_movement": 1 } - }, - "repeat": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "Button": 2 }, - "3": { "Character": 2 }, - "4": { "Object": 2 }, - "5": { "ScriptKeywords": 1 } - }, - "repeated": { - "0": { "EditorGUI": 1 } - }, - "repeatedly": { - "0": { "BlockingScripts": 5 }, - "1": { "Character": 9 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DrawingSurface": 2 }, - "4": { "EditorGUI": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "EventTypes": 6 }, - "7": { "FAQ": 1 }, - "8": { "GameEventsOrder": 4 }, - "9": { "Globalfunctions_Event": 11 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Palette": 1 }, - "12": { "Globalfunctions_Wait": 1 }, - "13": { "Multimedia": 1 }, - "14": { "MultipleScripts": 4 }, - "15": { "OOProgramming": 1 }, - "16": { "Overlay": 1 }, - "17": { "Pointers": 1 }, - "18": { "RepExec": 28 }, - "19": { "Room": 1 }, - "20": { "Scripting": 2 }, - "21": { "ScriptingTutorialPart2": 2 }, - "22": { "ScriptKeywords": 3 }, - "23": { "Speech": 6 }, - "24": { "System": 1 }, - "25": { "UpgradeTo34": 1 }, - "26": { "UpgradeTo36": 1 } - }, - "repeating": { - "0": { "AudioClip": 1 } - }, - "repexec": { - "0": { "CustomDialogOptions": 5 }, - "1": { "UpgradeTo34": 2 } - }, - "replace": { - "0": { "acintro6": 3 }, - "1": { "AudioClip": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "Character": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "GameSavesCompatibility": 5 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Message": 1 }, - "10": { "ListBox": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "Overlay": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Translations": 4 }, - "15": { "UnicodeSupport": 1 }, - "16": { "UpgradeTo30": 1 }, - "17": { "UpgradeTo33": 2 }, - "18": { "UpgradeTo34": 2 }, - "19": { "UpgradeTo35": 3 }, - "20": { "UpgradeTo36": 1 } - }, - "replaceWithText": { - "0": { "String": 2 } - }, - "replaced": { - "0": { "acintro2": 1 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorRoom": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "GeneralSettings": 2 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GlobalVariables": 1 }, - "9": { "Label": 1 }, - "10": { "OOProgramming": 1 }, - "11": { "Preprocessor": 1 }, - "12": { "ScriptAPIOverview": 2 }, - "13": { "StandardEnums": 1 }, - "14": { "String": 2 }, - "15": { "TemplateBASS": 1 }, - "16": { "Translations": 1 }, - "17": { "UpgradeTo32": 1 }, - "18": { "UpgradeTo33": 1 }, - "19": { "UpgradeTo35": 2 }, - "20": { "UpgradeTo36": 2 }, - "21": { "UpgradingTo271": 1 } - }, - "replacement": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "TemplateVerbcoin": 1 }, - "3": { "Translations": 1 }, - "4": { "UpgradingTo27": 1 } - }, - "replacements": { - "0": { "FAQ": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "replaces": { - "0": { "ColoursEditor": 1 } - }, - "replies": { - "0": { "acintro8": 1 } - }, - "reply": { - "0": { "acintro3": 1 } - }, - "replying": { - "0": { "ContactingTheDevelopers": 1 } - }, - "reported": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "reports": { - "0": { "Credits": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "GUI": 1 } - }, - "reposition": { - "0": { "Overlay": 1 } - }, - "represent": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "Character": 1 }, - "3": { "EditorView": 1 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Keycodes": 1 }, - "8": { "MIDI-playback": 1 }, - "9": { "Object": 1 }, - "10": { "Pointers": 1 }, - "11": { "SystemLimits": 1 }, - "12": { "UpgradeTo32": 2 } - }, - "representation": { - "0": { "acintro5": 1 }, - "1": { "ColoursEditor": 1 } - }, - "represented": { - "0": { "DateTime": 6 }, - "1": { "InvWindow": 1 }, - "2": { "Lipsync": 1 }, - "3": { "UpgradeTo32": 1 }, - "4": { "UpgradingTo27": 1 }, - "5": { "ViewFrame": 3 } - }, - "representing": { - "0": { "DateTime": 5 }, - "1": { "DynamicSprite": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Hotspot": 2 }, - "5": { "MusicAndSound": 1 }, - "6": { "Region": 2 }, - "7": { "UpgradeTo35": 1 } - }, - "represents": { - "0": { "acintro7": 1 }, - "1": { "AudioChannel": 3 }, - "2": { "AudioClip": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "ScriptKeywords": 1 }, - "7": { "Slider": 1 }, - "8": { "UnicodeSupport": 1 } - }, - "request": { - "0": { "Dialog": 4 }, - "1": { "DialogScript": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Globalfunctions_Event": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "MultipleScripts": 1 }, - "6": { "ScriptingTutorialPart2": 2 }, - "7": { "Settingupthegame": 2 }, - "8": { "Speech": 1 } - }, - "requested": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "EnginePluginRun-timeAPI": 7 }, - "2": { "GUIControl": 1 }, - "3": { "UpgradeTo36": 1 } - }, - "require": { - "0": { "acintro1": 1 }, - "1": { "Character": 1 }, - "2": { "DistGame": 1 }, - "3": { "DynamicArrays": 1 }, - "4": { "EditorCommandLineOptions": 1 }, - "5": { "EditorPlugins": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "GameSavesCompatibility": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "InventoryItem": 1 }, - "10": { "Pointers": 1 }, - "11": { "ScriptKeywords": 2 }, - "12": { "SystemRequirements": 1 }, - "13": { "TemplateBASS": 1 }, - "14": { "UnicodeSupport": 1 }, - "15": { "UpgradeTo36": 1 }, - "16": { "UpgradingTo271": 1 } - }, - "required": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 1 }, - "2": { "DistGame": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorPlugins": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 2 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Setup": 1 }, - "10": { "TemplateVerbcoin": 1 }, - "11": { "UpgradeTo34": 1 }, - "12": { "UpgradeTo36": 1 } - }, - "requirement": { - "0": { "EditorPlugins": 1 } - }, - "requirements": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "Overlay": 1 }, - "5": { "Preprocessor": 1 }, - "6": { "SystemRequirements": 2 } - }, - "requires": { - "0": { "BuildAndroid": 2 }, - "1": { "Constants": 1 }, - "2": { "EditorPlugins": 2 }, - "3": { "EditorPreferences": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "ImportingFunctionsAndVariables": 1 }, - "9": { "MIDI-playback": 1 }, - "10": { "MusicAndSound": 1 }, - "11": { "Preprocessor": 1 }, - "12": { "UnicodeSupport": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "requiring": { - "0": { "UpgradeTo36": 1 } - }, - "rescue": { - "0": { "CustomProperties": 1 }, - "1": { "MusicAndSound": 1 } - }, - "rescued": { - "0": { "Character": 1 } - }, - "reserve": { - "0": { "GameSavesCompatibility": 3 }, - "1": { "MusicAndSound": 3 } - }, - "reserved": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 3 }, - "2": { "ColoursEditor": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "MusicAndSound": 3 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo30": 1 }, - "7": { "UpgradingTo27": 2 } - }, - "reset": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dialog": 2 }, - "4": { "DynamicSprite": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Globalfunctions_Room": 5 }, - "9": { "Hotspot": 1 }, - "10": { "Mouse": 1 }, - "11": { "Object": 1 }, - "12": { "Overlay": 2 }, - "13": { "Region": 2 }, - "14": { "ScriptingTutorialPart1": 1 }, - "15": { "TextBox": 1 }, - "16": { "UpgradeTo35": 1 } - }, - "resets": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_Room": 1 } - }, - "resetting": { - "0": { "Object": 1 } - }, - "resides": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "resizable": { - "0": { "GUIControl": 2 } - }, - "resize": { - "0": { "DrawingSurface": 2 }, - "1": { "DynamicArrays": 1 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "GameSavesCompatibility": 2 }, - "5": { "GUIControl": 4 } - }, - "resized": { - "0": { "DynamicArrays": 1 }, - "1": { "DynamicSprite": 3 }, - "2": { "EditorGUI": 1 }, - "3": { "Screen": 4 }, - "4": { "UpgradeTo35": 1 } - }, - "resizing": { - "0": { "DefaultSetup": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Settingupthegame": 1 }, - "4": { "Setup": 1 } - }, - "resolution": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro6": 3 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AnonymousUsageInfo": 2 }, - "5": { "Character": 1 }, - "6": { "DefaultSetup": 3 }, - "7": { "DistGame": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EngineConfigFile": 7 }, - "10": { "EnginePluginRun-timeAPI": 7 }, - "11": { "FAQ": 4 }, - "12": { "Game": 2 }, - "13": { "Gamevariables": 1 }, - "14": { "GeneralSettings": 11 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Mouse": 1 }, - "17": { "ObsoleteScriptAPI": 1 }, - "18": { "Screen": 2 }, - "19": { "Settingupthegame": 1 }, - "20": { "Setup": 6 }, - "21": { "System": 6 }, - "22": { "UpgradeTo31": 2 }, - "23": { "UpgradeTo34": 2 }, - "24": { "UpgradeTo35": 16 } - }, - "resolution-sized": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "resolutions": { - "0": { "acintro1": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "UpgradeTo31": 1 }, - "7": { "UpgradeTo35": 1 } - }, - "resolve": { - "0": { "ScriptAPIOverview": 1 } - }, - "resolved": { - "0": { "File": 1 }, - "1": { "GameSavesCompatibility": 1 } - }, - "resolving": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "resort": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "GraphicsDriver": 1 } - }, - "resource": { - "0": { "DistGame": 3 }, - "1": { "EngineConfigFile": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "resources": { - "0": { "AudioInScript": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DistGame": 2 }, - "4": { "EventTypes": 1 }, - "5": { "Game": 1 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "GeneralSettings": 3 }, - "8": { "System": 1 } - }, - "respect": { - "0": { "DynamicSprite": 1 } - }, - "respected": { - "0": { "Speech": 1 } - }, - "respecting": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "respective": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorRoom": 2 }, - "3": { "FAQ": 3 }, - "4": { "GameEventsOrder": 1 }, - "5": { "GlobalArrays": 1 }, - "6": { "Plugins": 2 }, - "7": { "UpgradeTo33": 1 } - }, - "respectively": { - "0": { "acintro7": 1 }, - "1": { "Credits": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 2 }, - "5": { "OOProgramming": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "Setup": 1 }, - "8": { "UpgradeTo35": 1 } - }, - "respects": { - "0": { "DrawingSurface": 1 } - }, - "respond": { - "0": { "EditorGUI": 1 }, - "1": { "GUI": 2 }, - "2": { "GUIControl": 2 }, - "3": { "Object": 1 }, - "4": { "Settingupthegame": 2 } - }, - "responds": { - "0": { "Globalfunctions_General": 1 } - }, - "response": { - "0": { "acintro3": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "InvWindow": 2 }, - "4": { "RepExec": 1 }, - "5": { "TextParser": 1 } - }, - "responses": { - "0": { "Globalfunctions_Message": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "responsible": { - "0": { "Copyright": 2 }, - "1": { "File": 1 } - }, - "responsibly": { - "0": { "Copyright": 1 } - }, - "responsive": { - "0": { "Globalfunctions_General": 1 } - }, - "rest": { - "0": { "DrawingSurface": 1 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GameSavesCompatibility": 3 }, - "5": { "GraphicsDriver": 1 }, - "6": { "MultipleScripts": 2 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "Settingupthegame": 2 }, - "9": { "System": 1 }, - "10": { "TextParser": 1 } - }, - "restart": { - "0": { "EditorPreferences": 1 }, - "1": { "Globalfunctions_General": 5 }, - "2": { "ScriptKeywords": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "restarted": { - "0": { "Globalfunctions_General": 1 } - }, - "restore": { - "0": { "Button": 1 }, - "1": { "DrawingSurface": 3 }, - "2": { "EditorSprite": 1 }, - "3": { "EngineConfigFile": 2 }, - "4": { "EnginePluginRun-timeAPI": 2 }, - "5": { "File": 1 }, - "6": { "Game": 2 }, - "7": { "GameSavesCompatibility": 8 }, - "8": { "Globalfunctions_General": 4 }, - "9": { "Globalfunctions_Screen": 2 }, - "10": { "ListBox": 1 }, - "11": { "Mouse": 2 }, - "12": { "Parser": 1 } - }, - "restored": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorSprite": 2 }, - "3": { "EnginePluginRun-timeAPI": 4 }, - "4": { "GameSavesCompatibility": 8 }, - "5": { "Globalfunctions_Event": 2 }, - "6": { "Globalfunctions_General": 2 } - }, - "restores": { - "0": { "DateTime": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Mouse": 1 } - }, - "restoring": { - "0": { "EngineConfigFile": 2 }, - "1": { "GameSavesCompatibility": 6 }, - "2": { "Globalfunctions_General": 1 } - }, - "restrained": { - "0": { "Button": 1 } - }, - "restrict": { - "0": { "Mouse": 1 } - }, - "restrictToViewport": { - "0": { "Screen": 3 } - }, - "restricted": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 }, - "3": { "VoiceSpeech": 1 } - }, - "restricting": { - "0": { "ColoursEditor": 1 } - }, - "restriction": { - "0": { "UpgradeTo34": 2 }, - "1": { "UpgradeTo35": 2 } - }, - "restrictions": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Preprocessor": 1 }, - "3": { "Settingupthegame": 1 }, - "4": { "SystemLimits": 2 }, - "5": { "UpgradeTo36": 1 } - }, - "restrictive": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "result": { - "0": { "acintro2": 1 }, - "1": { "Dialog": 3 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 4 }, - "6": { "File": 1 }, - "7": { "GameEventsOrder": 1 }, - "8": { "GameSavesCompatibility": 3 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Globalfunctions_Wait": 10 }, - "12": { "Lipsync": 1 }, - "13": { "Maths": 2 }, - "14": { "Pointers": 1 }, - "15": { "ScriptingTutorialPart2": 4 }, - "16": { "ScriptKeywords": 7 }, - "17": { "String": 6 }, - "18": { "TemplateBASS": 1 }, - "19": { "TemplateVerbcoin": 1 }, - "20": { "UpgradeTo30": 1 }, - "21": { "UpgradeTo31": 1 }, - "22": { "UpgradeTo335": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradingTo271": 1 } - }, - "resulting": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "File": 1 }, - "2": { "String": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "results": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "File": 1 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "Globalfunctions_Screen": 1 }, - "8": { "Lipsync": 1 }, - "9": { "Maths": 1 }, - "10": { "ScriptingTutorialPart1": 1 }, - "11": { "ScriptKeywords": 2 }, - "12": { "Settingupthegame": 2 }, - "13": { "Tumbleweed": 2 }, - "14": { "Tumbleweed_actions": 1 } - }, - "resume": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 1 }, - "2": { "EditorLogPanel": 1 }, - "3": { "Globalfunctions_General": 2 } - }, - "resumes": { - "0": { "Character": 3 }, - "1": { "Object": 1 } - }, - "retain": { - "0": { "UpgradeTo33": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "retained": { - "0": { "UpgradeTo30": 1 } - }, - "retaining": { - "0": { "Character": 1 } - }, - "retains": { - "0": { "Camera": 1 }, - "1": { "TemplateBASS": 1 } - }, - "retrace": { - "0": { "System": 2 } - }, - "retries": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "retrieve": { - "0": { "AudioClip": 1 }, - "1": { "Character": 2 }, - "2": { "Dialog": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginDesign-timeAPI": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GUI": 1 }, - "8": { "GUIControl": 1 }, - "9": { "Hotspot": 3 }, - "10": { "InventoryItem": 2 }, - "11": { "Object": 3 }, - "12": { "Room": 4 }, - "13": { "String": 1 }, - "14": { "Translations": 1 } - }, - "retrieved": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "InvWindow": 1 } - }, - "retrieves": { - "0": { "Hotspot": 1 } - }, - "retrieving": { - "0": { "DynamicSprite": 1 } - }, - "retro": { - "0": { "acintro1": 1 } - }, - "return": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 2 }, - "3": { "acintro7": 4 }, - "4": { "acintro8": 11 }, - "5": { "AudioChannel": 4 }, - "6": { "BlockingScripts": 2 }, - "7": { "Button": 1 }, - "8": { "Character": 11 }, - "9": { "CustomDialogOptions": 3 }, - "10": { "CustomProperties": 2 }, - "11": { "Dialog": 2 }, - "12": { "DialogOptionsRenderingInfo": 1 }, - "13": { "DialogScript": 9 }, - "14": { "DynamicArrays": 2 }, - "15": { "EditorGUI": 1 }, - "16": { "EnginePluginDesign-timeAPI": 3 }, - "17": { "EnginePluginRun-timeAPI": 39 }, - "18": { "ExtenderFunctions": 3 }, - "19": { "File": 3 }, - "20": { "Game": 3 }, - "21": { "GeneralSettings": 2 }, - "22": { "Globalfunctions_General": 8 }, - "23": { "Globalfunctions_Message": 3 }, - "24": { "Globalfunctions_Room": 7 }, - "25": { "Globalfunctions_Screen": 1 }, - "26": { "Globalfunctions_Wait": 2 }, - "27": { "GUI": 2 }, - "28": { "GUIControl": 1 }, - "29": { "ListBox": 2 }, - "30": { "MultipleScripts": 1 }, - "31": { "Object": 5 }, - "32": { "OOProgramming": 8 }, - "33": { "Overlay": 1 }, - "34": { "Pointers": 2 }, - "35": { "ScriptingTutorialPart1": 4 }, - "36": { "ScriptingTutorialPart2": 3 }, - "37": { "ScriptKeywords": 13 }, - "38": { "Speech": 2 }, - "39": { "StandardEnums": 1 }, - "40": { "String": 2 }, - "41": { "System": 4 }, - "42": { "Tumbleweed_movement": 1 }, - "43": { "UpgradeTo31": 1 }, - "44": { "UpgradeTo34": 2 }, - "45": { "UpgradeTo36": 1 }, - "46": { "UpgradingTo271": 2 }, - "47": { "Viewport": 4 } - }, - "returned": { - "0": { "AudioChannel": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 2 }, - "4": { "DateTime": 2 }, - "5": { "Dialog": 2 }, - "6": { "DynamicArrays": 2 }, - "7": { "DynamicSprite": 2 }, - "8": { "EnginePluginRun-timeAPI": 17 }, - "9": { "File": 2 }, - "10": { "Game": 11 }, - "11": { "Globalfunctions_General": 9 }, - "12": { "Globalfunctions_Room": 2 }, - "13": { "Globalfunctions_Wait": 1 }, - "14": { "GUI": 3 }, - "15": { "Hotspot": 3 }, - "16": { "InventoryItem": 1 }, - "17": { "InvWindow": 1 }, - "18": { "Maths": 1 }, - "19": { "Object": 1 }, - "20": { "Parser": 4 }, - "21": { "Pointers": 2 }, - "22": { "Region": 3 }, - "23": { "Room": 4 }, - "24": { "String": 7 }, - "25": { "System": 1 }, - "26": { "Tumbleweed_movement": 5 }, - "27": { "Tumbleweed_translation": 1 }, - "28": { "UpgradeTo36": 1 } - }, - "returning": { - "0": { "Button": 1 }, - "1": { "Character": 2 }, - "2": { "EnginePluginRun-timeAPI": 4 }, - "3": { "Object": 1 }, - "4": { "Pointers": 1 }, - "5": { "StandardTypes": 1 } - }, - "returns": { - "0": { "acintro8": 1 }, - "1": { "AudioChannel": 2 }, - "2": { "AudioClip": 2 }, - "3": { "AudioInScript": 1 }, - "4": { "Camera": 1 }, - "5": { "Character": 11 }, - "6": { "DateTime": 1 }, - "7": { "DialogOptionsRenderingInfo": 1 }, - "8": { "DialogScript": 2 }, - "9": { "Dictionary": 3 }, - "10": { "DynamicSprite": 1 }, - "11": { "EnginePluginDesign-timeAPI": 2 }, - "12": { "EnginePluginRun-timeAPI": 20 }, - "13": { "File": 8 }, - "14": { "Game": 3 }, - "15": { "Globalfunctions_General": 7 }, - "16": { "Globalfunctions_Room": 6 }, - "17": { "GUI": 3 }, - "18": { "GUIControl": 2 }, - "19": { "Hotspot": 6 }, - "20": { "InventoryItem": 4 }, - "21": { "ListBox": 1 }, - "22": { "Maths": 2 }, - "23": { "Multimedia": 3 }, - "24": { "MusicAndSound": 1 }, - "25": { "Object": 10 }, - "26": { "Overlay": 2 }, - "27": { "Parser": 3 }, - "28": { "Pointers": 1 }, - "29": { "Region": 1 }, - "30": { "Room": 3 }, - "31": { "Screen": 1 }, - "32": { "ScriptingTutorialPart2": 1 }, - "33": { "ScriptKeywords": 2 }, - "34": { "Set": 2 }, - "35": { "String": 7 }, - "36": { "TemplateVerbcoin": 2 }, - "37": { "Tumbleweed_extensions": 1 }, - "38": { "Tumbleweed_movement": 1 }, - "39": { "Viewport": 4 } - }, - "reused": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "Setup": 1 } - }, - "reusing": { - "0": { "GameSavesCompatibility": 1 } - }, - "reveal": { - "0": { "EditorRoom": 1 } - }, - "revel": { - "0": { "ScriptModules": 1 } - }, - "reverse": { - "0": { "Globalfunctions_Room": 1 }, - "1": { "Multimedia": 1 } - }, - "reversed": { - "0": { "TemplateBASS": 2 } - }, - "revert": { - "0": { "Game": 3 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Globalfunctions_Screen": 1 }, - "3": { "Object": 1 } - }, - "reverted": { - "0": { "EditorSprite": 1 } - }, - "reverts": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "revisit": { - "0": { "acintro4": 1 } - }, - "revisited": { - "0": { "acintro3": 1 } - }, - "rewrite": { - "0": { "UpgradeTo35": 1 } - }, - "right": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 2 }, - "4": { "acintro6": 2 }, - "5": { "acintro7": 3 }, - "6": { "AudioChannel": 1 }, - "7": { "BuildAndroid": 1 }, - "8": { "Character": 10 }, - "9": { "CustomDialogOptions": 2 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "DefaultSetup": 1 }, - "12": { "DrawingSurface": 1 }, - "13": { "DynamicSprite": 3 }, - "14": { "EditorDialog": 1 }, - "15": { "EditorGUI": 2 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorRoom": 4 }, - "18": { "EditorSprite": 2 }, - "19": { "EditorView": 6 }, - "20": { "EngineConfigFile": 1 }, - "21": { "EnginePluginRun-timeAPI": 6 }, - "22": { "EventTypes": 6 }, - "23": { "Game": 1 }, - "24": { "GameSavesCompatibility": 1 }, - "25": { "GeneralSettings": 7 }, - "26": { "Globalfunctions_Event": 3 }, - "27": { "Globalfunctions_General": 4 }, - "28": { "Globalfunctions_Room": 1 }, - "29": { "Globalfunctions_Wait": 1 }, - "30": { "GUI": 1 }, - "31": { "Lipsync": 3 }, - "32": { "MIDI-playback": 2 }, - "33": { "Mouse": 3 }, - "34": { "Object": 1 }, - "35": { "Pointers": 1 }, - "36": { "RepExec": 3 }, - "37": { "Room": 2 }, - "38": { "ScriptingTutorialPart1": 5 }, - "39": { "ScriptKeywords": 2 }, - "40": { "ScriptModules": 1 }, - "41": { "Settingupthegame": 8 }, - "42": { "Setup": 1 }, - "43": { "Slider": 1 }, - "44": { "Speech": 2 }, - "45": { "StringFormats": 1 }, - "46": { "TemplateBASS": 1 }, - "47": { "TemplateSierraStyle": 2 }, - "48": { "TemplateVerbcoin": 1 }, - "49": { "Tumbleweed": 4 }, - "50": { "Tumbleweed_movement": 1 }, - "51": { "UpgradeTo36": 3 }, - "52": { "UpgradeTo361": 1 }, - "53": { "Viewport": 1 } - }, - "right-align": { - "0": { "Globalfunctions_General": 1 } - }, - "right-aligned": { - "0": { "Gamevariables": 1 } - }, - "right-bottom": { - "0": { "Camera": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Viewport": 1 } - }, - "right-click": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 2 }, - "6": { "acintro9": 2 }, - "7": { "ColoursEditor": 1 }, - "8": { "CustomProperties": 1 }, - "9": { "EditorGUI": 2 }, - "10": { "EditorView": 1 }, - "11": { "GeneralSettings": 1 }, - "12": { "GlobalVariables": 1 }, - "13": { "Mouse": 2 }, - "14": { "MusicAndSound": 1 }, - "15": { "Plugins": 1 }, - "16": { "Settingupthegame": 7 }, - "17": { "TemplateBASS": 3 }, - "18": { "TemplateVerbcoin": 1 }, - "19": { "TextParser": 1 }, - "20": { "Translations": 2 }, - "21": { "Tumbleweed": 2 }, - "22": { "Tumbleweed_actions": 1 }, - "23": { "Tumbleweed_door": 1 }, - "24": { "Tumbleweed_extensions": 2 }, - "25": { "UpgradeTo32": 1 } - }, - "right-clicking": { - "0": { "acintro6": 2 }, - "1": { "acintro7": 1 }, - "2": { "EditorView": 1 }, - "3": { "Lipsync": 1 }, - "4": { "Settingupthegame": 3 }, - "5": { "TemplateBASS": 2 }, - "6": { "TextParser": 1 }, - "7": { "Translations": 1 }, - "8": { "TroubleshootingWindowsZoneID": 1 } - }, - "right-clicks": { - "0": { "CustomProperties": 1 } - }, - "right-drag": { - "0": { "acintro6": 1 } - }, - "right-hand": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 1 } - }, - "right-to-left": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "Translations": 1 } - }, - "rightmost": { - "0": { "Camera": 1 } - }, - "rights": { - "0": { "UpgradeTo335": 1 } - }, - "risk": { - "0": { "Lipsync": 1 } - }, - "road": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "roadsign": { - "0": { "Pointers": 2 } - }, - "rock": { - "0": { "acintro7": 1 }, - "1": { "Globalfunctions_General": 4 }, - "2": { "Object": 1 } - }, - "roguelike": { - "0": { "FAQ": 1 } - }, - "rol": { - "0": { "TextParser": 2 } - }, - "roles": { - "0": { "GameSavesCompatibility": 1 } - }, - "room": { - "0": { "acintro": 2 }, - "1": { "acintro1": 4 }, - "2": { "acintro2": 25 }, - "3": { "acintro3": 12 }, - "4": { "acintro4": 8 }, - "5": { "acintro5": 2 }, - "6": { "acintro6": 1 }, - "7": { "acintro7": 9 }, - "8": { "acintro8": 1 }, - "9": { "AdvancedRoomFeatures": 12 }, - "10": { "AudioChannel": 1 }, - "11": { "AudioInScript": 1 }, - "12": { "AutonumberSpeechFiles": 1 }, - "13": { "BackingUpYourGame": 2 }, - "14": { "BlockingScripts": 2 }, - "15": { "Camera": 47 }, - "16": { "Character": 62 }, - "17": { "ColoursEditor": 1 }, - "18": { "Constants": 3 }, - "19": { "Debuggingfeatures": 6 }, - "20": { "DrawingSurface": 13 }, - "21": { "DynamicSprite": 8 }, - "22": { "EditorCharacter": 1 }, - "23": { "EditorInventoryItems": 1 }, - "24": { "EditorPreferences": 2 }, - "25": { "EditorRoom": 31 }, - "26": { "EngineConfigFile": 2 }, - "27": { "EnginePluginRun-timeAPI": 29 }, - "28": { "EventTypes": 26 }, - "29": { "FAQ": 15 }, - "30": { "Game": 3 }, - "31": { "GameEventsOrder": 1 }, - "32": { "GameSavesCompatibility": 10 }, - "33": { "Gamevariables": 4 }, - "34": { "GeneralSettings": 8 }, - "35": { "Globalfunctions_Event": 17 }, - "36": { "Globalfunctions_General": 21 }, - "37": { "Globalfunctions_Message": 1 }, - "38": { "Globalfunctions_Room": 38 }, - "39": { "Globalfunctions_Screen": 4 }, - "40": { "GlobalVariables": 1 }, - "41": { "GUI": 5 }, - "42": { "Hotspot": 4 }, - "43": { "InventoryItem": 2 }, - "44": { "MultipleScripts": 1 }, - "45": { "MusicAndSound": 1 }, - "46": { "Object": 21 }, - "47": { "ObsoleteScriptAPI": 4 }, - "48": { "Overlay": 22 }, - "49": { "Pointers": 1 }, - "50": { "Region": 3 }, - "51": { "RepExec": 8 }, - "52": { "Room": 45 }, - "53": { "RuntimeEngine": 6 }, - "54": { "Screen": 18 }, - "55": { "ScriptAPIOverview": 1 }, - "56": { "Scripting": 1 }, - "57": { "ScriptingTutorialPart1": 6 }, - "58": { "ScriptingTutorialPart2": 3 }, - "59": { "ScriptKeywords": 8 }, - "60": { "Settingupthegame": 14 }, - "61": { "StandardTypes": 1 }, - "62": { "StartingOff": 1 }, - "63": { "System": 2 }, - "64": { "SystemLimits": 6 }, - "65": { "Templates": 1 }, - "66": { "TextParser": 3 }, - "67": { "Tumbleweed": 7 }, - "68": { "Tumbleweed_door": 13 }, - "69": { "Tumbleweed_extensions": 3 }, - "70": { "Tutorial": 1 }, - "71": { "UpgradeTo30": 5 }, - "72": { "UpgradeTo33": 3 }, - "73": { "UpgradeTo35": 31 }, - "74": { "UpgradeTo36": 7 }, - "75": { "UpgradeTo361": 1 }, - "76": { "Viewport": 15 } - }, - "room'": { - "0": { "EditorRoom": 1 } - }, - "room's": { - "0": { "acintro2": 6 }, - "1": { "AudioInScript": 1 }, - "2": { "Camera": 12 }, - "3": { "Character": 2 }, - "4": { "CustomProperties": 2 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorRoom": 4 }, - "7": { "Game": 1 }, - "8": { "Gamevariables": 1 }, - "9": { "GeneralSettings": 2 }, - "10": { "GlobalArrays": 3 }, - "11": { "Globalfunctions_Event": 3 }, - "12": { "Globalfunctions_Palette": 1 }, - "13": { "Globalfunctions_Room": 5 }, - "14": { "GlobalVariables": 1 }, - "15": { "Hotspot": 2 }, - "16": { "Object": 3 }, - "17": { "Overlay": 1 }, - "18": { "Region": 2 }, - "19": { "RepExec": 1 }, - "20": { "Room": 10 }, - "21": { "Screen": 2 }, - "22": { "UpgradeTo35": 1 }, - "23": { "Viewport": 3 } - }, - "room-dependent": { - "0": { "ColoursEditor": 1 } - }, - "roomNNN": { - "0": { "UpgradeTo35": 1 } - }, - "roompt": { - "0": { "UpgradeTo35": 3 } - }, - "rooms": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 1 }, - "4": { "AdvancedRoomFeatures": 3 }, - "5": { "Camera": 1 }, - "6": { "Character": 1 }, - "7": { "CustomProperties": 1 }, - "8": { "Debuggingfeatures": 1 }, - "9": { "DefaultSetup": 1 }, - "10": { "DistGame": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "GameSavesCompatibility": 5 }, - "13": { "GeneralSettings": 2 }, - "14": { "Globalfunctions_Event": 2 }, - "15": { "Globalfunctions_Room": 4 }, - "16": { "ImportingFunctionsAndVariables": 1 }, - "17": { "Object": 1 }, - "18": { "ObsoleteScriptAPI": 4 }, - "19": { "Overlay": 2 }, - "20": { "RepExec": 1 }, - "21": { "Room": 4 }, - "22": { "ScriptKeywords": 1 }, - "23": { "Settingupthegame": 2 }, - "24": { "Setup": 1 }, - "25": { "SourceControl": 1 }, - "26": { "SystemLimits": 1 }, - "27": { "TextParser": 1 }, - "28": { "UpgradeTo33": 1 }, - "29": { "UpgradeTo35": 6 } - }, - "roomscript": { - "0": { "Gamevariables": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "roomx": { - "0": { "UpgradeTo35": 2 }, - "1": { "Viewport": 1 } - }, - "roomy": { - "0": { "UpgradeTo35": 2 }, - "1": { "Viewport": 1 } - }, - "root": { - "0": { "BuildAndroid": 1 }, - "1": { "Maths": 4 }, - "2": { "VoiceSpeech": 1 } - }, - "rotate": { - "0": { "acintro1": 1 }, - "1": { "DynamicSprite": 5 }, - "2": { "Globalfunctions_Palette": 2 } - }, - "rotated": { - "0": { "DynamicSprite": 7 }, - "1": { "EngineConfigFile": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 } - }, - "rotating": { - "0": { "DynamicSprite": 1 } - }, - "rotation": { - "0": { "DefaultSetup": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "EngineConfigFile": 2 }, - "3": { "RuntimeEngine": 2 } - }, - "roughly": { - "0": { "EditorRoom": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "round": { - "0": { "BuildAndroid": 2 }, - "1": { "DefaultSetup": 3 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_Palette": 1 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "Lipsync": 1 }, - "7": { "Maths": 1 }, - "8": { "RuntimeEngine": 4 }, - "9": { "Setup": 2 }, - "10": { "UpgradingTo27": 1 } - }, - "rounded": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Maths": 2 } - }, - "rounding": { - "0": { "Character": 1 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 1 }, - "3": { "Object": 1 } - }, - "route": { - "0": { "Character": 2 } - }, - "routine": { - "0": { "Globalfunctions_Event": 2 } - }, - "routines": { - "0": { "Credits": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "row": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "InvWindow": 3 }, - "4": { "ListBox": 5 } - }, - "rows": { - "0": { "acintro8": 1 }, - "1": { "InvWindow": 2 }, - "2": { "ListBox": 2 }, - "3": { "Multimedia": 1 } - }, - "rub": { - "0": { "RepExec": 1 } - }, - "rule": { - "0": { "DefaultSetup": 1 }, - "1": { "EngineConfigFile": 2 }, - "2": { "Translations": 1 } - }, - "rules": { - "0": { "AudioClip": 1 }, - "1": { "File": 1 }, - "2": { "GlobalArrays": 1 } - }, - "run": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro7": 3 }, - "4": { "acintro8": 4 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AnonymousUsageInfo": 1 }, - "7": { "BlockingScripts": 12 }, - "8": { "Button": 1 }, - "9": { "Character": 3 }, - "10": { "CustomDialogOptions": 3 }, - "11": { "Debuggingfeatures": 3 }, - "12": { "DefaultSetup": 4 }, - "13": { "Dialog": 3 }, - "14": { "DialogOptionsRenderingInfo": 3 }, - "15": { "DialogScript": 2 }, - "16": { "DistGame": 2 }, - "17": { "EditorCursor": 1 }, - "18": { "EditorLogPanel": 1 }, - "19": { "EditorPreferences": 2 }, - "20": { "EditorView": 1 }, - "21": { "EngineConfigFile": 3 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 12 }, - "24": { "EnginePlugins": 1 }, - "25": { "EventTypes": 5 }, - "26": { "ExtenderFunctions": 1 }, - "27": { "FAQ": 1 }, - "28": { "File": 1 }, - "29": { "Game": 7 }, - "30": { "GameEventsOrder": 1 }, - "31": { "Gamevariables": 2 }, - "32": { "GeneralSettings": 3 }, - "33": { "Globalfunctions_Event": 1 }, - "34": { "Globalfunctions_General": 12 }, - "35": { "Globalfunctions_Room": 4 }, - "36": { "Globalfunctions_Wait": 1 }, - "37": { "GraphicsDriver": 2 }, - "38": { "GUI": 1 }, - "39": { "Hotspot": 3 }, - "40": { "InventoryItem": 3 }, - "41": { "Mouse": 2 }, - "42": { "Object": 3 }, - "43": { "Region": 2 }, - "44": { "RepExec": 8 }, - "45": { "RuntimeEngine": 8 }, - "46": { "ScriptingTutorialPart1": 8 }, - "47": { "ScriptingTutorialPart2": 5 }, - "48": { "ScriptKeywords": 10 }, - "49": { "ScriptModules": 2 }, - "50": { "Settingupthegame": 5 }, - "51": { "Setup": 5 }, - "52": { "StartingOff": 1 }, - "53": { "System": 2 }, - "54": { "Templates": 1 }, - "55": { "Translations": 3 }, - "56": { "TroubleshootingWindowsZoneID": 2 }, - "57": { "UpgradeTo30": 2 }, - "58": { "UpgradeTo31": 3 }, - "59": { "UpgradeTo34": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "UpgradeTo36": 1 }, - "62": { "UpgradeTo361": 2 } - }, - "run-as": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "run-script": { - "0": { "DialogScript": 1 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "UpgradeTo30": 1 } - }, - "run-time": { - "0": { "EditorLogPanel": 1 }, - "1": { "EditorPlugins": 1 }, - "2": { "EnginePlugins": 1 }, - "3": { "Game": 3 }, - "4": { "Gamevariables": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "Region": 1 }, - "8": { "RuntimeEngine": 1 }, - "9": { "System": 1 } - }, - "running": { - "0": { "acintro1": 1 }, - "1": { "acintro8": 1 }, - "2": { "AnonymousUsageInfo": 2 }, - "3": { "BlockingScripts": 5 }, - "4": { "Character": 2 }, - "5": { "Debuggingfeatures": 2 }, - "6": { "DefaultSetup": 3 }, - "7": { "DialogScript": 1 }, - "8": { "EditorLogPanel": 1 }, - "9": { "EditorView": 1 }, - "10": { "EngineConfigFile": 5 }, - "11": { "EnginePluginRun-timeAPI": 12 }, - "12": { "FAQ": 3 }, - "13": { "Game": 4 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "GeneralSettings": 1 }, - "16": { "Globalfunctions_General": 6 }, - "17": { "GraphicsDriver": 1 }, - "18": { "GUI": 1 }, - "19": { "GUIControl": 6 }, - "20": { "Mouse": 1 }, - "21": { "RuntimeEngine": 1 }, - "22": { "ScriptKeywords": 1 }, - "23": { "Setup": 2 }, - "24": { "System": 10 }, - "25": { "TroubleshootingWindowsZoneID": 1 }, - "26": { "Tumbleweed": 2 }, - "27": { "UpgradeTo30": 2 }, - "28": { "UpgradeTo31": 1 }, - "29": { "UpgradeTo34": 1 }, - "30": { "VoiceSpeech": 1 } - }, - "runs": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Dialog": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "EngineConfigFile": 2 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "GameEventsOrder": 1 }, - "7": { "GeneralSettings": 1 }, - "8": { "Globalfunctions_General": 2 }, - "9": { "Preprocessor": 1 }, - "10": { "RuntimeEngine": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 4 }, - "13": { "Setup": 1 }, - "14": { "Speech": 1 }, - "15": { "UpgradeTo30": 3 } - }, - "runtime": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorDialog": 1 }, - "5": { "EditorFont": 1 }, - "6": { "EditorLogPanel": 1 }, - "7": { "EnginePlugins": 1 }, - "8": { "FAQ": 2 }, - "9": { "GeneralSettings": 2 }, - "10": { "GUIControl": 1 }, - "11": { "ImportingFunctionsAndVariables": 1 }, - "12": { "Label": 1 }, - "13": { "ListBox": 1 }, - "14": { "MusicAndSound": 1 }, - "15": { "Overlay": 1 }, - "16": { "RuntimeEngine": 4 }, - "17": { "Settingupthegame": 2 }, - "18": { "Setup": 1 }, - "19": { "System": 4 }, - "20": { "SystemLimits": 2 }, - "21": { "Tumbleweed_movement": 1 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo36": 1 } - }, - "rusty": { - "0": { "InventoryItem": 1 } - }, - "rx": { - "0": { "Screen": 1 } - }, - "ry": { - "0": { "Screen": 1 } - }, - "sTRiN": { - "0": { "String": 1 } - }, - "safe": { - "0": { "Camera": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "File": 1 }, - "4": { "GameSavesCompatibility": 4 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "Overlay": 1 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "UnicodeSupport": 1 }, - "11": { "UpgradeTo335": 1 }, - "12": { "UpgradeTo35": 1 }, - "13": { "Viewport": 2 } - }, - "safely": { - "0": { "DynamicSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "UpgradeTo361": 1 }, - "5": { "UpgradingTo271": 1 } - }, - "safest": { - "0": { "File": 1 } - }, - "safety": { - "0": { "DynamicSprite": 1 } - }, - "said": { - "0": { "acintro7": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "EditorDialog": 1 }, - "3": { "Game": 1 }, - "4": { "Object": 1 }, - "5": { "Parser": 1 }, - "6": { "Settingupthegame": 2 } - }, - "same": { - "0": { "acintro2": 5 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 4 }, - "5": { "AdvancedRoomFeatures": 3 }, - "6": { "AudioChannel": 1 }, - "7": { "AudioClip": 1 }, - "8": { "AudioInScript": 3 }, - "9": { "BuildAndroid": 1 }, - "10": { "Button": 2 }, - "11": { "Camera": 1 }, - "12": { "Character": 15 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "CustomProperties": 1 }, - "15": { "Dialog": 1 }, - "16": { "Dictionary": 4 }, - "17": { "DistGame": 2 }, - "18": { "DrawingSurface": 2 }, - "19": { "DynamicSprite": 4 }, - "20": { "EditorCursor": 1 }, - "21": { "EditorGUI": 3 }, - "22": { "EditorPreferences": 2 }, - "23": { "EditorRoom": 2 }, - "24": { "EngineConfigFile": 1 }, - "25": { "EnginePluginRun-timeAPI": 12 }, - "26": { "EnginePlugins": 1 }, - "27": { "EventTypes": 2 }, - "28": { "FAQ": 2 }, - "29": { "Game": 5 }, - "30": { "GameSavesCompatibility": 4 }, - "31": { "Gamevariables": 3 }, - "32": { "GeneralSettings": 1 }, - "33": { "Globalfunctions_Event": 2 }, - "34": { "Globalfunctions_General": 9 }, - "35": { "Globalfunctions_Message": 2 }, - "36": { "Globalfunctions_Room": 4 }, - "37": { "Globalfunctions_Screen": 1 }, - "38": { "GUI": 1 }, - "39": { "GUIControl": 3 }, - "40": { "Hotspot": 1 }, - "41": { "ImportingFunctionsAndVariables": 4 }, - "42": { "InventoryItem": 2 }, - "43": { "Keycodes": 1 }, - "44": { "Lipsync": 4 }, - "45": { "ListBox": 1 }, - "46": { "MusicAndSound": 6 }, - "47": { "Object": 2 }, - "48": { "OOProgramming": 1 }, - "49": { "Overlay": 3 }, - "50": { "Parser": 1 }, - "51": { "Plugins": 1 }, - "52": { "Pointers": 6 }, - "53": { "Region": 3 }, - "54": { "Room": 1 }, - "55": { "RuntimeEngine": 1 }, - "56": { "ScriptingTutorialPart1": 2 }, - "57": { "ScriptingTutorialPart2": 1 }, - "58": { "ScriptKeywords": 4 }, - "59": { "Set": 1 }, - "60": { "Settingupthegame": 9 }, - "61": { "TemplateBASS": 1 }, - "62": { "TextParser": 5 }, - "63": { "TheScriptHeader": 3 }, - "64": { "Translations": 4 }, - "65": { "TroubleshootingWindowsZoneID": 1 }, - "66": { "Tumbleweed_extensions": 1 }, - "67": { "Tumbleweed_movement": 3 }, - "68": { "UnicodeSupport": 1 }, - "69": { "UpgradeTo30": 1 }, - "70": { "UpgradeTo31": 1 }, - "71": { "UpgradeTo32": 4 }, - "72": { "UpgradeTo35": 7 }, - "73": { "UpgradeTo36": 3 }, - "74": { "UpgradeTo361": 1 }, - "75": { "VoiceSpeech": 1 } - }, - "sample": { - "0": { "AudioChannel": 2 }, - "1": { "EditorPlugins": 2 }, - "2": { "Tumbleweed": 2 }, - "3": { "Tumbleweed_door": 1 }, - "4": { "Tumbleweed_extensions": 2 } - }, - "sampled": { - "0": { "MIDI-playback": 1 } - }, - "saturation": { - "0": { "Character": 3 }, - "1": { "DynamicSprite": 2 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "Object": 3 }, - "4": { "Region": 2 } - }, - "save": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "AudioClip": 1 }, - "6": { "Character": 2 }, - "7": { "Constants": 1 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "Dialog": 1 }, - "10": { "DistGame": 4 }, - "11": { "DrawingSurface": 3 }, - "12": { "DynamicArrays": 2 }, - "13": { "DynamicSprite": 6 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorPlugins": 1 }, - "16": { "EngineConfigFile": 9 }, - "17": { "EnginePluginRun-timeAPI": 7 }, - "18": { "File": 6 }, - "19": { "Game": 8 }, - "20": { "GameSavesCompatibility": 34 }, - "21": { "Gamevariables": 3 }, - "22": { "GeneralSettings": 8 }, - "23": { "Globalfunctions_Event": 3 }, - "24": { "Globalfunctions_General": 18 }, - "25": { "GUI": 1 }, - "26": { "GUIControl": 1 }, - "27": { "Hotspot": 1 }, - "28": { "InventoryItem": 1 }, - "29": { "Lipsync": 3 }, - "30": { "ListBox": 8 }, - "31": { "MusicAndSound": 1 }, - "32": { "Object": 1 }, - "33": { "Pointers": 1 }, - "34": { "RuntimeEngine": 1 }, - "35": { "ScriptModules": 1 }, - "36": { "Settingupthegame": 1 }, - "37": { "TemplateSierraStyle": 1 }, - "38": { "Translations": 3 }, - "39": { "Tumbleweed_translation": 1 }, - "40": { "UpgradeTo30": 1 }, - "41": { "UpgradeTo36": 2 }, - "42": { "UpgradeTo361": 4 } - }, - "saveSlot": { - "0": { "DynamicSprite": 1 } - }, - "saved": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "DefaultSetup": 2 }, - "5": { "Dialog": 1 }, - "6": { "DynamicSprite": 2 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorSprite": 4 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 7 }, - "11": { "FAQ": 1 }, - "12": { "GameSavesCompatibility": 6 }, - "13": { "Gamevariables": 2 }, - "14": { "GlobalArrays": 3 }, - "15": { "Globalfunctions_Event": 2 }, - "16": { "Globalfunctions_General": 10 }, - "17": { "GUI": 1 }, - "18": { "GUIControl": 1 }, - "19": { "Hotspot": 1 }, - "20": { "InventoryItem": 1 }, - "21": { "ListBox": 3 }, - "22": { "Mouse": 2 }, - "23": { "Object": 1 }, - "24": { "Setup": 1 }, - "25": { "Translations": 3 }, - "26": { "TroubleshootingWindowsZoneID": 1 }, - "27": { "UnicodeSupport": 1 }, - "28": { "UpgradeTo36": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "savedgames": { - "0": { "EngineConfigFile": 1 }, - "1": { "UpgradeTo33": 1 } - }, - "savefiles": { - "0": { "DistGame": 1 } - }, - "savegame": { - "0": { "RuntimeEngine": 1 } - }, - "savegameindex": { - "0": { "ListBox": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "saves": { - "0": { "DateTime": 1 }, - "1": { "DefaultSetup": 5 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 16 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 2 }, - "6": { "ListBox": 2 }, - "7": { "OtherFeatures": 1 }, - "8": { "Setup": 2 }, - "9": { "System": 1 }, - "10": { "UpgradeTo335": 4 }, - "11": { "UpgradeTo341": 1 }, - "12": { "UpgradeTo35": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "savestate": { - "0": { "DistGame": 1 } - }, - "saving": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "ListBox": 1 }, - "9": { "Object": 1 }, - "10": { "UpgradeTo30": 1 }, - "11": { "UpgradeTo36": 1 }, - "12": { "UpgradeTo361": 1 } - }, - "saw": { - "0": { "UpgradingTo27": 1 } - }, - "say": { - "0": { "acintro4": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro8": 4 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DialogScript": 3 }, - "5": { "EditorDialog": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "ExtenderFunctions": 1 }, - "8": { "Game": 3 }, - "9": { "ImportingFunctionsAndVariables": 1 }, - "10": { "OOProgramming": 1 }, - "11": { "ScriptAPIOverview": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "ScriptKeywords": 2 }, - "14": { "Tumbleweed_movement": 1 } - }, - "saying": { - "0": { "BuildAndroid": 1 }, - "1": { "Lipsync": 1 } - }, - "says": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "Game": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Room": 1 }, - "5": { "ScriptingTutorialPart1": 6 }, - "6": { "ScriptingTutorialPart2": 2 }, - "7": { "Settingupthegame": 1 }, - "8": { "StringFormats": 2 }, - "9": { "Templates": 1 }, - "10": { "Tumbleweed_door": 1 } - }, - "scale": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Character": 3 }, - "3": { "EditorFont": 1 }, - "4": { "EngineConfigFile": 3 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "GeneralSettings": 2 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "GUI": 1 }, - "9": { "Object": 1 }, - "10": { "Settingupthegame": 2 }, - "11": { "Setup": 2 }, - "12": { "UpgradeTo36": 1 } - }, - "scaled": { - "0": { "Camera": 4 }, - "1": { "Character": 6 }, - "2": { "DefaultSetup": 9 }, - "3": { "DynamicSprite": 1 }, - "4": { "EngineConfigFile": 2 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Gamevariables": 1 }, - "7": { "GeneralSettings": 5 }, - "8": { "GraphicsDriver": 1 }, - "9": { "Object": 1 }, - "10": { "Settingupthegame": 2 }, - "11": { "Setup": 6 }, - "12": { "System": 1 }, - "13": { "UpgradeTo35": 4 }, - "14": { "Viewport": 2 } - }, - "scales": { - "0": { "Overlay": 2 } - }, - "scaling": { - "0": { "AdvancedRoomFeatures": 7 }, - "1": { "Camera": 1 }, - "2": { "Character": 15 }, - "3": { "DefaultSetup": 5 }, - "4": { "EngineConfigFile": 7 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "FAQ": 1 }, - "7": { "Game": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_Room": 6 }, - "10": { "GraphicsDriver": 2 }, - "11": { "Object": 6 }, - "12": { "RuntimeEngine": 7 }, - "13": { "Screen": 4 }, - "14": { "Settingupthegame": 3 }, - "15": { "Setup": 1 }, - "16": { "System": 6 }, - "17": { "UpgradeTo34": 1 }, - "18": { "UpgradeTo35": 1 }, - "19": { "Viewport": 3 } - }, - "scan": { - "0": { "CustomDialogOptions": 1 } - }, - "scanned": { - "0": { "Game": 1 } - }, - "scanning": { - "0": { "DistGame": 1 } - }, - "scans": { - "0": { "EditorPlugins": 1 } - }, - "scenarios": { - "0": { "EditorRoom": 1 } - }, - "scene": { - "0": { "AdvancedRoomFeatures": 5 }, - "1": { "Character": 1 }, - "2": { "DrawingSurface": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EnginePluginRun-timeAPI": 3 }, - "7": { "FAQ": 1 }, - "8": { "Game": 2 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "Object": 1 }, - "12": { "Room": 1 }, - "13": { "Settingupthegame": 1 } - }, - "scenes": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "ColoursEditor": 1 }, - "2": { "GUI": 1 }, - "3": { "ImportingFunctionsAndVariables": 1 } - }, - "schedule": { - "0": { "Character": 1 } - }, - "scheduled": { - "0": { "GameEventsOrder": 2 } - }, - "schema": { - "0": { "CustomProperties": 5 } - }, - "scheme": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "scintilla": { - "0": { "Credits": 2 } - }, - "scm": { - "0": { "ScriptModules": 2 } - }, - "scope": { - "0": { "DynamicSprite": 3 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "OOProgramming": 1 }, - "3": { "Overlay": 2 }, - "4": { "ScriptingTutorialPart1": 1 } - }, - "score": { - "0": { "DialogScript": 1 }, - "1": { "EditorGUI": 3 }, - "2": { "Gamevariables": 6 }, - "3": { "GeneralSettings": 3 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_General": 4 }, - "6": { "Label": 6 } - }, - "scores": { - "0": { "GeneralSettings": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "scoretable": { - "0": { "File": 1 } - }, - "scratch": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ScriptModules": 1 }, - "2": { "Templates": 1 } - }, - "screen": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 8 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro9": 2 }, - "7": { "AdvancedRoomFeatures": 7 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "BuildAndroid": 3 }, - "10": { "Camera": 5 }, - "11": { "Character": 22 }, - "12": { "ColoursEditor": 2 }, - "13": { "CustomDialogOptions": 7 }, - "14": { "Debuggingfeatures": 1 }, - "15": { "DefaultSetup": 7 }, - "16": { "DialogOptionsRenderingInfo": 4 }, - "17": { "Dictionary": 2 }, - "18": { "DistGame": 2 }, - "19": { "DrawingSurface": 11 }, - "20": { "DynamicSprite": 5 }, - "21": { "EditorCursor": 1 }, - "22": { "EditorGUI": 4 }, - "23": { "EditorRoom": 3 }, - "24": { "EditorSprite": 1 }, - "25": { "EngineConfigFile": 6 }, - "26": { "EnginePluginRun-timeAPI": 46 }, - "27": { "EventTypes": 10 }, - "28": { "FAQ": 9 }, - "29": { "File": 1 }, - "30": { "Game": 6 }, - "31": { "GameEventsOrder": 3 }, - "32": { "Gamevariables": 4 }, - "33": { "GeneralSettings": 11 }, - "34": { "Globalfunctions_Event": 2 }, - "35": { "Globalfunctions_General": 23 }, - "36": { "Globalfunctions_Message": 6 }, - "37": { "Globalfunctions_Palette": 3 }, - "38": { "Globalfunctions_Room": 9 }, - "39": { "Globalfunctions_Screen": 25 }, - "40": { "GraphicsDriver": 1 }, - "41": { "GUI": 25 }, - "42": { "GUIControl": 4 }, - "43": { "Hotspot": 1 }, - "44": { "Lipsync": 5 }, - "45": { "ListBox": 1 }, - "46": { "Mouse": 6 }, - "47": { "Multimedia": 3 }, - "48": { "Object": 3 }, - "49": { "Overlay": 27 }, - "50": { "Region": 1 }, - "51": { "RepExec": 4 }, - "52": { "Room": 4 }, - "53": { "RuntimeEngine": 1 }, - "54": { "Screen": 14 }, - "55": { "ScriptAPIOverview": 1 }, - "56": { "Scripting": 1 }, - "57": { "ScriptingTutorialPart1": 2 }, - "58": { "Set": 1 }, - "59": { "Settingupthegame": 8 }, - "60": { "Setup": 8 }, - "61": { "Speech": 9 }, - "62": { "StandardTypes": 1 }, - "63": { "System": 12 }, - "64": { "SystemRequirements": 1 }, - "65": { "TemplateBASS": 1 }, - "66": { "TextParser": 1 }, - "67": { "Translations": 1 }, - "68": { "Tumbleweed": 8 }, - "69": { "Tumbleweed_actions": 1 }, - "70": { "UpgradeTo33": 1 }, - "71": { "UpgradeTo34": 1 }, - "72": { "UpgradeTo35": 13 }, - "73": { "UpgradeTo36": 2 }, - "74": { "UpgradingTo27": 1 }, - "75": { "Viewport": 28 }, - "76": { "VoiceSpeech": 2 } - }, - "screen's": { - "0": { "DefaultSetup": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "InventoryItem": 1 }, - "3": { "Screen": 3 }, - "4": { "Setup": 1 }, - "5": { "System": 1 }, - "6": { "Viewport": 1 } - }, - "screenres": { - "0": { "EngineConfigFile": 3 } - }, - "screens": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "Dialog": 1 }, - "3": { "Game": 1 } - }, - "screenshot": { - "0": { "acintro1": 1 }, - "1": { "DynamicSprite": 3 }, - "2": { "Gamevariables": 7 }, - "3": { "Globalfunctions_General": 2 } - }, - "screenshots": { - "0": { "acintro1": 1 }, - "1": { "DynamicSprite": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "screwed": { - "0": { "Settingupthegame": 1 } - }, - "scrips": { - "0": { "Character": 1 } - }, - "script": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 12 }, - "2": { "acintro4": 3 }, - "3": { "acintro5": 5 }, - "4": { "acintro7": 9 }, - "5": { "acintro8": 17 }, - "6": { "acintro9": 2 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AudioChannel": 4 }, - "9": { "AudioClip": 10 }, - "10": { "AudioInScript": 5 }, - "11": { "AutonumberSpeechFiles": 1 }, - "12": { "BackingUpYourGame": 1 }, - "13": { "BlockingScripts": 14 }, - "14": { "Button": 2 }, - "15": { "Camera": 2 }, - "16": { "Character": 39 }, - "17": { "ColoursEditor": 2 }, - "18": { "Constants": 5 }, - "19": { "CustomDialogOptions": 6 }, - "20": { "CustomProperties": 7 }, - "21": { "Debuggingfeatures": 8 }, - "22": { "Dialog": 12 }, - "23": { "DialogOptionsRenderingInfo": 2 }, - "24": { "DialogScript": 20 }, - "25": { "DrawingSurface": 2 }, - "26": { "DynamicArrays": 3 }, - "27": { "DynamicSprite": 3 }, - "28": { "EditorCharacter": 1 }, - "29": { "EditorDialog": 10 }, - "30": { "EditorGUI": 8 }, - "31": { "EditorInventoryItems": 2 }, - "32": { "EditorLogPanel": 1 }, - "33": { "EditorPreferences": 5 }, - "34": { "EditorRoom": 3 }, - "35": { "EngineConfigFile": 3 }, - "36": { "EnginePluginDesign-timeAPI": 5 }, - "37": { "EnginePluginRun-timeAPI": 73 }, - "38": { "EventTypes": 2 }, - "39": { "ExtenderFunctions": 1 }, - "40": { "FAQ": 27 }, - "41": { "File": 5 }, - "42": { "Game": 17 }, - "43": { "GameEventsOrder": 3 }, - "44": { "GameSavesCompatibility": 24 }, - "45": { "Gamevariables": 4 }, - "46": { "GeneralSettings": 21 }, - "47": { "GlobalArrays": 4 }, - "48": { "Globalfunctions_Event": 13 }, - "49": { "Globalfunctions_General": 38 }, - "50": { "Globalfunctions_Message": 2 }, - "51": { "Globalfunctions_Palette": 1 }, - "52": { "Globalfunctions_Screen": 1 }, - "53": { "Globalfunctions_Wait": 11 }, - "54": { "GlobalVariables": 5 }, - "55": { "GUI": 8 }, - "56": { "GUIControl": 8 }, - "57": { "Hotspot": 9 }, - "58": { "ImportingFunctionsAndVariables": 12 }, - "59": { "Introduction": 1 }, - "60": { "InventoryItem": 11 }, - "61": { "Keycodes": 1 }, - "62": { "Maths": 2 }, - "63": { "Mouse": 3 }, - "64": { "Multimedia": 4 }, - "65": { "MultipleScripts": 13 }, - "66": { "MusicAndSound": 4 }, - "67": { "Object": 15 }, - "68": { "ObsoleteScriptAPI": 1 }, - "69": { "OOProgramming": 9 }, - "70": { "Overlay": 9 }, - "71": { "Plugins": 1 }, - "72": { "Pointers": 6 }, - "73": { "Preprocessor": 30 }, - "74": { "Region": 2 }, - "75": { "RepExec": 12 }, - "76": { "Room": 1 }, - "77": { "RuntimeEngine": 1 }, - "78": { "Screen": 1 }, - "79": { "ScriptAPIOverview": 6 }, - "80": { "ScriptingLanguage": 2 }, - "81": { "ScriptingTutorial": 1 }, - "82": { "ScriptingTutorialPart1": 37 }, - "83": { "ScriptingTutorialPart2": 18 }, - "84": { "ScriptKeywords": 37 }, - "85": { "ScriptModules": 10 }, - "86": { "Settingupthegame": 17 }, - "87": { "SourceControl": 1 }, - "88": { "StandardTypes": 1 }, - "89": { "String": 10 }, - "90": { "System": 4 }, - "91": { "TemplateBASS": 3 }, - "92": { "Templates": 2 }, - "93": { "TemplateSierraStyle": 2 }, - "94": { "TemplateVerbcoin": 2 }, - "95": { "TextParser": 3 }, - "96": { "TheScriptHeader": 6 }, - "97": { "Translations": 7 }, - "98": { "Tumbleweed": 3 }, - "99": { "Tumbleweed_door": 4 }, - "100": { "Tumbleweed_extensions": 1 }, - "101": { "Tumbleweed_helper": 1 }, - "102": { "Tumbleweed_unhandled": 1 }, - "103": { "UnicodeSupport": 3 }, - "104": { "UpgradeTo30": 5 }, - "105": { "UpgradeTo31": 3 }, - "106": { "UpgradeTo32": 2 }, - "107": { "UpgradeTo33": 4 }, - "108": { "UpgradeTo34": 8 }, - "109": { "UpgradeTo341": 2 }, - "110": { "UpgradeTo35": 4 }, - "111": { "UpgradeTo36": 11 }, - "112": { "UpgradeTo361": 6 }, - "113": { "UpgradingTo27": 18 }, - "114": { "VoiceSpeech": 6 } - }, - "script's": { - "0": { "EditorDialog": 1 }, - "1": { "GameSavesCompatibility": 2 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "GUIControl": 1 }, - "4": { "ImportingFunctionsAndVariables": 1 }, - "5": { "MultipleScripts": 1 }, - "6": { "Pointers": 1 }, - "7": { "ScriptingTutorialPart1": 1 } - }, - "script-only": { - "0": { "Globalfunctions_General": 1 } - }, - "scriptName": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GUI": 1 }, - "5": { "GUIControl": 1 }, - "6": { "Hotspot": 1 }, - "7": { "InventoryItem": 1 }, - "8": { "Object": 1 } - }, - "scripted": { - "0": { "EditorCursor": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "ScriptKeywords": 1 }, - "3": { "Settingupthegame": 1 } - }, - "scripters": { - "0": { "UpgradingTo27": 1 } - }, - "scripting": { - "0": { "acintro": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro8": 2 }, - "3": { "BackingUpYourGame": 1 }, - "4": { "BlockingScripts": 1 }, - "5": { "Constants": 2 }, - "6": { "Copyright": 1 }, - "7": { "CustomDialogOptions": 3 }, - "8": { "Debuggingfeatures": 1 }, - "9": { "DialogScript": 6 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 3 }, - "13": { "Overlay": 1 }, - "14": { "Pointers": 1 }, - "15": { "RepExec": 1 }, - "16": { "ScriptAPIOverview": 3 }, - "17": { "ScriptingTutorial": 1 }, - "18": { "ScriptingTutorialPart2": 2 }, - "19": { "ScriptKeywords": 5 }, - "20": { "Settingupthegame": 2 }, - "21": { "Tumbleweed": 1 }, - "22": { "Tumbleweed_door": 1 }, - "23": { "UpgradeTo30": 3 }, - "24": { "UpgradeTo32": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradingTo27": 2 }, - "27": { "UpgradingTo271": 1 } - }, - "scripts": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "AnonymousUsageInfo": 1 }, - "3": { "AutonumberSpeechFiles": 1 }, - "4": { "BlockingScripts": 8 }, - "5": { "Constants": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "DefaultSetup": 2 }, - "9": { "Dialog": 2 }, - "10": { "DialogScript": 6 }, - "11": { "EditorDialog": 2 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorLogPanel": 1 }, - "14": { "EnginePluginRun-timeAPI": 3 }, - "15": { "EventTypes": 1 }, - "16": { "ExtenderFunctions": 1 }, - "17": { "Game": 2 }, - "18": { "GameEventsOrder": 1 }, - "19": { "GameSavesCompatibility": 3 }, - "20": { "GeneralSettings": 7 }, - "21": { "Globalfunctions_Event": 3 }, - "22": { "Globalfunctions_General": 3 }, - "23": { "Globalfunctions_Room": 1 }, - "24": { "Globalfunctions_Wait": 1 }, - "25": { "GlobalVariables": 4 }, - "26": { "ImportingFunctionsAndVariables": 8 }, - "27": { "Multimedia": 1 }, - "28": { "MultipleScripts": 15 }, - "29": { "Pointers": 1 }, - "30": { "RepExec": 2 }, - "31": { "RuntimeEngine": 1 }, - "32": { "ScriptAPIOverview": 1 }, - "33": { "ScriptingLanguage": 2 }, - "34": { "ScriptingTutorialPart1": 4 }, - "35": { "ScriptingTutorialPart2": 1 }, - "36": { "ScriptKeywords": 6 }, - "37": { "ScriptModules": 2 }, - "38": { "Settingupthegame": 3 }, - "39": { "SourceControl": 1 }, - "40": { "StandardTypes": 1 }, - "41": { "System": 1 }, - "42": { "SystemRequirements": 1 }, - "43": { "Templates": 1 }, - "44": { "TheScriptHeader": 5 }, - "45": { "Translations": 1 }, - "46": { "Tumbleweed": 1 }, - "47": { "Tumbleweed_door": 1 }, - "48": { "Tumbleweed_extensions": 1 }, - "49": { "Tumbleweed_unhandled": 1 }, - "50": { "UnicodeSupport": 4 }, - "51": { "UpgradeTo30": 1 }, - "52": { "UpgradeTo31": 3 }, - "53": { "UpgradeTo32": 1 }, - "54": { "UpgradeTo33": 1 }, - "55": { "UpgradeTo335": 1 }, - "56": { "UpgradeTo34": 2 }, - "57": { "UpgradeTo35": 2 }, - "58": { "UpgradeTo36": 4 }, - "59": { "UpgradingTo27": 4 } - }, - "scrname": { - "0": { "Character": 1 } - }, - "scroll": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "BuildAndroid": 2 }, - "2": { "Camera": 1 }, - "3": { "CustomDialogOptions": 2 }, - "4": { "EditorLogPanel": 1 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "InvWindow": 3 }, - "9": { "ListBox": 9 }, - "10": { "Tumbleweed_helper": 1 } - }, - "scrollable": { - "0": { "EditorGUI": 1 } - }, - "scrollbars": { - "0": { "EditorRoom": 1 } - }, - "scrolled": { - "0": { "InvWindow": 1 } - }, - "scrolling": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Camera": 2 }, - "4": { "DrawingSurface": 3 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Room": 2 }, - "7": { "InventoryItem": 1 }, - "8": { "Screen": 1 }, - "9": { "UpgradeTo35": 1 } - }, - "scrolls": { - "0": { "ListBox": 1 }, - "1": { "System": 1 } - }, - "scrollwheel": { - "0": { "EditorRoom": 1 } - }, - "scrx": { - "0": { "Viewport": 1 } - }, - "scry": { - "0": { "Viewport": 1 } - }, - "sdkmanager": { - "0": { "BuildAndroid": 1 } - }, - "sdl": { - "0": { "EngineConfigFile": 2 }, - "1": { "RuntimeEngine": 2 } - }, - "seamlessly": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "search": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "Dictionary": 2 }, - "2": { "ListBox": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "RuntimeEngine": 2 }, - "6": { "Set": 1 }, - "7": { "Translations": 2 } - }, - "searchable": { - "0": { "ContactingTheDevelopers": 1 } - }, - "searched": { - "0": { "Dictionary": 1 } - }, - "searches": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 1 } - }, - "searching": { - "0": { "Character": 1 }, - "1": { "Dictionary": 1 }, - "2": { "Set": 2 } - }, - "sec": { - "0": { "Globalfunctions_Screen": 2 }, - "1": { "Mouse": 2 } - }, - "second": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 3 }, - "2": { "acintro8": 4 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AudioChannel": 14 }, - "5": { "AudioClip": 2 }, - "6": { "AudioInScript": 1 }, - "7": { "Character": 5 }, - "8": { "DateTime": 2 }, - "9": { "DefaultSetup": 1 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "DynamicSprite": 1 }, - "13": { "EditorView": 1 }, - "14": { "EnginePluginRun-timeAPI": 2 }, - "15": { "EventTypes": 1 }, - "16": { "File": 2 }, - "17": { "Game": 4 }, - "18": { "Globalfunctions_Event": 1 }, - "19": { "Globalfunctions_General": 5 }, - "20": { "Globalfunctions_Wait": 3 }, - "21": { "ListBox": 2 }, - "22": { "Mouse": 1 }, - "23": { "Object": 1 }, - "24": { "Overlay": 2 }, - "25": { "RepExec": 2 }, - "26": { "ScriptingTutorialPart2": 1 }, - "27": { "ScriptKeywords": 3 }, - "28": { "Settingupthegame": 1 }, - "29": { "Speech": 1 }, - "30": { "Tumbleweed": 2 }, - "31": { "Tumbleweed_translation": 1 }, - "32": { "UpgradeTo33": 1 }, - "33": { "UpgradeTo34": 1 }, - "34": { "UpgradeTo36": 1 }, - "35": { "VoiceSpeech": 1 } - }, - "secondary": { - "0": { "GeneralSettings": 1 } - }, - "secondly": { - "0": { "acintro4": 1 } - }, - "seconds": { - "0": { "AudioChannel": 1 }, - "1": { "Character": 5 }, - "2": { "DateTime": 3 }, - "3": { "DynamicSprite": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_Screen": 2 }, - "6": { "Globalfunctions_Wait": 6 }, - "7": { "Overlay": 2 }, - "8": { "Settingupthegame": 3 } - }, - "secret": { - "0": { "Globalfunctions_General": 2 } - }, - "section": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro5": 2 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 1 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "AudioClip": 1 }, - "7": { "BuildAndroid": 1 }, - "8": { "Character": 5 }, - "9": { "Copyright": 1 }, - "10": { "DrawingSurface": 2 }, - "11": { "EditorGUI": 1 }, - "12": { "EditorSprite": 1 }, - "13": { "EventTypes": 1 }, - "14": { "FAQ": 1 }, - "15": { "File": 1 }, - "16": { "Game": 1 }, - "17": { "GameSavesCompatibility": 3 }, - "18": { "GeneralSettings": 1 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Globalfunctions_Message": 5 }, - "21": { "GUIControl": 2 }, - "22": { "Keycodes": 1 }, - "23": { "OtherFeatures": 1 }, - "24": { "Overlay": 2 }, - "25": { "Plugins": 2 }, - "26": { "Pointers": 1 }, - "27": { "Preprocessor": 1 }, - "28": { "ScriptingLanguage": 1 }, - "29": { "ScriptKeywords": 1 }, - "30": { "Settingupthegame": 4 }, - "31": { "String": 1 }, - "32": { "SystemLimits": 2 }, - "33": { "Translations": 1 }, - "34": { "Tutorial": 1 }, - "35": { "UnicodeSupport": 1 }, - "36": { "UpgradeTo31": 1 }, - "37": { "UpgradeTo33": 3 }, - "38": { "UpgradeTo34": 2 }, - "39": { "UpgradingTo27": 1 } - }, - "sectionend": { - "0": { "Preprocessor": 1 } - }, - "sections": { - "0": { "MusicAndSound": 1 }, - "1": { "Preprocessor": 1 } - }, - "sectionstart": { - "0": { "Preprocessor": 1 } - }, - "security": { - "0": { "File": 2 }, - "1": { "MusicAndSound": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 } - }, - "see": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 10 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 8 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 4 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 2 }, - "9": { "AudioClip": 2 }, - "10": { "AutonumberSpeechFiles": 1 }, - "11": { "BlockingScripts": 1 }, - "12": { "Camera": 2 }, - "13": { "Character": 14 }, - "14": { "ColoursEditor": 2 }, - "15": { "Constants": 2 }, - "16": { "ContactingTheDevelopers": 1 }, - "17": { "DateTime": 6 }, - "18": { "Debuggingfeatures": 1 }, - "19": { "Dialog": 4 }, - "20": { "DialogOptionsRenderingInfo": 1 }, - "21": { "DialogScript": 4 }, - "22": { "Dictionary": 1 }, - "23": { "DistGame": 1 }, - "24": { "DrawingSurface": 2 }, - "25": { "DynamicSprite": 1 }, - "26": { "EditorGUI": 4 }, - "27": { "EditorInventoryItems": 1 }, - "28": { "EditorLogPanel": 1 }, - "29": { "EditorRoom": 1 }, - "30": { "EditorSprite": 1 }, - "31": { "EditorView": 2 }, - "32": { "EngineConfigFile": 1 }, - "33": { "EnginePluginDesign-timeAPI": 1 }, - "34": { "EnginePluginRun-timeAPI": 5 }, - "35": { "Game": 3 }, - "36": { "GameEventsOrder": 3 }, - "37": { "GameSavesCompatibility": 2 }, - "38": { "Gamevariables": 4 }, - "39": { "GeneralSettings": 4 }, - "40": { "Globalfunctions_General": 3 }, - "41": { "Globalfunctions_Message": 5 }, - "42": { "Globalfunctions_Screen": 1 }, - "43": { "Globalfunctions_Wait": 4 }, - "44": { "ImportingFunctionsAndVariables": 4 }, - "45": { "Lipsync": 1 }, - "46": { "ListBox": 1 }, - "47": { "Multimedia": 1 }, - "48": { "MusicAndSound": 4 }, - "49": { "Object": 3 }, - "50": { "Overlay": 2 }, - "51": { "Plugins": 1 }, - "52": { "Preprocessor": 3 }, - "53": { "Region": 1 }, - "54": { "RepExec": 1 }, - "55": { "Room": 1 }, - "56": { "RuntimeEngine": 1 }, - "57": { "ScriptAPIOverview": 1 }, - "58": { "ScriptingTutorialPart1": 1 }, - "59": { "ScriptingTutorialPart2": 1 }, - "60": { "ScriptKeywords": 2 }, - "61": { "Set": 1 }, - "62": { "Settingupthegame": 10 }, - "63": { "SourceControl": 1 }, - "64": { "String": 2 }, - "65": { "Templates": 1 }, - "66": { "TextParser": 2 }, - "67": { "Translations": 2 }, - "68": { "Tumbleweed": 1 }, - "69": { "Tumbleweed_extensions": 1 }, - "70": { "Tumbleweed_movement": 1 }, - "71": { "Tumbleweed_translation": 1 }, - "72": { "UnicodeSupport": 2 }, - "73": { "UpgradeTo30": 1 }, - "74": { "UpgradeTo32": 2 }, - "75": { "UpgradeTo34": 1 }, - "76": { "UpgradeTo35": 4 }, - "77": { "UpgradeTo36": 2 }, - "78": { "UpgradingTo27": 3 }, - "79": { "ViewFrame": 1 } - }, - "see-through": { - "0": { "acintro7": 2 } - }, - "seeing": { - "0": { "acintro2": 1 }, - "1": { "Parser": 1 } - }, - "seek": { - "0": { "AudioChannel": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "seekable": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "seeking": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "seem": { - "0": { "FAQ": 2 }, - "1": { "GameEventsOrder": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Pointers": 1 }, - "4": { "ScriptKeywords": 1 }, - "5": { "TheScriptHeader": 1 }, - "6": { "Tumbleweed_extensions": 1 }, - "7": { "UpgradeTo30": 1 } - }, - "seems": { - "0": { "FAQ": 1 } - }, - "seen": { - "0": { "Character": 2 }, - "1": { "Dictionary": 2 }, - "2": { "Game": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "GUI": 1 }, - "5": { "Multimedia": 1 }, - "6": { "MultipleScripts": 1 }, - "7": { "Parser": 1 }, - "8": { "Screen": 3 }, - "9": { "ScriptingTutorialPart1": 1 }, - "10": { "Set": 2 }, - "11": { "UpgradeTo35": 1 }, - "12": { "Viewport": 3 } - }, - "sees": { - "0": { "UpgradeTo35": 1 } - }, - "segment": { - "0": { "GeneralSettings": 1 } - }, - "segments": { - "0": { "GeneralSettings": 1 } - }, - "select": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 5 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 5 }, - "7": { "acintro8": 2 }, - "8": { "acintro9": 2 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "AutonumberSpeechFiles": 1 }, - "11": { "BuildAndroid": 5 }, - "12": { "Character": 1 }, - "13": { "ColoursEditor": 2 }, - "14": { "Dialog": 1 }, - "15": { "EditorCharacter": 1 }, - "16": { "EditorPlugins": 1 }, - "17": { "EditorRoom": 4 }, - "18": { "EditorSprite": 4 }, - "19": { "FAQ": 2 }, - "20": { "Game": 1 }, - "21": { "GeneralSettings": 7 }, - "22": { "Globalfunctions_General": 3 }, - "23": { "RuntimeEngine": 1 }, - "24": { "Settingupthegame": 5 }, - "25": { "Setup": 1 }, - "26": { "TemplateBASS": 1 }, - "27": { "Templates": 1 }, - "28": { "TemplateVerbcoin": 1 }, - "29": { "TextParser": 1 }, - "30": { "Translations": 2 }, - "31": { "UpgradeTo31": 1 }, - "32": { "UpgradeTo35": 2 } - }, - "selected": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 4 }, - "4": { "acintro5": 5 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 1 }, - "7": { "acintro9": 1 }, - "8": { "AudioClip": 1 }, - "9": { "AutonumberSpeechFiles": 1 }, - "10": { "BuildAndroid": 1 }, - "11": { "Button": 2 }, - "12": { "ColoursEditor": 1 }, - "13": { "Dialog": 2 }, - "14": { "DialogOptionsRenderingInfo": 4 }, - "15": { "DistGame": 2 }, - "16": { "EditorCursor": 1 }, - "17": { "EditorPlugins": 1 }, - "18": { "EditorRoom": 8 }, - "19": { "EditorSprite": 3 }, - "20": { "EditorView": 2 }, - "21": { "EnginePluginDesign-timeAPI": 3 }, - "22": { "Gamevariables": 2 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_Event": 2 }, - "25": { "InventoryItem": 2 }, - "26": { "KeyboardShortcuts": 2 }, - "27": { "ListBox": 8 }, - "28": { "Settingupthegame": 1 }, - "29": { "Tumbleweed_actions": 1 }, - "30": { "Tumbleweed_helper": 1 }, - "31": { "UpgradeTo35": 1 }, - "32": { "UpgradingTo27": 1 } - }, - "selectedItem": { - "0": { "ListBox": 2 } - }, - "selectedItemText": { - "0": { "ListBox": 1 } - }, - "selectedText": { - "0": { "ListBox": 1 } - }, - "selecting": { - "0": { "acintro3": 1 }, - "1": { "Dialog": 1 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "EditorRoom": 2 }, - "4": { "EditorSprite": 2 }, - "5": { "Settingupthegame": 1 }, - "6": { "TextParser": 1 }, - "7": { "TroubleshootingWindowsZoneID": 1 } - }, - "selection": { - "0": { "acintro3": 1 }, - "1": { "acintro6": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "Dialog": 1 }, - "4": { "EditorGUI": 3 }, - "5": { "EditorSprite": 3 }, - "6": { "EngineConfigFile": 9 }, - "7": { "GraphicsDriver": 1 }, - "8": { "KeyboardShortcuts": 3 }, - "9": { "ListBox": 1 }, - "10": { "Settingupthegame": 2 }, - "11": { "Setup": 1 }, - "12": { "UpgradeTo341": 1 }, - "13": { "UpgradeTo36": 1 } - }, - "selector": { - "0": { "Settingupthegame": 1 }, - "1": { "UpgradeTo34": 1 }, - "2": { "UpgradeTo341": 1 } - }, - "selects": { - "0": { "acintro5": 1 }, - "1": { "acintro8": 5 }, - "2": { "Dialog": 1 }, - "3": { "DialogOptionsRenderingInfo": 1 }, - "4": { "DialogScript": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EventTypes": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Setup": 1 }, - "9": { "Tumbleweed": 1 } - }, - "self-explanatory": { - "0": { "acintro9": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "GlobalVariables": 1 }, - "4": { "Settingupthegame": 1 } - }, - "sell": { - "0": { "acintro8": 1 } - }, - "selling": { - "0": { "acintro8": 1 } - }, - "semi-blocking": { - "0": { "Tumbleweed_movement": 2 } - }, - "semi-completed": { - "0": { "Templates": 1 } - }, - "semi-transparent": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 } - }, - "semicolon": { - "0": { "ScriptingTutorialPart1": 6 }, - "1": { "ScriptingTutorialPart2": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "semicolons": { - "0": { "ScriptingTutorialPart1": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "send": { - "0": { "AnonymousUsageInfo": 3 }, - "1": { "ContactingTheDevelopers": 2 }, - "2": { "Tumbleweed_door": 1 } - }, - "sending": { - "0": { "DistGame": 1 }, - "1": { "Templates": 1 } - }, - "sends": { - "0": { "AnonymousUsageInfo": 2 } - }, - "sense": { - "0": { "EditorFont": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "OOProgramming": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "UpgradeTo31": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "sensible": { - "0": { "acintro4": 2 }, - "1": { "acintro8": 1 }, - "2": { "UpgradeTo30": 1 } - }, - "sensitive": { - "0": { "Dictionary": 1 }, - "1": { "ScriptingTutorialPart1": 2 }, - "2": { "Set": 1 }, - "3": { "String": 1 } - }, - "sensitivity": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 }, - "2": { "String": 7 } - }, - "sent": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "sentence": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "TextParser": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "sentences": { - "0": { "Globalfunctions_General": 1 } - }, - "separate": { - "0": { "acintro": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 2 }, - "4": { "acintro6": 2 }, - "5": { "DistGame": 1 }, - "6": { "EditorSprite": 2 }, - "7": { "EditorView": 1 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "EnginePlugins": 1 }, - "10": { "Game": 1 }, - "11": { "GameSavesCompatibility": 2 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "ImportingFunctionsAndVariables": 2 }, - "15": { "Keycodes": 2 }, - "16": { "Lipsync": 2 }, - "17": { "MultipleScripts": 1 }, - "18": { "Pointers": 2 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "ScriptKeywords": 2 }, - "21": { "Settingupthegame": 1 }, - "22": { "TemplateSierraStyle": 1 }, - "23": { "TheScriptHeader": 1 }, - "24": { "Tumbleweed": 1 }, - "25": { "UpgradeTo33": 1 }, - "26": { "UpgradeTo36": 1 }, - "27": { "UpgradingTo27": 1 }, - "28": { "VoiceSpeech": 1 } - }, - "separated": { - "0": { "GeneralSettings": 1 }, - "1": { "Lipsync": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "TextParser": 1 }, - "4": { "Translations": 1 } - }, - "separately": { - "0": { "AudioInScript": 1 }, - "1": { "DistGame": 2 }, - "2": { "EventTypes": 1 }, - "3": { "Game": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "MIDI-playback": 1 }, - "7": { "Multimedia": 1 }, - "8": { "Object": 1 } - }, - "separating": { - "0": { "GeneralSettings": 1 } - }, - "separator": { - "0": { "Tumbleweed_extensions": 1 } - }, - "sequence": { - "0": { "acintro7": 3 }, - "1": { "Dictionary": 1 }, - "2": { "EditorView": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GameEventsOrder": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "Set": 1 }, - "8": { "String": 1 } - }, - "sequences": { - "0": { "acintro7": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Settingupthegame": 2 } - }, - "sequentially": { - "0": { "DistGame": 1 } - }, - "serialized": { - "0": { "DistGame": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "serializedData": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "series": { - "0": { "Character": 1 }, - "1": { "ScriptKeywords": 2 } - }, - "serious": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "FAQ": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "TheScriptHeader": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "serve": { - "0": { "Character": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "GameSavesCompatibility": 1 } - }, - "server": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "DistGame": 2 }, - "2": { "FAQ": 1 } - }, - "serves": { - "0": { "AudioClip": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 1 }, - "3": { "DistGame": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "Object": 1 } - }, - "services": { - "0": { "Globalfunctions_General": 1 } - }, - "serving": { - "0": { "DistGame": 1 } - }, - "session": { - "0": { "DynamicSprite": 1 }, - "1": { "EditorLogPanel": 2 }, - "2": { "EnginePluginDesign-timeAPI": 1 } - }, - "set": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 5 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 6 }, - "7": { "acintro8": 7 }, - "8": { "acintro9": 4 }, - "9": { "AdvancedRoomFeatures": 2 }, - "10": { "AudioChannel": 4 }, - "11": { "AudioClip": 3 }, - "12": { "AudioInScript": 2 }, - "13": { "AutonumberSpeechFiles": 1 }, - "14": { "BuildAndroid": 9 }, - "15": { "Button": 5 }, - "16": { "Camera": 5 }, - "17": { "Character": 67 }, - "18": { "ColoursEditor": 2 }, - "19": { "CustomDialogOptions": 7 }, - "20": { "CustomProperties": 2 }, - "21": { "Debuggingfeatures": 2 }, - "22": { "DefaultSetup": 5 }, - "23": { "Dialog": 1 }, - "24": { "DialogOptionsRenderingInfo": 11 }, - "25": { "Dictionary": 2 }, - "26": { "DistGame": 1 }, - "27": { "DrawingSurface": 2 }, - "28": { "DynamicSprite": 3 }, - "29": { "EditorCursor": 1 }, - "30": { "EditorFont": 2 }, - "31": { "EditorGUI": 15 }, - "32": { "EditorInventoryItems": 3 }, - "33": { "EditorPlugins": 2 }, - "34": { "EditorPreferences": 2 }, - "35": { "EditorRoom": 2 }, - "36": { "EditorSprite": 1 }, - "37": { "EditorView": 1 }, - "38": { "EngineConfigFile": 5 }, - "39": { "EnginePluginDesign-timeAPI": 2 }, - "40": { "EnginePluginRun-timeAPI": 13 }, - "41": { "FAQ": 8 }, - "42": { "Game": 13 }, - "43": { "GameSavesCompatibility": 2 }, - "44": { "Gamevariables": 7 }, - "45": { "GeneralSettings": 8 }, - "46": { "Globalfunctions_Event": 3 }, - "47": { "Globalfunctions_General": 24 }, - "48": { "Globalfunctions_Message": 2 }, - "49": { "Globalfunctions_Palette": 1 }, - "50": { "Globalfunctions_Room": 5 }, - "51": { "Globalfunctions_Screen": 2 }, - "52": { "GlobalVariables": 3 }, - "53": { "GUI": 7 }, - "54": { "GUIControl": 10 }, - "55": { "Hotspot": 5 }, - "56": { "Introduction": 1 }, - "57": { "InventoryItem": 5 }, - "58": { "InvWindow": 4 }, - "59": { "Lipsync": 3 }, - "60": { "ListBox": 2 }, - "61": { "MIDI-playback": 1 }, - "62": { "Mouse": 5 }, - "63": { "Multimedia": 2 }, - "64": { "MusicAndSound": 5 }, - "65": { "Object": 38 }, - "66": { "ObsoleteScriptAPI": 1 }, - "67": { "OOProgramming": 10 }, - "68": { "Plugins": 1 }, - "69": { "Pointers": 4 }, - "70": { "Preprocessor": 1 }, - "71": { "Region": 6 }, - "72": { "Room": 11 }, - "73": { "RuntimeEngine": 2 }, - "74": { "Screen": 2 }, - "75": { "ScriptingTutorialPart1": 7 }, - "76": { "ScriptingTutorialPart2": 2 }, - "77": { "ScriptKeywords": 2 }, - "78": { "Set": 1 }, - "79": { "Settingupthegame": 28 }, - "80": { "Setup": 1 }, - "81": { "Slider": 7 }, - "82": { "Speech": 10 }, - "83": { "StandardEnums": 1 }, - "84": { "String": 6 }, - "85": { "System": 5 }, - "86": { "SystemLimits": 1 }, - "87": { "TemplateBASS": 1 }, - "88": { "Templates": 1 }, - "89": { "Translations": 5 }, - "90": { "Tumbleweed": 3 }, - "91": { "Tumbleweed_door": 5 }, - "92": { "Tumbleweed_extensions": 1 }, - "93": { "Tumbleweed_helper": 1 }, - "94": { "Tumbleweed_movement": 2 }, - "95": { "UnicodeSupport": 1 }, - "96": { "UpgradeTo32": 1 }, - "97": { "UpgradeTo33": 4 }, - "98": { "UpgradeTo335": 1 }, - "99": { "UpgradeTo34": 2 }, - "100": { "UpgradeTo341": 1 }, - "101": { "UpgradeTo35": 1 }, - "102": { "UpgradeTo36": 6 }, - "103": { "UpgradingTo27": 2 }, - "104": { "ViewFrame": 1 } - }, - "seti": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "OOProgramming": 3 } - }, - "sets": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 3 }, - "2": { "AudioChannel": 4 }, - "3": { "Button": 10 }, - "4": { "Camera": 5 }, - "5": { "Character": 41 }, - "6": { "DialogOptionsRenderingInfo": 9 }, - "7": { "DrawingSurface": 2 }, - "8": { "DynamicSprite": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorInventoryItems": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "Game": 8 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Message": 3 }, - "16": { "GUI": 14 }, - "17": { "GUIControl": 8 }, - "18": { "Hotspot": 3 }, - "19": { "InventoryItem": 5 }, - "20": { "InvWindow": 6 }, - "21": { "Label": 4 }, - "22": { "ListBox": 13 }, - "23": { "Mouse": 5 }, - "24": { "Object": 17 }, - "25": { "Overlay": 7 }, - "26": { "Region": 1 }, - "27": { "Room": 2 }, - "28": { "Screen": 1 }, - "29": { "ScriptKeywords": 2 }, - "30": { "Settingupthegame": 1 }, - "31": { "Setup": 1 }, - "32": { "Slider": 9 }, - "33": { "Speech": 10 }, - "34": { "System": 5 }, - "35": { "SystemLimits": 1 }, - "36": { "TextBox": 4 }, - "37": { "TextWindowGUI": 2 }, - "38": { "Translations": 4 }, - "39": { "Tumbleweed": 1 }, - "40": { "Tumbleweed_translation": 1 }, - "41": { "UpgradeTo36": 1 }, - "42": { "ViewFrame": 2 }, - "43": { "Viewport": 7 } - }, - "setter": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "OOProgramming": 4 }, - "2": { "ScriptKeywords": 1 } - }, - "setters": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "setting": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "AdvancedRoomFeatures": 7 }, - "4": { "AudioChannel": 1 }, - "5": { "AudioClip": 1 }, - "6": { "AudioInScript": 1 }, - "7": { "Button": 2 }, - "8": { "Character": 29 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "CustomProperties": 3 }, - "11": { "DefaultSetup": 1 }, - "12": { "Dialog": 2 }, - "13": { "DialogOptionsRenderingInfo": 3 }, - "14": { "DistGame": 1 }, - "15": { "DrawingSurface": 1 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorGUI": 4 }, - "18": { "EditorInventoryItems": 1 }, - "19": { "EditorPreferences": 2 }, - "20": { "EditorRoom": 1 }, - "21": { "EditorView": 2 }, - "22": { "EngineConfigFile": 1 }, - "23": { "EnginePluginRun-timeAPI": 1 }, - "24": { "FAQ": 1 }, - "25": { "Game": 7 }, - "26": { "GeneralSettings": 13 }, - "27": { "Globalfunctions_General": 5 }, - "28": { "Globalfunctions_Message": 1 }, - "29": { "Globalfunctions_Room": 2 }, - "30": { "GUI": 5 }, - "31": { "GUIControl": 6 }, - "32": { "Hotspot": 4 }, - "33": { "InventoryItem": 3 }, - "34": { "InvWindow": 1 }, - "35": { "ListBox": 1 }, - "36": { "MIDI-playback": 1 }, - "37": { "Mouse": 3 }, - "38": { "MusicAndSound": 2 }, - "39": { "Object": 17 }, - "40": { "Overlay": 3 }, - "41": { "Region": 6 }, - "42": { "Room": 3 }, - "43": { "Screen": 2 }, - "44": { "ScriptKeywords": 1 }, - "45": { "Settingupthegame": 3 }, - "46": { "Slider": 1 }, - "47": { "SourceControl": 1 }, - "48": { "Speech": 4 }, - "49": { "System": 1 }, - "50": { "UnicodeSupport": 2 }, - "51": { "UpgradeTo31": 1 }, - "52": { "UpgradeTo33": 2 }, - "53": { "UpgradeTo34": 2 }, - "54": { "UpgradeTo35": 2 }, - "55": { "UpgradeTo36": 9 }, - "56": { "ViewFrame": 1 }, - "57": { "Viewport": 1 } - }, - "settings": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "BackingUpYourGame": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "Character": 1 }, - "5": { "DefaultSetup": 4 }, - "6": { "DistGame": 1 }, - "7": { "EditorGUI": 2 }, - "8": { "EditorSprite": 6 }, - "9": { "FAQ": 2 }, - "10": { "File": 1 }, - "11": { "GeneralSettings": 3 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "GUIControl": 1 }, - "14": { "MusicAndSound": 1 }, - "15": { "Region": 1 }, - "16": { "RuntimeEngine": 1 }, - "17": { "ScriptAPIOverview": 1 }, - "18": { "Settingupthegame": 6 }, - "19": { "Setup": 4 }, - "20": { "Slider": 1 }, - "21": { "System": 3 }, - "22": { "TemplateSierraStyle": 1 }, - "23": { "TroubleshootingWindowsZoneID": 2 }, - "24": { "Tumbleweed": 1 }, - "25": { "UpgradeTo33": 3 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo35": 1 }, - "28": { "UpgradeTo36": 1 }, - "29": { "UpgradeTo361": 1 } - }, - "setup": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro8": 1 }, - "5": { "ColoursEditor": 2 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "DefaultSetup": 8 }, - "8": { "DistGame": 6 }, - "9": { "EngineConfigFile": 5 }, - "10": { "FAQ": 2 }, - "11": { "File": 1 }, - "12": { "GeneralSettings": 3 }, - "13": { "Mouse": 1 }, - "14": { "RuntimeEngine": 7 }, - "15": { "Settingupthegame": 4 }, - "16": { "Setup": 4 }, - "17": { "System": 1 }, - "18": { "TemplateVerbcoin": 1 }, - "19": { "Tumbleweed": 3 }, - "20": { "Tumbleweed_door": 1 }, - "21": { "UpgradeTo335": 3 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo341": 2 }, - "24": { "UpgradeTo36": 1 } - }, - "several": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro6": 1 }, - "4": { "DialogScript": 1 }, - "5": { "DistGame": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "FAQ": 2 }, - "8": { "ImportingFunctionsAndVariables": 2 }, - "9": { "MusicAndSound": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "ScriptingTutorialPart2": 1 }, - "12": { "ScriptKeywords": 3 }, - "13": { "StandardEnums": 2 }, - "14": { "Tumbleweed": 1 }, - "15": { "Tumbleweed_translation": 1 }, - "16": { "UpgradeTo32": 1 }, - "17": { "UpgradeTo33": 1 }, - "18": { "UpgradeTo341": 1 }, - "19": { "UpgradeTo35": 1 }, - "20": { "UpgradeTo36": 1 }, - "21": { "UpgradingTo27": 1 } - }, - "severily": { - "0": { "EditorPreferences": 1 } - }, - "shading": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "shadow": { - "0": { "Gamevariables": 2 } - }, - "shake": { - "0": { "Globalfunctions_Screen": 9 } - }, - "shakes": { - "0": { "Globalfunctions_Screen": 2 } - }, - "shakiness": { - "0": { "Globalfunctions_Screen": 1 } - }, - "shaking": { - "0": { "GameEventsOrder": 1 } - }, - "shaky": { - "0": { "Globalfunctions_Screen": 1 } - }, - "shape": { - "0": { "Settingupthegame": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "share": { - "0": { "CustomProperties": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Game": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "Lipsync": 1 }, - "7": { "MIDI-playback": 1 }, - "8": { "MultipleScripts": 1 }, - "9": { "ScriptModules": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "Templates": 1 }, - "12": { "TheScriptHeader": 1 } - }, - "shared": { - "0": { "DefaultSetup": 4 }, - "1": { "EngineConfigFile": 2 }, - "2": { "File": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "ListBox": 1 }, - "5": { "Overlay": 4 }, - "6": { "RuntimeEngine": 3 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "ScriptModules": 1 }, - "9": { "Setup": 3 } - }, - "sharing": { - "0": { "Credits": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Overlay": 1 } - }, - "she": { - "0": { "Tumbleweed_movement": 1 } - }, - "shelf": { - "0": { "Tumbleweed": 1 } - }, - "shift": { - "0": { "acintro1": 1 }, - "1": { "UpgradeTo36": 3 } - }, - "shift-clicking": { - "0": { "ColoursEditor": 1 } - }, - "shifted": { - "0": { "Camera": 1 }, - "1": { "Character": 2 }, - "2": { "Game": 1 }, - "3": { "Screen": 1 }, - "4": { "UpgradeTo36": 1 }, - "5": { "Viewport": 1 } - }, - "shipping": { - "0": { "RuntimeEngine": 1 } - }, - "short": { - "0": { "acintro1": 1 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Game": 1 }, - "4": { "MusicAndSound": 1 }, - "5": { "OOProgramming": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "ScriptKeywords": 3 }, - "8": { "StringFormats": 1 }, - "9": { "System": 1 }, - "10": { "TextParser": 3 } - }, - "shortcut": { - "0": { "EditorCommandLineOptions": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "Introduction": 1 }, - "3": { "Tumbleweed_extensions": 1 } - }, - "shortcuts": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "KeyboardShortcuts": 2 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "Tumbleweed_actions": 1 } - }, - "shorten": { - "0": { "acintro7": 1 } - }, - "shorter": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "shortest": { - "0": { "Game": 1 } - }, - "shorthand": { - "0": { "String": 1 }, - "1": { "UpgradingTo27": 1 } - }, - "shot": { - "0": { "ColoursEditor": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "should": { - "0": { "acintro1": 7 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 9 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 1 }, - "8": { "AnonymousUsageInfo": 1 }, - "9": { "BackingUpYourGame": 2 }, - "10": { "Button": 1 }, - "11": { "Character": 9 }, - "12": { "Copyright": 1 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "DateTime": 1 }, - "15": { "Dialog": 2 }, - "16": { "DialogOptionsRenderingInfo": 1 }, - "17": { "DialogScript": 2 }, - "18": { "DistGame": 3 }, - "19": { "DynamicSprite": 4 }, - "20": { "EditorGUI": 2 }, - "21": { "EditorInventoryItems": 2 }, - "22": { "EditorPlugins": 5 }, - "23": { "EditorPreferences": 8 }, - "24": { "EditorRoom": 3 }, - "25": { "EditorView": 1 }, - "26": { "EngineConfigFile": 3 }, - "27": { "EnginePluginDesign-timeAPI": 10 }, - "28": { "EnginePluginRun-timeAPI": 49 }, - "29": { "FAQ": 5 }, - "30": { "File": 6 }, - "31": { "Game": 5 }, - "32": { "GameSavesCompatibility": 1 }, - "33": { "Gamevariables": 2 }, - "34": { "GeneralSettings": 12 }, - "35": { "Globalfunctions_Event": 1 }, - "36": { "Globalfunctions_General": 4 }, - "37": { "Globalfunctions_Palette": 1 }, - "38": { "Globalfunctions_Screen": 1 }, - "39": { "GlobalVariables": 2 }, - "40": { "GraphicsDriver": 2 }, - "41": { "GUI": 3 }, - "42": { "ImportingFunctionsAndVariables": 5 }, - "43": { "Introduction": 2 }, - "44": { "InvWindow": 2 }, - "45": { "Keycodes": 1 }, - "46": { "Lipsync": 2 }, - "47": { "Maths": 3 }, - "48": { "MIDI-playback": 2 }, - "49": { "Mouse": 1 }, - "50": { "Object": 3 }, - "51": { "Overlay": 2 }, - "52": { "Plugins": 4 }, - "53": { "Pointers": 1 }, - "54": { "Screen": 1 }, - "55": { "ScriptingTutorialPart1": 6 }, - "56": { "ScriptKeywords": 1 }, - "57": { "ScriptModules": 3 }, - "58": { "Settingupthegame": 3 }, - "59": { "Setup": 1 }, - "60": { "Speech": 3 }, - "61": { "StartingOff": 1 }, - "62": { "String": 1 }, - "63": { "System": 1 }, - "64": { "SystemLimits": 3 }, - "65": { "Templates": 3 }, - "66": { "TemplateVerbcoin": 1 }, - "67": { "TextParser": 3 }, - "68": { "TheScriptHeader": 1 }, - "69": { "Translations": 2 }, - "70": { "TroubleshootingWindowsZoneID": 1 }, - "71": { "Tumbleweed": 2 }, - "72": { "Tumbleweed_door": 2 }, - "73": { "Tumbleweed_player": 1 }, - "74": { "UnicodeSupport": 3 }, - "75": { "UpgradeTo30": 4 }, - "76": { "UpgradeTo31": 1 }, - "77": { "UpgradeTo32": 1 }, - "78": { "UpgradeTo335": 1 }, - "79": { "UpgradeTo341": 1 }, - "80": { "UpgradeTo35": 1 }, - "81": { "UpgradeTo36": 7 }, - "82": { "UpgradeTo361": 2 }, - "83": { "UpgradingTo27": 3 }, - "84": { "UpgradingTo271": 2 }, - "85": { "ViewFrame": 1 }, - "86": { "Viewport": 2 }, - "87": { "VoiceSpeech": 1 } - }, - "shouldn't": { - "0": { "Debuggingfeatures": 1 }, - "1": { "SystemLimits": 1 }, - "2": { "TroubleshootingWindowsZoneID": 1 }, - "3": { "UpgradeTo30": 1 } - }, - "shovel": { - "0": { "InventoryItem": 1 } - }, - "show": { - "0": { "acintro2": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro7": 1 }, - "3": { "Camera": 2 }, - "4": { "Dialog": 1 }, - "5": { "EditorCharacter": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorLogPanel": 1 }, - "10": { "EditorPreferences": 1 }, - "11": { "EditorRoom": 4 }, - "12": { "EngineConfigFile": 1 }, - "13": { "Gamevariables": 2 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_Screen": 1 }, - "16": { "InvWindow": 2 }, - "17": { "OOProgramming": 1 }, - "18": { "RepExec": 1 }, - "19": { "ScriptingTutorialPart2": 1 }, - "20": { "ScriptModules": 1 }, - "21": { "Settingupthegame": 2 }, - "22": { "TemplateBASS": 1 }, - "23": { "TemplateVerbcoin": 1 }, - "24": { "Tumbleweed_actions": 1 }, - "25": { "Tumbleweed_door": 2 }, - "26": { "UpgradingTo271": 1 }, - "27": { "Viewport": 1 } - }, - "showing": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 2 }, - "2": { "FAQ": 1 }, - "3": { "Settingupthegame": 1 }, - "4": { "Tumbleweed_helper": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "shown": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 1 }, - "6": { "acintro9": 2 }, - "7": { "Character": 2 }, - "8": { "CustomDialogOptions": 5 }, - "9": { "EditorCharacter": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EditorGUI": 2 }, - "12": { "EditorPreferences": 2 }, - "13": { "EditorRoom": 4 }, - "14": { "EnginePluginRun-timeAPI": 2 }, - "15": { "GeneralSettings": 1 }, - "16": { "Globalfunctions_General": 1 }, - "17": { "GUI": 4 }, - "18": { "GUIControl": 1 }, - "19": { "Lipsync": 1 }, - "20": { "ListBox": 4 }, - "21": { "Object": 1 }, - "22": { "ScriptAPIOverview": 1 }, - "23": { "Setup": 1 }, - "24": { "Speech": 2 }, - "25": { "TemplateBASS": 1 }, - "26": { "TextBox": 1 }, - "27": { "Tumbleweed_door": 1 }, - "28": { "UpgradeTo33": 1 }, - "29": { "UpgradeTo35": 1 }, - "30": { "UpgradeTo36": 1 }, - "31": { "UpgradeTo361": 1 } - }, - "shows": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "Dialog": 1 }, - "4": { "EditorCursor": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Pointers": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Viewport": 1 } - }, - "shrink": { - "0": { "FAQ": 1 }, - "1": { "Overlay": 2 }, - "2": { "Settingupthegame": 1 } - }, - "shrinking": { - "0": { "UpgradeTo36": 1 } - }, - "shrunk": { - "0": { "Camera": 3 }, - "1": { "Character": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Object": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "shut": { - "0": { "ScriptKeywords": 1 } - }, - "shuts": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "shutting": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "side": { - "0": { "acintro6": 2 }, - "1": { "acintro8": 1 }, - "2": { "Character": 6 }, - "3": { "DrawingSurface": 1 }, - "4": { "EditorGUI": 3 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 1 }, - "7": { "GUI": 1 }, - "8": { "Lipsync": 1 }, - "9": { "Overlay": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "RepExec": 1 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Speech": 4 }, - "15": { "System": 1 }, - "16": { "Tumbleweed": 3 }, - "17": { "Tumbleweed_movement": 1 } - }, - "sides": { - "0": { "DefaultSetup": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Setup": 1 } - }, - "sierra": { - "0": { "Gamevariables": 1 } - }, - "sierra-style": { - "0": { "Gamevariables": 2 }, - "1": { "Settingupthegame": 1 } - }, - "sign": { - "0": { "acintro3": 2 }, - "1": { "Pointers": 1 }, - "2": { "ScriptingTutorialPart1": 6 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "StringFormats": 1 }, - "5": { "Translations": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "signal": { - "0": { "DialogScript": 1 }, - "1": { "Preprocessor": 1 } - }, - "signature": { - "0": { "Preprocessor": 1 } - }, - "signed": { - "0": { "SystemLimits": 1 } - }, - "significant": { - "0": { "GraphicsDriver": 1 }, - "1": { "UpgradeTo34": 1 }, - "2": { "UpgradeTo36": 1 }, - "3": { "UpgradingTo27": 1 } - }, - "significantly": { - "0": { "acintro9": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Object": 1 }, - "6": { "UpgradingTo27": 3 } - }, - "signifies": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EditorRoom": 1 } - }, - "signify": { - "0": { "DialogScript": 2 }, - "1": { "GeneralSettings": 1 }, - "2": { "TextParser": 1 } - }, - "silence": { - "0": { "AudioChannel": 1 }, - "1": { "Game": 1 } - }, - "silently": { - "0": { "AudioClip": 1 } - }, - "similar": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 3 }, - "4": { "Character": 1 }, - "5": { "CustomDialogOptions": 2 }, - "6": { "DefaultSetup": 1 }, - "7": { "DialogScript": 1 }, - "8": { "DynamicSprite": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorRoom": 2 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EnginePluginRun-timeAPI": 1 }, - "13": { "FAQ": 4 }, - "14": { "Game": 1 }, - "15": { "GameSavesCompatibility": 3 }, - "16": { "GeneralSettings": 1 }, - "17": { "Globalfunctions_Event": 1 }, - "18": { "Globalfunctions_General": 2 }, - "19": { "Globalfunctions_Message": 1 }, - "20": { "GUI": 1 }, - "21": { "Hotspot": 1 }, - "22": { "InventoryItem": 1 }, - "23": { "Mouse": 1 }, - "24": { "MusicAndSound": 2 }, - "25": { "Object": 1 }, - "26": { "Overlay": 3 }, - "27": { "Pointers": 3 }, - "28": { "Preprocessor": 2 }, - "29": { "RepExec": 1 }, - "30": { "ScriptingTutorialPart2": 1 }, - "31": { "Settingupthegame": 1 }, - "32": { "System": 1 }, - "33": { "SystemLimits": 1 }, - "34": { "Templates": 1 }, - "35": { "Translations": 1 }, - "36": { "Tumbleweed": 1 }, - "37": { "Tumbleweed_movement": 1 }, - "38": { "UpgradeTo31": 1 }, - "39": { "UpgradeTo33": 1 }, - "40": { "UpgradeTo34": 1 }, - "41": { "UpgradeTo341": 2 }, - "42": { "UpgradeTo36": 3 }, - "43": { "UpgradeTo361": 1 } - }, - "similarly": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "EditorPlugins": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "simple": { - "0": { "acintro3": 2 }, - "1": { "acintro5": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 2 }, - "4": { "Character": 1 }, - "5": { "CustomProperties": 1 }, - "6": { "DynamicArrays": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "GeneralSettings": 1 }, - "12": { "GlobalVariables": 1 }, - "13": { "GraphicsDriver": 1 }, - "14": { "MusicAndSound": 1 }, - "15": { "Overlay": 1 }, - "16": { "Pointers": 3 }, - "17": { "ScriptingTutorialPart1": 1 }, - "18": { "ScriptingTutorialPart2": 1 }, - "19": { "StandardTypes": 1 }, - "20": { "Tutorial": 1 }, - "21": { "UpgradeTo32": 1 }, - "22": { "UpgradeTo34": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 1 }, - "25": { "UpgradingTo271": 1 } - }, - "simpler": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "ScriptingTutorialPart1": 1 }, - "4": { "TemplateVerbcoin": 1 } - }, - "simplified": { - "0": { "GlobalVariables": 1 }, - "1": { "Tumbleweed": 1 } - }, - "simplifies": { - "0": { "DialogScript": 1 }, - "1": { "Game": 1 } - }, - "simplify": { - "0": { "TemplateBASS": 1 } - }, - "simplistic": { - "0": { "Overlay": 1 } - }, - "simply": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 4 }, - "5": { "acintro9": 2 }, - "6": { "Camera": 2 }, - "7": { "Character": 3 }, - "8": { "Dialog": 1 }, - "9": { "DistGame": 3 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "EditorCommandLineOptions": 1 }, - "13": { "EditorCursor": 1 }, - "14": { "EditorFont": 1 }, - "15": { "EditorGUI": 2 }, - "16": { "EnginePluginRun-timeAPI": 6 }, - "17": { "FAQ": 1 }, - "18": { "GameSavesCompatibility": 1 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Globalfunctions_Room": 1 }, - "21": { "GUI": 1 }, - "22": { "Hotspot": 1 }, - "23": { "InventoryItem": 1 }, - "24": { "Lipsync": 1 }, - "25": { "MIDI-playback": 1 }, - "26": { "Mouse": 1 }, - "27": { "MultipleScripts": 1 }, - "28": { "Object": 3 }, - "29": { "RepExec": 2 }, - "30": { "ScriptingTutorialPart1": 2 }, - "31": { "ScriptKeywords": 3 }, - "32": { "Settingupthegame": 1 }, - "33": { "String": 1 }, - "34": { "Templates": 1 }, - "35": { "TextParser": 1 }, - "36": { "Translations": 2 }, - "37": { "Tumbleweed": 3 }, - "38": { "Tumbleweed_extensions": 1 }, - "39": { "UnicodeSupport": 1 }, - "40": { "UpgradeTo32": 2 }, - "41": { "UpgradeTo34": 1 }, - "42": { "UpgradeTo36": 1 }, - "43": { "UpgradingTo27": 1 }, - "44": { "Viewport": 2 } - }, - "simulate": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "Globalfunctions_Screen": 2 }, - "3": { "GUI": 1 }, - "4": { "Lipsync": 1 }, - "5": { "Mouse": 2 }, - "6": { "Multimedia": 1 }, - "7": { "OOProgramming": 1 }, - "8": { "Room": 1 } - }, - "simulated": { - "0": { "ColoursEditor": 1 }, - "1": { "Room": 1 } - }, - "simulates": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "Game": 1 } - }, - "simultaneous": { - "0": { "GraphicsDriver": 1 }, - "1": { "MusicAndSound": 1 }, - "2": { "UpgradeTo36": 2 } - }, - "simultaneously": { - "0": { "EditorRoom": 1 }, - "1": { "UnicodeSupport": 1 }, - "2": { "UpgradeTo32": 1 } - }, - "since": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 3 }, - "4": { "acintro9": 1 }, - "5": { "AudioClip": 1 }, - "6": { "BlockingScripts": 2 }, - "7": { "Character": 4 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DateTime": 2 }, - "10": { "Dialog": 1 }, - "11": { "DrawingSurface": 2 }, - "12": { "DynamicSprite": 2 }, - "13": { "EditorCharacter": 1 }, - "14": { "EditorCursor": 1 }, - "15": { "EditorFont": 1 }, - "16": { "EnginePluginDesign-timeAPI": 1 }, - "17": { "EnginePluginRun-timeAPI": 11 }, - "18": { "Game": 2 }, - "19": { "GameEventsOrder": 1 }, - "20": { "GeneralSettings": 3 }, - "21": { "Globalfunctions_Event": 5 }, - "22": { "Globalfunctions_General": 5 }, - "23": { "Globalfunctions_Room": 5 }, - "24": { "Globalfunctions_Screen": 1 }, - "25": { "GraphicsDriver": 1 }, - "26": { "GUI": 1 }, - "27": { "Keycodes": 4 }, - "28": { "ListBox": 3 }, - "29": { "Mouse": 2 }, - "30": { "Object": 2 }, - "31": { "OOProgramming": 1 }, - "32": { "RepExec": 1 }, - "33": { "Room": 1 }, - "34": { "ScriptAPIOverview": 1 }, - "35": { "ScriptingTutorialPart1": 2 }, - "36": { "ScriptingTutorialPart2": 4 }, - "37": { "ScriptKeywords": 3 }, - "38": { "Settingupthegame": 1 }, - "39": { "Setup": 1 }, - "40": { "String": 4 }, - "41": { "System": 4 }, - "42": { "TemplateSierraStyle": 1 }, - "43": { "Tumbleweed_translation": 1 }, - "44": { "UpgradeTo30": 2 }, - "45": { "UpgradeTo31": 1 }, - "46": { "UpgradeTo341": 1 }, - "47": { "UpgradeTo36": 1 }, - "48": { "UpgradingTo27": 1 }, - "49": { "UpgradingTo271": 1 } - }, - "sine": { - "0": { "Maths": 6 } - }, - "single": { - "0": { "acintro1": 1 }, - "1": { "Camera": 1 }, - "2": { "Dictionary": 1 }, - "3": { "DistGame": 3 }, - "4": { "DrawingSurface": 2 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EditorView": 7 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "File": 3 }, - "10": { "GameEventsOrder": 1 }, - "11": { "Gamevariables": 2 }, - "12": { "GraphicsDriver": 1 }, - "13": { "Label": 1 }, - "14": { "ScriptingTutorialPart1": 1 }, - "15": { "ScriptKeywords": 1 }, - "16": { "String": 1 }, - "17": { "SystemLimits": 1 }, - "18": { "TroubleshootingWindowsZoneID": 1 }, - "19": { "Tumbleweed": 2 }, - "20": { "Tumbleweed_extensions": 1 }, - "21": { "Tumbleweed_unhandled": 1 }, - "22": { "UnicodeSupport": 4 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 1 }, - "25": { "UpgradeTo361": 2 }, - "26": { "Viewport": 1 } - }, - "single-number": { - "0": { "ColoursEditor": 1 } - }, - "single-tasking": { - "0": { "EngineConfigFile": 1 } - }, - "single-threaded": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "sir": { - "0": { "acintro8": 1 } - }, - "site": { - "0": { "Introduction": 1 } - }, - "situation": { - "0": { "AudioClip": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 1 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "Dialog": 1 }, - "5": { "GUI": 1 }, - "6": { "GUIControl": 1 }, - "7": { "Hotspot": 1 }, - "8": { "InventoryItem": 1 }, - "9": { "Object": 1 }, - "10": { "ScriptKeywords": 1 } - }, - "situations": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "ScriptKeywords": 2 }, - "3": { "Settingupthegame": 1 }, - "4": { "System": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "size": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 4 }, - "3": { "AdvancedRoomFeatures": 6 }, - "4": { "AudioInScript": 1 }, - "5": { "Button": 4 }, - "6": { "Camera": 21 }, - "7": { "Character": 4 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DefaultSetup": 4 }, - "10": { "DialogOptionsRenderingInfo": 6 }, - "11": { "DistGame": 6 }, - "12": { "DrawingSurface": 2 }, - "13": { "DynamicArrays": 5 }, - "14": { "DynamicSprite": 9 }, - "15": { "EditorFont": 1 }, - "16": { "EditorGUI": 1 }, - "17": { "EditorLogPanel": 1 }, - "18": { "EditorRoom": 2 }, - "19": { "EngineConfigFile": 12 }, - "20": { "EnginePluginDesign-timeAPI": 2 }, - "21": { "EnginePluginRun-timeAPI": 10 }, - "22": { "FAQ": 2 }, - "23": { "Game": 3 }, - "24": { "GameSavesCompatibility": 21 }, - "25": { "Gamevariables": 5 }, - "26": { "GeneralSettings": 12 }, - "27": { "GlobalArrays": 1 }, - "28": { "Globalfunctions_Message": 1 }, - "29": { "Globalfunctions_Room": 1 }, - "30": { "GUI": 6 }, - "31": { "GUIControl": 2 }, - "32": { "ImportingFunctionsAndVariables": 1 }, - "33": { "KeyboardShortcuts": 3 }, - "34": { "ListBox": 1 }, - "35": { "Multimedia": 2 }, - "36": { "Object": 3 }, - "37": { "OOProgramming": 1 }, - "38": { "Overlay": 2 }, - "39": { "Room": 2 }, - "40": { "RuntimeEngine": 2 }, - "41": { "Screen": 4 }, - "42": { "ScriptKeywords": 2 }, - "43": { "Settingupthegame": 6 }, - "44": { "Setup": 2 }, - "45": { "System": 2 }, - "46": { "SystemLimits": 1 }, - "47": { "UpgradeTo33": 1 }, - "48": { "UpgradeTo35": 9 }, - "49": { "UpgradeTo36": 1 }, - "50": { "Viewport": 6 } - }, - "sized": { - "0": { "Button": 1 }, - "1": { "Camera": 1 }, - "2": { "DistGame": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 2 } - }, - "sizes": { - "0": { "DrawingSurface": 1 }, - "1": { "Game": 2 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "Multimedia": 1 }, - "5": { "UpgradeTo35": 2 }, - "6": { "Viewport": 1 } - }, - "sizing": { - "0": { "Camera": 2 } - }, - "skills": { - "0": { "acintro8": 1 } - }, - "skip": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 1 }, - "2": { "Character": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "File": 2 }, - "5": { "Game": 5 }, - "6": { "Gamevariables": 2 }, - "7": { "GeneralSettings": 2 }, - "8": { "Globalfunctions_Event": 1 }, - "9": { "Globalfunctions_General": 5 }, - "10": { "Globalfunctions_Wait": 4 }, - "11": { "Multimedia": 10 }, - "12": { "ObsoleteScriptAPI": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "Speech": 15 }, - "15": { "Tumbleweed": 1 }, - "16": { "UpgradeTo33": 1 } - }, - "skippable": { - "0": { "Game": 1 } - }, - "skipped": { - "0": { "AudioChannel": 2 }, - "1": { "Character": 1 }, - "2": { "EditorView": 1 }, - "3": { "EnginePluginRun-timeAPI": 5 }, - "4": { "Game": 2 }, - "5": { "Gamevariables": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 2 }, - "8": { "Globalfunctions_Wait": 7 }, - "9": { "ScriptKeywords": 1 } - }, - "skipping": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 4 }, - "2": { "Globalfunctions_General": 5 }, - "3": { "ObsoleteScriptAPI": 1 }, - "4": { "Speech": 1 } - }, - "skips": { - "0": { "EditorView": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "System": 1 } - }, - "slashes": { - "0": { "EditorCommandLineOptions": 1 }, - "1": { "Lipsync": 2 } - }, - "sldHealth": { - "0": { "Slider": 10 } - }, - "sldHealth's": { - "0": { "Slider": 2 } - }, - "sldMouseSpeed": { - "0": { "Mouse": 2 } - }, - "sldVolume": { - "0": { "Slider": 2 } - }, - "slider": { - "0": { "acintro6": 1 }, - "1": { "EditorGUI": 10 }, - "2": { "EditorRoom": 1 }, - "3": { "Mouse": 2 }, - "4": { "MusicAndSound": 1 }, - "5": { "Setup": 1 }, - "6": { "Slider": 12 } - }, - "slider's": { - "0": { "Slider": 7 } - }, - "sliders": { - "0": { "EditorGUI": 3 }, - "1": { "GUIControl": 1 } - }, - "slides": { - "0": { "Overlay": 2 } - }, - "slight": { - "0": { "Multimedia": 1 } - }, - "slightly": { - "0": { "acintro2": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_Event": 1 }, - "7": { "Pointers": 1 }, - "8": { "RepExec": 1 }, - "9": { "ScriptingTutorialPart2": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "UpgradeTo30": 1 }, - "12": { "UpgradeTo34": 1 }, - "13": { "UpgradeTo36": 1 }, - "14": { "UpgradingTo27": 1 } - }, - "slogged": { - "0": { "acintro2": 1 } - }, - "slot": { - "0": { "acintro1": 3 }, - "1": { "acintro9": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 3 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 5 }, - "6": { "EditorFont": 1 }, - "7": { "EnginePluginRun-timeAPI": 12 }, - "8": { "Game": 10 }, - "9": { "Gamevariables": 3 }, - "10": { "Globalfunctions_Event": 2 }, - "11": { "Globalfunctions_General": 16 }, - "12": { "Globalfunctions_Palette": 6 }, - "13": { "InventoryItem": 4 }, - "14": { "ListBox": 3 }, - "15": { "Mouse": 4 }, - "16": { "Object": 4 }, - "17": { "Overlay": 3 }, - "18": { "Settingupthegame": 5 }, - "19": { "Tumbleweed_translation": 1 }, - "20": { "UpgradeTo361": 2 }, - "21": { "ViewFrame": 1 } - }, - "slot's": { - "0": { "ColoursEditor": 1 } - }, - "slots": { - "0": { "acintro1": 6 }, - "1": { "acintro6": 1 }, - "2": { "AudioInScript": 1 }, - "3": { "ColoursEditor": 4 }, - "4": { "EditorPreferences": 1 }, - "5": { "Globalfunctions_General": 5 }, - "6": { "Globalfunctions_Palette": 1 }, - "7": { "ListBox": 1 }, - "8": { "Tumbleweed_translation": 1 } - }, - "slow": { - "0": { "acintro4": 1 }, - "1": { "AdvancedRoomFeatures": 2 }, - "2": { "Character": 1 }, - "3": { "DistGame": 1 }, - "4": { "DrawingSurface": 2 }, - "5": { "DynamicSprite": 4 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Game": 1 }, - "8": { "Globalfunctions_General": 4 }, - "9": { "Multimedia": 2 }, - "10": { "Object": 1 }, - "11": { "Pointers": 1 }, - "12": { "Room": 1 }, - "13": { "Setup": 1 } - }, - "slow-ish": { - "0": { "Globalfunctions_General": 1 } - }, - "slow-running": { - "0": { "Debuggingfeatures": 1 } - }, - "slowdown": { - "0": { "Globalfunctions_Screen": 1 } - }, - "slowdowns": { - "0": { "DefaultSetup": 1 }, - "1": { "Game": 1 }, - "2": { "Setup": 1 } - }, - "slower": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Mouse": 1 }, - "8": { "Object": 1 }, - "9": { "Settingupthegame": 2 }, - "10": { "Setup": 1 }, - "11": { "System": 1 } - }, - "slowest": { - "0": { "Globalfunctions_Screen": 2 } - }, - "slowing": { - "0": { "Settingupthegame": 1 } - }, - "slowly": { - "0": { "acintro1": 1 }, - "1": { "Settingupthegame": 1 } - }, - "small": { - "0": { "acintro4": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "DefaultSetup": 2 }, - "3": { "DistGame": 2 }, - "4": { "DynamicSprite": 1 }, - "5": { "FAQ": 1 }, - "6": { "Game": 1 }, - "7": { "Screen": 1 }, - "8": { "Setup": 1 }, - "9": { "Templates": 1 }, - "10": { "UnicodeSupport": 1 }, - "11": { "UpgradeTo35": 1 } - }, - "smaller": { - "0": { "acintro2": 1 }, - "1": { "acintro6": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Camera": 7 }, - "4": { "DistGame": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "FAQ": 1 }, - "8": { "GeneralSettings": 1 }, - "9": { "Screen": 1 }, - "10": { "ScriptKeywords": 1 }, - "11": { "Settingupthegame": 2 }, - "12": { "SourceControl": 1 }, - "13": { "UpgradeTo35": 4 }, - "14": { "Viewport": 2 } - }, - "smallest": { - "0": { "GameSavesCompatibility": 1 } - }, - "smart": { - "0": { "Pointers": 1 } - }, - "smell": { - "0": { "EventTypes": 3 } - }, - "smoking": { - "0": { "Settingupthegame": 1 } - }, - "smoother": { - "0": { "DefaultSetup": 1 }, - "1": { "Setup": 1 } - }, - "smoothing": { - "0": { "Gamevariables": 1 } - }, - "smoothly": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "snapped": { - "0": { "Camera": 3 } - }, - "snaps": { - "0": { "Camera": 1 }, - "1": { "Viewport": 1 } - }, - "snippet": { - "0": { "Globalfunctions_General": 1 } - }, - "snow": { - "0": { "Character": 1 } - }, - "so": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 7 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 7 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 5 }, - "9": { "AdvancedRoomFeatures": 5 }, - "10": { "AnonymousUsageInfo": 2 }, - "11": { "AudioClip": 2 }, - "12": { "AudioInScript": 2 }, - "13": { "AutonumberSpeechFiles": 1 }, - "14": { "BackingUpYourGame": 1 }, - "15": { "BlockingScripts": 3 }, - "16": { "BuildAndroid": 2 }, - "17": { "Button": 1 }, - "18": { "Camera": 2 }, - "19": { "Character": 25 }, - "20": { "ContactingTheDevelopers": 2 }, - "21": { "CustomDialogOptions": 3 }, - "22": { "CustomProperties": 4 }, - "23": { "DateTime": 1 }, - "24": { "DefaultSetup": 4 }, - "25": { "DialogOptionsRenderingInfo": 1 }, - "26": { "DistGame": 7 }, - "27": { "DrawingSurface": 1 }, - "28": { "DynamicArrays": 3 }, - "29": { "DynamicSprite": 4 }, - "30": { "EditorCommandLineOptions": 1 }, - "31": { "EditorInventoryItems": 1 }, - "32": { "EditorPlugins": 10 }, - "33": { "EditorRoom": 3 }, - "34": { "EditorSprite": 5 }, - "35": { "EditorView": 2 }, - "36": { "EnginePluginDesign-timeAPI": 5 }, - "37": { "EnginePluginRun-timeAPI": 49 }, - "38": { "EventTypes": 4 }, - "39": { "FAQ": 4 }, - "40": { "File": 3 }, - "41": { "Game": 3 }, - "42": { "GameEventsOrder": 3 }, - "43": { "GameSavesCompatibility": 5 }, - "44": { "Gamevariables": 3 }, - "45": { "GeneralSettings": 8 }, - "46": { "Globalfunctions_General": 12 }, - "47": { "Globalfunctions_Message": 1 }, - "48": { "Globalfunctions_Room": 5 }, - "49": { "Globalfunctions_Wait": 1 }, - "50": { "Hotspot": 1 }, - "51": { "ImportingFunctionsAndVariables": 2 }, - "52": { "Introduction": 1 }, - "53": { "InventoryItem": 2 }, - "54": { "Keycodes": 1 }, - "55": { "Lipsync": 5 }, - "56": { "ListBox": 6 }, - "57": { "MIDI-playback": 1 }, - "58": { "Mouse": 2 }, - "59": { "Multimedia": 1 }, - "60": { "MultipleScripts": 3 }, - "61": { "MusicAndSound": 5 }, - "62": { "Object": 9 }, - "63": { "OOProgramming": 2 }, - "64": { "Overlay": 3 }, - "65": { "Plugins": 3 }, - "66": { "Pointers": 6 }, - "67": { "Preprocessor": 2 }, - "68": { "Region": 3 }, - "69": { "RepExec": 1 }, - "70": { "ScriptAPIOverview": 1 }, - "71": { "ScriptingTutorialPart1": 13 }, - "72": { "ScriptingTutorialPart2": 3 }, - "73": { "ScriptKeywords": 6 }, - "74": { "ScriptModules": 2 }, - "75": { "Settingupthegame": 8 }, - "76": { "Setup": 2 }, - "77": { "Slider": 2 }, - "78": { "SourceControl": 1 }, - "79": { "Speech": 2 }, - "80": { "String": 3 }, - "81": { "StringFormats": 1 }, - "82": { "System": 3 }, - "83": { "SystemLimits": 4 }, - "84": { "Templates": 1 }, - "85": { "TemplateVerbcoin": 2 }, - "86": { "TextParser": 2 }, - "87": { "TextWindowGUI": 1 }, - "88": { "Translations": 2 }, - "89": { "TroubleshootingWindowsZoneID": 3 }, - "90": { "Tumbleweed": 2 }, - "91": { "Tumbleweed_door": 1 }, - "92": { "Tumbleweed_extensions": 1 }, - "93": { "Tumbleweed_translation": 6 }, - "94": { "UnicodeSupport": 6 }, - "95": { "UpgradeTo30": 3 }, - "96": { "UpgradeTo31": 1 }, - "97": { "UpgradeTo32": 1 }, - "98": { "UpgradeTo34": 2 }, - "99": { "UpgradeTo35": 2 }, - "100": { "UpgradeTo36": 6 }, - "101": { "UpgradeTo361": 3 }, - "102": { "UpgradingTo27": 10 }, - "103": { "UpgradingTo271": 2 }, - "104": { "ViewFrame": 1 }, - "105": { "Viewport": 1 }, - "106": { "VoiceSpeech": 2 } - }, - "software": { - "0": { "Copyright": 2 }, - "1": { "EngineConfigFile": 5 }, - "2": { "GraphicsDriver": 2 }, - "3": { "RuntimeEngine": 3 } - }, - "software-based": { - "0": { "MIDI-playback": 2 } - }, - "solid": { - "0": { "Character": 1 }, - "1": { "Object": 3 }, - "2": { "Settingupthegame": 2 } - }, - "solution": { - "0": { "acintro4": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 6 }, - "6": { "Mouse": 1 }, - "7": { "Object": 1 }, - "8": { "ScriptKeywords": 1 }, - "9": { "TroubleshootingWindowsZoneID": 2 }, - "10": { "UpgradeTo30": 1 } - }, - "solutions": { - "0": { "DialogScript": 1 }, - "1": { "ExtenderFunctions": 1 } - }, - "solve": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "FAQ": 1 }, - "2": { "Plugins": 1 }, - "3": { "ScriptingTutorialPart2": 1 }, - "4": { "Settingupthegame": 1 } - }, - "solved": { - "0": { "GameSavesCompatibility": 1 } - }, - "some": { - "0": { "acintro": 1 }, - "1": { "acintro1": 6 }, - "2": { "acintro2": 3 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 1 }, - "5": { "acintro5": 5 }, - "6": { "acintro8": 4 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "AnonymousUsageInfo": 1 }, - "10": { "AudioClip": 2 }, - "11": { "BlockingScripts": 3 }, - "12": { "Button": 1 }, - "13": { "Camera": 1 }, - "14": { "Character": 4 }, - "15": { "Constants": 4 }, - "16": { "CustomDialogOptions": 2 }, - "17": { "CustomProperties": 1 }, - "18": { "Debuggingfeatures": 4 }, - "19": { "Dialog": 2 }, - "20": { "DialogScript": 2 }, - "21": { "DistGame": 3 }, - "22": { "DrawingSurface": 1 }, - "23": { "DynamicArrays": 2 }, - "24": { "EditorGUI": 2 }, - "25": { "EditorInventoryItems": 2 }, - "26": { "EditorPlugins": 1 }, - "27": { "EditorRoom": 1 }, - "28": { "EditorView": 1 }, - "29": { "EngineConfigFile": 1 }, - "30": { "EnginePluginDesign-timeAPI": 2 }, - "31": { "EnginePluginRun-timeAPI": 4 }, - "32": { "EventTypes": 1 }, - "33": { "ExtenderFunctions": 1 }, - "34": { "FAQ": 5 }, - "35": { "File": 5 }, - "36": { "Game": 12 }, - "37": { "GameEventsOrder": 2 }, - "38": { "GameSavesCompatibility": 2 }, - "39": { "GeneralSettings": 6 }, - "40": { "GlobalArrays": 1 }, - "41": { "Globalfunctions_Event": 1 }, - "42": { "Globalfunctions_General": 9 }, - "43": { "Globalfunctions_Message": 1 }, - "44": { "Globalfunctions_Room": 3 }, - "45": { "GlobalVariables": 3 }, - "46": { "GUI": 3 }, - "47": { "GUIControl": 2 }, - "48": { "Hotspot": 2 }, - "49": { "ImportingFunctionsAndVariables": 1 }, - "50": { "Introduction": 1 }, - "51": { "InventoryItem": 3 }, - "52": { "Label": 1 }, - "53": { "Multimedia": 1 }, - "54": { "MultipleScripts": 1 }, - "55": { "MusicAndSound": 2 }, - "56": { "Object": 3 }, - "57": { "OOProgramming": 1 }, - "58": { "Overlay": 1 }, - "59": { "Parser": 1 }, - "60": { "Pointers": 1 }, - "61": { "Preprocessor": 2 }, - "62": { "RepExec": 1 }, - "63": { "ScriptingTutorialPart1": 3 }, - "64": { "ScriptingTutorialPart2": 4 }, - "65": { "ScriptKeywords": 7 }, - "66": { "Settingupthegame": 5 }, - "67": { "StandardEnums": 4 }, - "68": { "System": 1 }, - "69": { "SystemLimits": 1 }, - "70": { "TemplateSierraStyle": 1 }, - "71": { "Translations": 3 }, - "72": { "TroubleshootingWindowsZoneID": 1 }, - "73": { "Tumbleweed": 1 }, - "74": { "Tumbleweed_extensions": 1 }, - "75": { "Tumbleweed_translation": 2 }, - "76": { "UnicodeSupport": 1 }, - "77": { "UpgradeTo30": 2 }, - "78": { "UpgradeTo31": 1 }, - "79": { "UpgradeTo32": 1 }, - "80": { "UpgradeTo33": 1 }, - "81": { "UpgradeTo34": 3 }, - "82": { "UpgradeTo341": 1 }, - "83": { "UpgradeTo35": 1 }, - "84": { "UpgradeTo36": 3 }, - "85": { "UpgradeTo361": 1 }, - "86": { "UpgradingTo27": 3 }, - "87": { "UpgradingTo271": 1 } - }, - "someString": { - "0": { "ImportingFunctionsAndVariables": 2 } - }, - "someone": { - "0": { "Character": 1 }, - "1": { "ContactingTheDevelopers": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 } - }, - "something": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 1 }, - "8": { "BuildAndroid": 2 }, - "9": { "Character": 5 }, - "10": { "Debuggingfeatures": 1 }, - "11": { "Dialog": 2 }, - "12": { "DialogScript": 1 }, - "13": { "DynamicArrays": 1 }, - "14": { "EditorCursor": 1 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorLogPanel": 1 }, - "17": { "EditorRoom": 1 }, - "18": { "EditorView": 1 }, - "19": { "EnginePluginRun-timeAPI": 1 }, - "20": { "EventTypes": 1 }, - "21": { "ExtenderFunctions": 1 }, - "22": { "FAQ": 3 }, - "23": { "GameSavesCompatibility": 2 }, - "24": { "GeneralSettings": 1 }, - "25": { "Globalfunctions_Event": 2 }, - "26": { "Globalfunctions_General": 3 }, - "27": { "GlobalVariables": 1 }, - "28": { "GUI": 1 }, - "29": { "Hotspot": 2 }, - "30": { "InventoryItem": 1 }, - "31": { "Object": 3 }, - "32": { "Overlay": 1 }, - "33": { "Pointers": 3 }, - "34": { "RepExec": 5 }, - "35": { "ScriptingTutorialPart1": 9 }, - "36": { "ScriptingTutorialPart2": 6 }, - "37": { "ScriptKeywords": 4 }, - "38": { "Settingupthegame": 3 }, - "39": { "SourceControl": 1 }, - "40": { "SystemLimits": 1 }, - "41": { "TextBox": 1 }, - "42": { "Translations": 1 }, - "43": { "TroubleshootingWindowsZoneID": 1 }, - "44": { "Tumbleweed": 1 }, - "45": { "Tumbleweed_extensions": 1 }, - "46": { "Tumbleweed_translation": 1 }, - "47": { "Tumbleweed_unhandled": 1 }, - "48": { "UpgradeTo30": 2 }, - "49": { "UpgradeTo32": 1 }, - "50": { "UpgradeTo35": 1 }, - "51": { "UpgradeTo36": 1 }, - "52": { "UpgradingTo27": 2 } - }, - "sometime": { - "0": { "acintro8": 1 } - }, - "sometimes": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "DialogOptionsRenderingInfo": 1 }, - "5": { "EditorView": 1 }, - "6": { "Game": 2 }, - "7": { "GUI": 1 }, - "8": { "GUIControl": 1 }, - "9": { "Hotspot": 1 }, - "10": { "InventoryItem": 1 }, - "11": { "Object": 1 }, - "12": { "ObsoleteScriptAPI": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "UpgradeTo35": 2 } - }, - "somewhat": { - "0": { "CustomDialogOptions": 2 }, - "1": { "Dictionary": 1 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Preprocessor": 1 }, - "4": { "UpgradeTo361": 1 } - }, - "somewhere": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "DynamicArrays": 1 }, - "5": { "DynamicSprite": 1 }, - "6": { "EditorInventoryItems": 1 }, - "7": { "File": 1 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 1 }, - "11": { "GUI": 1 }, - "12": { "GUIControl": 1 }, - "13": { "Hotspot": 1 }, - "14": { "ImportingFunctionsAndVariables": 1 }, - "15": { "InventoryItem": 1 }, - "16": { "Object": 1 }, - "17": { "Pointers": 1 }, - "18": { "Preprocessor": 1 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "String": 1 }, - "21": { "TextParser": 1 }, - "22": { "TroubleshootingWindowsZoneID": 1 }, - "23": { "UpgradeTo36": 1 } - }, - "soon": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "BlockingScripts": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicArrays": 2 }, - "6": { "DynamicSprite": 1 }, - "7": { "EnginePluginDesign-timeAPI": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "Hotspot": 1 }, - "11": { "Pointers": 1 }, - "12": { "ScriptKeywords": 1 } - }, - "sophisticated": { - "0": { "ExtenderFunctions": 1 }, - "1": { "Globalfunctions_Wait": 1 } - }, - "sort": { - "0": { "Dictionary": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Game": 1 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Globalfunctions_Screen": 1 }, - "6": { "MusicAndSound": 1 }, - "7": { "Set": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "System": 1 }, - "10": { "UpgradeTo36": 1 }, - "11": { "Viewport": 1 } - }, - "sortStyle": { - "0": { "Dictionary": 2 }, - "1": { "Set": 2 } - }, - "sorted": { - "0": { "Dictionary": 3 }, - "1": { "GUI": 3 }, - "2": { "ListBox": 1 }, - "3": { "Overlay": 8 }, - "4": { "Set": 3 }, - "5": { "UpgradeTo36": 2 } - }, - "sorting": { - "0": { "Character": 1 }, - "1": { "Dictionary": 3 }, - "2": { "Object": 1 }, - "3": { "Overlay": 1 }, - "4": { "Set": 3 } - }, - "sorts": { - "0": { "acintro8": 1 }, - "1": { "ListBox": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "sound": { - "0": { "acintro7": 2 }, - "1": { "AudioChannel": 10 }, - "2": { "AudioClip": 4 }, - "3": { "AudioInScript": 3 }, - "4": { "BackingUpYourGame": 1 }, - "5": { "Character": 6 }, - "6": { "Credits": 1 }, - "7": { "DefaultSetup": 2 }, - "8": { "DistGame": 3 }, - "9": { "EditorView": 1 }, - "10": { "EngineConfigFile": 6 }, - "11": { "EnginePluginRun-timeAPI": 6 }, - "12": { "Game": 3 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "Gamevariables": 1 }, - "15": { "GeneralSettings": 3 }, - "16": { "Globalfunctions_General": 2 }, - "17": { "MIDI-playback": 1 }, - "18": { "MusicAndSound": 16 }, - "19": { "Object": 3 }, - "20": { "Pointers": 1 }, - "21": { "ScriptKeywords": 2 }, - "22": { "Settingupthegame": 1 }, - "23": { "Setup": 1 }, - "24": { "SourceControl": 1 }, - "25": { "Speech": 1 }, - "26": { "Templates": 1 }, - "27": { "Tumbleweed_door": 2 }, - "28": { "Tumbleweed_movement": 1 }, - "29": { "UpgradeTo32": 7 }, - "30": { "UpgradeTo341": 1 }, - "31": { "UpgradeTo36": 1 }, - "32": { "ViewFrame": 1 }, - "33": { "VoiceSpeech": 1 } - }, - "sound's": { - "0": { "Character": 3 }, - "1": { "Object": 1 } - }, - "soundName": { - "0": { "AudioClip": 2 } - }, - "soundType": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "sounds": { - "0": { "acintro7": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioClip": 2 }, - "3": { "AudioInScript": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 6 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "EnginePluginRun-timeAPI": 1 }, - "9": { "Gamevariables": 3 }, - "10": { "Lipsync": 1 }, - "11": { "Multimedia": 1 }, - "12": { "MusicAndSound": 11 }, - "13": { "Object": 2 }, - "14": { "Settingupthegame": 3 }, - "15": { "Setup": 2 }, - "16": { "Tumbleweed_door": 1 }, - "17": { "UpgradeTo32": 1 } - }, - "source": { - "0": { "acintro6": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "Copyright": 3 }, - "3": { "DistGame": 1 }, - "4": { "DrawingSurface": 1 }, - "5": { "DynamicSprite": 5 }, - "6": { "EditorSprite": 13 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "GeneralSettings": 2 }, - "9": { "MusicAndSound": 1 }, - "10": { "SourceControl": 10 }, - "11": { "Templates": 1 }, - "12": { "Translations": 1 }, - "13": { "TroubleshootingWindowsZoneID": 1 }, - "14": { "UpgradeTo361": 2 } - }, - "sources": { - "0": { "EditorSprite": 4 } - }, - "south": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Event": 1 } - }, - "sp": { - "0": { "Game": 4 }, - "1": { "UpgradeTo36": 2 }, - "2": { "VoiceSpeech": 3 } - }, - "space": { - "0": { "acintro2": 1 }, - "1": { "acintro8": 1 }, - "2": { "DialogScript": 1 }, - "3": { "EditorPreferences": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "FAQ": 2 }, - "7": { "File": 1 }, - "8": { "Game": 1 }, - "9": { "GeneralSettings": 2 }, - "10": { "Globalfunctions_General": 6 }, - "11": { "Lipsync": 1 }, - "12": { "Speech": 1 }, - "13": { "Tumbleweed_translation": 2 }, - "14": { "UpgradeTo361": 1 } - }, - "spacebar": { - "0": { "EditorRoom": 1 } - }, - "spaces": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "DialogScript": 2 }, - "3": { "EditorPreferences": 1 }, - "4": { "StandardEnums": 2 } - }, - "spaceship": { - "0": { "Globalfunctions_Room": 1 } - }, - "spacing": { - "0": { "EditorFont": 2 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "UpgradeTo36": 1 } - }, - "spanish": { - "0": { "Game": 1 } - }, - "spare": { - "0": { "AudioClip": 1 } - }, - "sparingly": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "speak": { - "0": { "acintro8": 1 }, - "1": { "Character": 1 }, - "2": { "Dialog": 2 }, - "3": { "DialogScript": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Object": 1 }, - "6": { "Settingupthegame": 1 } - }, - "speaker": { - "0": { "AudioChannel": 1 } - }, - "speakers": { - "0": { "AudioChannel": 2 } - }, - "speaking": { - "0": { "Character": 5 }, - "1": { "GameEventsOrder": 1 }, - "2": { "Settingupthegame": 1 } - }, - "special": { - "0": { "acintro3": 2 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 2 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 4 }, - "6": { "Dialog": 1 }, - "7": { "DialogScript": 3 }, - "8": { "DrawingSurface": 3 }, - "9": { "DynamicArrays": 1 }, - "10": { "DynamicSprite": 1 }, - "11": { "EditorCommandLineOptions": 1 }, - "12": { "EditorCursor": 3 }, - "13": { "EditorDialog": 1 }, - "14": { "EditorGUI": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EditorView": 1 }, - "17": { "EngineConfigFile": 2 }, - "18": { "FAQ": 2 }, - "19": { "File": 1 }, - "20": { "Game": 1 }, - "21": { "GameSavesCompatibility": 1 }, - "22": { "Gamevariables": 1 }, - "23": { "GeneralSettings": 2 }, - "24": { "Globalfunctions_Palette": 2 }, - "25": { "Globalfunctions_Screen": 1 }, - "26": { "GUI": 2 }, - "27": { "ImportingFunctionsAndVariables": 1 }, - "28": { "Keycodes": 1 }, - "29": { "Label": 1 }, - "30": { "ListBox": 1 }, - "31": { "MIDI-playback": 1 }, - "32": { "MultipleScripts": 3 }, - "33": { "Object": 1 }, - "34": { "OOProgramming": 1 }, - "35": { "Pointers": 1 }, - "36": { "Room": 1 }, - "37": { "RuntimeEngine": 1 }, - "38": { "ScriptingTutorialPart1": 1 }, - "39": { "ScriptingTutorialPart2": 1 }, - "40": { "ScriptKeywords": 2 }, - "41": { "Settingupthegame": 3 }, - "42": { "Speech": 1 }, - "43": { "StringFormats": 3 }, - "44": { "TextParser": 2 }, - "45": { "Translations": 5 }, - "46": { "VoiceSpeech": 1 } - }, - "specialize": { - "0": { "acintro8": 1 } - }, - "specialized": { - "0": { "UpgradeTo34": 1 } - }, - "specific": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 4 }, - "4": { "DistGame": 1 }, - "5": { "DrawingSurface": 2 }, - "6": { "EditorCommandLineOptions": 1 }, - "7": { "EditorFont": 1 }, - "8": { "EditorRoom": 1 }, - "9": { "EditorView": 1 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "EventTypes": 3 }, - "12": { "Gamevariables": 1 }, - "13": { "Globalfunctions_General": 3 }, - "14": { "Globalfunctions_Message": 1 }, - "15": { "GUI": 2 }, - "16": { "GUIControl": 1 }, - "17": { "InvWindow": 1 }, - "18": { "MIDI-playback": 1 }, - "19": { "Object": 1 }, - "20": { "ObsoleteScriptAPI": 1 }, - "21": { "RepExec": 2 }, - "22": { "Room": 1 }, - "23": { "RuntimeEngine": 1 }, - "24": { "ScriptingTutorialPart2": 1 }, - "25": { "ScriptKeywords": 1 }, - "26": { "Settingupthegame": 1 }, - "27": { "Speech": 1 }, - "28": { "UpgradeTo31": 1 }, - "29": { "UpgradeTo33": 1 }, - "30": { "UpgradeTo35": 1 } - }, - "specifically": { - "0": { "acintro7": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "Game": 1 }, - "3": { "Translations": 2 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "specifics": { - "0": { "GeneralSettings": 1 } - }, - "specified": { - "0": { "acintro7": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Button": 2 }, - "4": { "Character": 22 }, - "5": { "Dialog": 4 }, - "6": { "DrawingSurface": 4 }, - "7": { "DynamicSprite": 11 }, - "8": { "EditorGUI": 3 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 33 }, - "11": { "File": 8 }, - "12": { "Game": 20 }, - "13": { "GeneralSettings": 2 }, - "14": { "Globalfunctions_General": 7 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "Globalfunctions_Room": 4 }, - "17": { "Globalfunctions_Screen": 5 }, - "18": { "GUI": 6 }, - "19": { "GUIControl": 2 }, - "20": { "Hotspot": 7 }, - "21": { "InventoryItem": 5 }, - "22": { "InvWindow": 1 }, - "23": { "Label": 2 }, - "24": { "Lipsync": 1 }, - "25": { "ListBox": 9 }, - "26": { "Maths": 9 }, - "27": { "MIDI-playback": 1 }, - "28": { "Mouse": 8 }, - "29": { "Object": 9 }, - "30": { "OOProgramming": 1 }, - "31": { "Overlay": 5 }, - "32": { "Region": 3 }, - "33": { "RepExec": 1 }, - "34": { "Room": 5 }, - "35": { "RuntimeEngine": 3 }, - "36": { "ScriptingTutorialPart1": 1 }, - "37": { "ScriptKeywords": 1 }, - "38": { "Settingupthegame": 1 }, - "39": { "Slider": 3 }, - "40": { "Speech": 5 }, - "41": { "String": 7 }, - "42": { "System": 1 }, - "43": { "TextBox": 1 }, - "44": { "Viewport": 1 } - }, - "specifies": { - "0": { "Button": 2 }, - "1": { "Character": 5 }, - "2": { "CustomProperties": 2 }, - "3": { "EnginePluginRun-timeAPI": 3 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 1 }, - "6": { "Globalfunctions_General": 3 }, - "7": { "Globalfunctions_Message": 3 }, - "8": { "Globalfunctions_Room": 1 }, - "9": { "Globalfunctions_Screen": 3 }, - "10": { "GUIControl": 2 }, - "11": { "Maths": 1 }, - "12": { "Object": 1 }, - "13": { "Settingupthegame": 4 }, - "14": { "Speech": 1 }, - "15": { "String": 1 }, - "16": { "UpgradeTo33": 1 } - }, - "specify": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Button": 2 }, - "2": { "Camera": 1 }, - "3": { "Character": 6 }, - "4": { "Constants": 1 }, - "5": { "Dialog": 1 }, - "6": { "DrawingSurface": 3 }, - "7": { "DynamicSprite": 2 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EnginePluginRun-timeAPI": 3 }, - "11": { "GeneralSettings": 1 }, - "12": { "Globalfunctions_General": 1 }, - "13": { "ListBox": 1 }, - "14": { "MIDI-playback": 1 }, - "15": { "MusicAndSound": 2 }, - "16": { "Object": 3 }, - "17": { "Overlay": 1 }, - "18": { "RuntimeEngine": 1 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "ScriptKeywords": 1 }, - "21": { "Settingupthegame": 2 }, - "22": { "StringFormats": 1 }, - "23": { "TroubleshootingWindowsZoneID": 1 }, - "24": { "UpgradeTo32": 1 }, - "25": { "Viewport": 1 } - }, - "specifying": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "File": 2 }, - "4": { "Lipsync": 1 }, - "5": { "ListBox": 1 }, - "6": { "ScriptKeywords": 1 } - }, - "speech": { - "0": { "acintro9": 5 }, - "1": { "AudioChannel": 1 }, - "2": { "AutonumberSpeechFiles": 7 }, - "3": { "Character": 31 }, - "4": { "DefaultSetup": 1 }, - "5": { "DialogScript": 4 }, - "6": { "DistGame": 4 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorFont": 1 }, - "9": { "EngineConfigFile": 2 }, - "10": { "ExtenderFunctions": 4 }, - "11": { "Game": 22 }, - "12": { "Gamevariables": 15 }, - "13": { "GeneralSettings": 14 }, - "14": { "Globalfunctions_Event": 2 }, - "15": { "Globalfunctions_General": 4 }, - "16": { "Globalfunctions_Message": 2 }, - "17": { "Lipsync": 16 }, - "18": { "Multimedia": 6 }, - "19": { "MusicAndSound": 6 }, - "20": { "ObsoleteScriptAPI": 4 }, - "21": { "OtherFeatures": 1 }, - "22": { "Overlay": 4 }, - "23": { "Settingupthegame": 2 }, - "24": { "Setup": 1 }, - "25": { "Speech": 40 }, - "26": { "TextWindowGUI": 2 }, - "27": { "Translations": 4 }, - "28": { "UpgradeTo32": 2 }, - "29": { "UpgradeTo33": 7 }, - "30": { "UpgradeTo341": 1 }, - "31": { "UpgradeTo35": 1 }, - "32": { "UpgradeTo36": 3 }, - "33": { "VoiceSpeech": 13 } - }, - "speech-related": { - "0": { "UpgradeTo33": 1 } - }, - "speechvox": { - "0": { "EngineConfigFile": 1 } - }, - "speed": { - "0": { "acintro7": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "Button": 1 }, - "4": { "Character": 29 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "DefaultSetup": 2 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorPreferences": 2 }, - "9": { "EngineConfigFile": 8 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "EventTypes": 2 }, - "12": { "Game": 4 }, - "13": { "GameEventsOrder": 1 }, - "14": { "Gamevariables": 7 }, - "15": { "GeneralSettings": 3 }, - "16": { "Globalfunctions_General": 10 }, - "17": { "Globalfunctions_Screen": 4 }, - "18": { "Mouse": 7 }, - "19": { "Object": 7 }, - "20": { "ObsoleteScriptAPI": 2 }, - "21": { "Settingupthegame": 15 }, - "22": { "Setup": 3 }, - "23": { "Speech": 2 }, - "24": { "System": 1 }, - "25": { "SystemRequirements": 1 }, - "26": { "Tumbleweed_helper": 2 }, - "27": { "UpgradeTo33": 2 }, - "28": { "UpgradeTo35": 1 }, - "29": { "ViewFrame": 2 } - }, - "speeds": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Object": 1 } - }, - "spill": { - "0": { "acintro2": 1 }, - "1": { "Button": 1 } - }, - "splash": { - "0": { "Credits": 1 }, - "1": { "DistGame": 1 } - }, - "split": { - "0": { "DistGame": 3 }, - "1": { "EditorGUI": 1 }, - "2": { "Globalfunctions_Wait": 1 }, - "3": { "MultipleScripts": 1 }, - "4": { "MusicAndSound": 3 }, - "5": { "Pointers": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "spoken": { - "0": { "Dialog": 1 }, - "1": { "DistGame": 1 }, - "2": { "Lipsync": 3 } - }, - "spot": { - "0": { "acintro5": 1 }, - "1": { "Character": 5 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "EditorInventoryItems": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptingTutorialPart1": 2 }, - "6": { "Settingupthegame": 1 } - }, - "spots": { - "0": { "GeneralSettings": 1 } - }, - "spr": { - "0": { "EditorSprite": 3 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "UpgradeTo35": 1 } - }, - "sprcache": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "sprite": { - "0": { "acintro4": 8 }, - "1": { "acintro5": 3 }, - "2": { "acintro6": 17 }, - "3": { "acintro7": 3 }, - "4": { "BackingUpYourGame": 2 }, - "5": { "Button": 16 }, - "6": { "Character": 4 }, - "7": { "DefaultSetup": 2 }, - "8": { "DistGame": 2 }, - "9": { "DrawingSurface": 1 }, - "10": { "DynamicSprite": 175 }, - "11": { "EditorInventoryItems": 2 }, - "12": { "EditorPreferences": 2 }, - "13": { "EditorSprite": 24 }, - "14": { "EditorView": 2 }, - "15": { "EngineConfigFile": 3 }, - "16": { "EnginePluginRun-timeAPI": 24 }, - "17": { "FAQ": 1 }, - "18": { "Game": 12 }, - "19": { "GameSavesCompatibility": 1 }, - "20": { "GeneralSettings": 8 }, - "21": { "GUI": 3 }, - "22": { "InventoryItem": 5 }, - "23": { "Mouse": 3 }, - "24": { "Object": 8 }, - "25": { "Overlay": 15 }, - "26": { "RuntimeEngine": 1 }, - "27": { "Settingupthegame": 12 }, - "28": { "Setup": 3 }, - "29": { "Slider": 4 }, - "30": { "System": 1 }, - "31": { "TemplateVerbcoin": 1 }, - "32": { "Tumbleweed_actions": 2 }, - "33": { "Tumbleweed_door": 2 }, - "34": { "UpgradeTo31": 1 }, - "35": { "UpgradeTo35": 2 }, - "36": { "UpgradeTo36": 6 }, - "37": { "UpgradeTo361": 2 }, - "38": { "ViewFrame": 2 } - }, - "sprite's": { - "0": { "DynamicSprite": 5 }, - "1": { "EditorSprite": 2 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Mouse": 1 } - }, - "sprite-slot": { - "0": { "Tumbleweed_translation": 2 } - }, - "spritefile": { - "0": { "EditorSprite": 1 } - }, - "spriteheight": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "sprites": { - "0": { "acintro6": 7 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "Copyright": 1 }, - "5": { "Credits": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 5 }, - "8": { "DistGame": 2 }, - "9": { "DrawingSurface": 2 }, - "10": { "DynamicArrays": 8 }, - "11": { "DynamicSprite": 9 }, - "12": { "EditorSprite": 21 }, - "13": { "EditorView": 4 }, - "14": { "EngineConfigFile": 4 }, - "15": { "EnginePluginRun-timeAPI": 7 }, - "16": { "Game": 8 }, - "17": { "GameSavesCompatibility": 2 }, - "18": { "GeneralSettings": 11 }, - "19": { "Globalfunctions_General": 5 }, - "20": { "GraphicsDriver": 2 }, - "21": { "Object": 1 }, - "22": { "Overlay": 1 }, - "23": { "Room": 1 }, - "24": { "ScriptAPIOverview": 1 }, - "25": { "Settingupthegame": 11 }, - "26": { "Setup": 5 }, - "27": { "SourceControl": 1 }, - "28": { "System": 4 }, - "29": { "TemplateVerbcoin": 1 }, - "30": { "Tumbleweed_helper": 2 }, - "31": { "UpgradeTo30": 1 }, - "32": { "UpgradeTo35": 8 }, - "33": { "UpgradeTo36": 2 } - }, - "spritewidth": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "sprnum": { - "0": { "DynamicSprite": 2 }, - "1": { "Game": 1 } - }, - "square": { - "0": { "Maths": 4 }, - "1": { "UpgradeTo35": 1 } - }, - "squares": { - "0": { "EditorGUI": 1 } - }, - "stable": { - "0": { "Introduction": 1 } - }, - "stack": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "SystemLimits": 3 } - }, - "stage": { - "0": { "acintro1": 2 }, - "1": { "EnginePluginRun-timeAPI": 7 }, - "2": { "Object": 1 } - }, - "stand": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 4 } - }, - "stand-on": { - "0": { "Tumbleweed": 1 } - }, - "standalone": { - "0": { "SourceControl": 1 } - }, - "standard": { - "0": { "acintro9": 2 }, - "1": { "Camera": 1 }, - "2": { "Character": 1 }, - "3": { "ColoursEditor": 1 }, - "4": { "Copyright": 1 }, - "5": { "Dialog": 1 }, - "6": { "DialogScript": 1 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorCursor": 3 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorGUI": 2 }, - "11": { "EditorRoom": 1 }, - "12": { "EngineConfigFile": 2 }, - "13": { "EnginePluginDesign-timeAPI": 1 }, - "14": { "EnginePluginRun-timeAPI": 8 }, - "15": { "EnginePlugins": 1 }, - "16": { "FAQ": 1 }, - "17": { "File": 1 }, - "18": { "Game": 2 }, - "19": { "GeneralSettings": 5 }, - "20": { "Globalfunctions_General": 2 }, - "21": { "Globalfunctions_Message": 1 }, - "22": { "Label": 1 }, - "23": { "Lipsync": 1 }, - "24": { "ListBox": 1 }, - "25": { "Mouse": 1 }, - "26": { "MusicAndSound": 1 }, - "27": { "Parser": 1 }, - "28": { "RuntimeEngine": 1 }, - "29": { "Screen": 1 }, - "30": { "ScriptingTutorialPart1": 1 }, - "31": { "Settingupthegame": 4 }, - "32": { "StandardEnums": 1 }, - "33": { "Templates": 2 }, - "34": { "TemplateVerbcoin": 1 }, - "35": { "TextWindowGUI": 1 }, - "36": { "UnicodeSupport": 1 }, - "37": { "UpgradeTo36": 1 }, - "38": { "Viewport": 1 } - }, - "standing": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 3 }, - "2": { "AudioChannel": 1 }, - "3": { "Character": 11 }, - "4": { "EditorView": 1 }, - "5": { "EventTypes": 2 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "Region": 1 }, - "9": { "Settingupthegame": 3 } - }, - "stands": { - "0": { "Character": 1 }, - "1": { "EventTypes": 1 }, - "2": { "FAQ": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Hotspot": 1 }, - "6": { "Region": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "Settingupthegame": 2 } - }, - "start": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 4 }, - "6": { "acintro8": 5 }, - "7": { "AudioChannel": 14 }, - "8": { "AutonumberSpeechFiles": 1 }, - "9": { "BlockingScripts": 1 }, - "10": { "Button": 3 }, - "11": { "Character": 5 }, - "12": { "ColoursEditor": 1 }, - "13": { "DateTime": 3 }, - "14": { "Dialog": 2 }, - "15": { "DialogScript": 1 }, - "16": { "DynamicArrays": 2 }, - "17": { "EditorDialog": 1 }, - "18": { "EditorGUI": 2 }, - "19": { "EditorInventoryItems": 1 }, - "20": { "EditorPlugins": 1 }, - "21": { "EditorRoom": 1 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 3 }, - "24": { "EventTypes": 1 }, - "25": { "FAQ": 4 }, - "26": { "Game": 4 }, - "27": { "GameEventsOrder": 1 }, - "28": { "GameSavesCompatibility": 5 }, - "29": { "GeneralSettings": 1 }, - "30": { "Globalfunctions_Event": 3 }, - "31": { "Globalfunctions_General": 2 }, - "32": { "Globalfunctions_Palette": 1 }, - "33": { "Introduction": 1 }, - "34": { "InvWindow": 2 }, - "35": { "KeyboardShortcuts": 5 }, - "36": { "Lipsync": 3 }, - "37": { "ListBox": 1 }, - "38": { "Mouse": 1 }, - "39": { "Multimedia": 1 }, - "40": { "MultipleScripts": 2 }, - "41": { "MusicAndSound": 3 }, - "42": { "Object": 4 }, - "43": { "Pointers": 1 }, - "44": { "RepExec": 1 }, - "45": { "RuntimeEngine": 2 }, - "46": { "Screen": 1 }, - "47": { "ScriptingTutorialPart1": 1 }, - "48": { "ScriptingTutorialPart2": 1 }, - "49": { "ScriptKeywords": 4 }, - "50": { "Settingupthegame": 9 }, - "51": { "Templates": 1 }, - "52": { "Tumbleweed": 1 }, - "53": { "Tumbleweed_translation": 2 }, - "54": { "UnicodeSupport": 1 }, - "55": { "UpgradeTo30": 1 }, - "56": { "UpgradeTo31": 1 }, - "57": { "UpgradeTo36": 1 }, - "58": { "UpgradeTo361": 2 }, - "59": { "UpgradingTo27": 3 } - }, - "start-up": { - "0": { "acintro8": 1 } - }, - "started": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 1 }, - "3": { "Character": 2 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "DialogScript": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "EnginePlugins": 1 }, - "8": { "FAQ": 1 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Introduction": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "ScriptingTutorialPart1": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Speech": 1 }, - "16": { "UpgradeTo31": 1 } - }, - "starters": { - "0": { "Tumbleweed_door": 1 } - }, - "starting": { - "0": { "acintro1": 2 }, - "1": { "acintro7": 3 }, - "2": { "AudioClip": 3 }, - "3": { "Button": 2 }, - "4": { "Character": 2 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DialogScript": 3 }, - "7": { "DrawingSurface": 2 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorDialog": 1 }, - "10": { "EditorLogPanel": 2 }, - "11": { "EditorRoom": 1 }, - "12": { "EnginePluginRun-timeAPI": 3 }, - "13": { "File": 3 }, - "14": { "Globalfunctions_Event": 1 }, - "15": { "Globalfunctions_Room": 1 }, - "16": { "ListBox": 2 }, - "17": { "Multimedia": 1 }, - "18": { "Object": 2 }, - "19": { "ScriptingTutorialPart1": 2 }, - "20": { "Settingupthegame": 4 }, - "21": { "String": 2 }, - "22": { "UpgradeTo36": 1 } - }, - "startr": { - "0": { "RuntimeEngine": 1 } - }, - "starts": { - "0": { "acintro7": 3 }, - "1": { "acintro8": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "Character": 1 }, - "4": { "DefaultSetup": 1 }, - "5": { "DialogScript": 2 }, - "6": { "DistGame": 1 }, - "7": { "EditorCharacter": 1 }, - "8": { "EditorDialog": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorInventoryItems": 1 }, - "11": { "EditorPlugins": 2 }, - "12": { "EnginePluginDesign-timeAPI": 2 }, - "13": { "EnginePluginRun-timeAPI": 1 }, - "14": { "EnginePlugins": 1 }, - "15": { "FAQ": 2 }, - "16": { "File": 1 }, - "17": { "GeneralSettings": 1 }, - "18": { "Mouse": 1 }, - "19": { "Multimedia": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "ScriptingTutorialPart1": 2 }, - "22": { "ScriptingTutorialPart2": 2 }, - "23": { "Settingupthegame": 2 }, - "24": { "String": 1 }, - "25": { "System": 1 }, - "26": { "Tumbleweed": 1 }, - "27": { "Tumbleweed_movement": 1 }, - "28": { "UpgradeTo35": 1 }, - "29": { "Viewport": 1 } - }, - "startup": { - "0": { "acintro8": 3 }, - "1": { "AudioInScript": 1 }, - "2": { "EditorPreferences": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "RuntimeEngine": 2 }, - "5": { "Tumbleweed_door": 1 } - }, - "state": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dialog": 2 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorCursor": 1 }, - "6": { "EngineConfigFile": 2 }, - "7": { "EnginePluginRun-timeAPI": 10 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 6 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "Globalfunctions_Palette": 1 }, - "12": { "Globalfunctions_Room": 3 }, - "13": { "GUI": 1 }, - "14": { "Hotspot": 1 }, - "15": { "Object": 1 }, - "16": { "Pointers": 2 }, - "17": { "Region": 1 }, - "18": { "RepExec": 4 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "Settingupthegame": 1 }, - "21": { "Setup": 1 }, - "22": { "Tumbleweed_door": 5 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradeTo36": 2 } - }, - "state-saving": { - "0": { "SystemLimits": 1 } - }, - "statement": { - "0": { "ImportingFunctionsAndVariables": 4 }, - "1": { "ScriptingTutorialPart1": 3 }, - "2": { "ScriptingTutorialPart2": 1 }, - "3": { "ScriptKeywords": 11 }, - "4": { "UnicodeSupport": 1 } - }, - "statements": { - "0": { "Game": 1 }, - "1": { "ScriptingTutorialPart1": 2 }, - "2": { "ScriptingTutorialPart2": 3 }, - "3": { "ScriptKeywords": 28 } - }, - "states": { - "0": { "Game": 1 }, - "1": { "GameSavesCompatibility": 5 }, - "2": { "RepExec": 1 }, - "3": { "Tumbleweed_door": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "static": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 3 }, - "4": { "DateTime": 2 }, - "5": { "Dialog": 1 }, - "6": { "Dictionary": 1 }, - "7": { "DynamicSprite": 7 }, - "8": { "EditorGUI": 1 }, - "9": { "EnginePluginDesign-timeAPI": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "ExtenderFunctions": 2 }, - "12": { "File": 6 }, - "13": { "Game": 60 }, - "14": { "GUI": 4 }, - "15": { "GUIControl": 2 }, - "16": { "Hotspot": 5 }, - "17": { "InventoryItem": 2 }, - "18": { "Mouse": 6 }, - "19": { "Object": 3 }, - "20": { "OOProgramming": 10 }, - "21": { "Overlay": 4 }, - "22": { "Parser": 4 }, - "23": { "Pointers": 3 }, - "24": { "Region": 4 }, - "25": { "Room": 15 }, - "26": { "Screen": 8 }, - "27": { "Set": 1 }, - "28": { "Speech": 14 }, - "29": { "String": 4 }, - "30": { "System": 23 }, - "31": { "UpgradingTo27": 1 }, - "32": { "Viewport": 2 } - }, - "statistics": { - "0": { "GeneralSettings": 1 } - }, - "stats": { - "0": { "File": 10 }, - "1": { "String": 1 } - }, - "status": { - "0": { "AudioChannel": 1 }, - "1": { "ColoursEditor": 2 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Tumbleweed_actions": 1 }, - "7": { "Tumbleweed_extensions": 1 }, - "8": { "Tumbleweed_translation": 1 } - }, - "status-line": { - "0": { "EditorGUI": 1 } - }, - "stay": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 1 }, - "3": { "Character": 1 }, - "4": { "Gamevariables": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "Speech": 2 }, - "7": { "UpgradeTo35": 1 } - }, - "staying": { - "0": { "Tumbleweed_movement": 1 } - }, - "stays": { - "0": { "Game": 1 }, - "1": { "Gamevariables": 2 }, - "2": { "Overlay": 4 }, - "3": { "Pointers": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "Tumbleweed_door": 1 }, - "7": { "Tumbleweed_movement": 1 } - }, - "stdout": { - "0": { "EngineConfigFile": 2 }, - "1": { "RuntimeEngine": 3 } - }, - "stdscale": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 4 } - }, - "step": { - "0": { "acintro2": 2 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "Debuggingfeatures": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "RepExec": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "UpgradeTo30": 1 } - }, - "steps": { - "0": { "UpgradingTo27": 1 } - }, - "stereo": { - "0": { "AudioChannel": 1 } - }, - "stick": { - "0": { "acintro1": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "MusicAndSound": 3 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "sticks": { - "0": { "TroubleshootingWindowsZoneID": 1 } - }, - "still": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 2 }, - "5": { "AnonymousUsageInfo": 2 }, - "6": { "AudioChannel": 1 }, - "7": { "BlockingScripts": 2 }, - "8": { "Character": 11 }, - "9": { "DefaultSetup": 1 }, - "10": { "Dialog": 1 }, - "11": { "DialogScript": 1 }, - "12": { "DistGame": 2 }, - "13": { "EditorCommandLineOptions": 1 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EditorSprite": 1 }, - "16": { "EnginePluginRun-timeAPI": 5 }, - "17": { "GameSavesCompatibility": 4 }, - "18": { "GeneralSettings": 4 }, - "19": { "Globalfunctions_Event": 1 }, - "20": { "Globalfunctions_General": 1 }, - "21": { "Globalfunctions_Screen": 1 }, - "22": { "ImportingFunctionsAndVariables": 1 }, - "23": { "Multimedia": 1 }, - "24": { "MultipleScripts": 1 }, - "25": { "Object": 3 }, - "26": { "OOProgramming": 2 }, - "27": { "Pointers": 4 }, - "28": { "Preprocessor": 1 }, - "29": { "Region": 1 }, - "30": { "Room": 1 }, - "31": { "ScriptingTutorialPart2": 1 }, - "32": { "ScriptKeywords": 2 }, - "33": { "Settingupthegame": 7 }, - "34": { "Setup": 1 }, - "35": { "Speech": 1 }, - "36": { "SystemLimits": 1 }, - "37": { "TemplateVerbcoin": 2 }, - "38": { "TheScriptHeader": 1 }, - "39": { "Tumbleweed": 1 }, - "40": { "Tumbleweed_movement": 1 }, - "41": { "UnicodeSupport": 2 }, - "42": { "UpgradeTo30": 2 }, - "43": { "UpgradeTo32": 3 }, - "44": { "UpgradeTo34": 1 }, - "45": { "UpgradeTo341": 1 }, - "46": { "UpgradeTo35": 7 }, - "47": { "UpgradeTo36": 1 }, - "48": { "UpgradingTo27": 1 }, - "49": { "Viewport": 1 } - }, - "stomach": { - "0": { "RepExec": 1 } - }, - "stop": { - "0": { "acintro8": 4 }, - "1": { "AudioChannel": 1 }, - "2": { "Button": 1 }, - "3": { "Character": 16 }, - "4": { "Constants": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "Dialog": 1 }, - "8": { "DialogScript": 2 }, - "9": { "EditorFont": 1 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "FAQ": 1 }, - "12": { "Game": 2 }, - "13": { "Gamevariables": 1 }, - "14": { "Globalfunctions_Event": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Room": 1 }, - "17": { "GUI": 3 }, - "18": { "GUIControl": 1 }, - "19": { "Mouse": 1 }, - "20": { "Object": 7 }, - "21": { "RepExec": 1 }, - "22": { "ScriptingTutorialPart2": 1 }, - "23": { "ScriptKeywords": 1 }, - "24": { "Speech": 2 }, - "25": { "UpgradingTo27": 3 }, - "26": { "UpgradingTo271": 1 } - }, - "stopped": { - "0": { "Debuggingfeatures": 1 }, - "1": { "DialogScript": 1 }, - "2": { "Game": 1 }, - "3": { "Gamevariables": 1 }, - "4": { "MusicAndSound": 1 }, - "5": { "Object": 1 }, - "6": { "VoiceSpeech": 1 } - }, - "stopping": { - "0": { "DialogScript": 1 }, - "1": { "EventTypes": 1 } - }, - "stops": { - "0": { "AudioClip": 1 }, - "1": { "EditorView": 1 }, - "2": { "Globalfunctions_General": 1 } - }, - "storage": { - "0": { "Dictionary": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorSprite": 3 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "GameSavesCompatibility": 1 }, - "5": { "GeneralSettings": 2 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "UpgradeTo36": 2 } - }, - "store": { - "0": { "AudioClip": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "Constants": 1 }, - "5": { "CustomProperties": 1 }, - "6": { "DefaultSetup": 2 }, - "7": { "Dialog": 1 }, - "8": { "Dictionary": 1 }, - "9": { "DistGame": 1 }, - "10": { "DynamicArrays": 2 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorInventoryItems": 1 }, - "13": { "EditorPreferences": 1 }, - "14": { "EditorSprite": 1 }, - "15": { "EnginePluginDesign-timeAPI": 1 }, - "16": { "EnginePluginRun-timeAPI": 2 }, - "17": { "File": 1 }, - "18": { "Game": 1 }, - "19": { "GameSavesCompatibility": 4 }, - "20": { "GeneralSettings": 2 }, - "21": { "GlobalArrays": 1 }, - "22": { "Globalfunctions_General": 1 }, - "23": { "GlobalVariables": 3 }, - "24": { "GUI": 1 }, - "25": { "GUIControl": 1 }, - "26": { "Hotspot": 1 }, - "27": { "InventoryItem": 1 }, - "28": { "MusicAndSound": 1 }, - "29": { "Object": 1 }, - "30": { "OOProgramming": 2 }, - "31": { "Parser": 1 }, - "32": { "Pointers": 2 }, - "33": { "Room": 1 }, - "34": { "ScriptingTutorialPart1": 1 }, - "35": { "ScriptKeywords": 6 }, - "36": { "Set": 1 }, - "37": { "Setup": 4 }, - "38": { "StandardEnums": 1 }, - "39": { "TroubleshootingWindowsZoneID": 2 }, - "40": { "UnicodeSupport": 1 }, - "41": { "Viewport": 1 }, - "42": { "VoiceSpeech": 1 } - }, - "stored": { - "0": { "AudioClip": 2 }, - "1": { "AudioInScript": 1 }, - "2": { "Character": 2 }, - "3": { "DefaultSetup": 1 }, - "4": { "Dialog": 1 }, - "5": { "Dictionary": 4 }, - "6": { "DistGame": 2 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorSprite": 1 }, - "9": { "EnginePluginRun-timeAPI": 4 }, - "10": { "File": 1 }, - "11": { "Game": 1 }, - "12": { "GameSavesCompatibility": 3 }, - "13": { "GUI": 2 }, - "14": { "GUIControl": 2 }, - "15": { "Hotspot": 1 }, - "16": { "InventoryItem": 1 }, - "17": { "ListBox": 1 }, - "18": { "Object": 3 }, - "19": { "Overlay": 1 }, - "20": { "Pointers": 1 }, - "21": { "ScriptKeywords": 3 }, - "22": { "Set": 3 }, - "23": { "SystemLimits": 1 }, - "24": { "TroubleshootingWindowsZoneID": 1 }, - "25": { "UpgradeTo36": 1 } - }, - "stores": { - "0": { "DistGame": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Game": 2 }, - "3": { "GeneralSettings": 2 }, - "4": { "Globalfunctions_Palette": 1 }, - "5": { "Object": 1 }, - "6": { "ScriptKeywords": 1 } - }, - "storing": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "OOProgramming": 1 } - }, - "story": { - "0": { "GameSavesCompatibility": 1 } - }, - "str": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "straight": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "Character": 9 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GUIControl": 1 }, - "5": { "Settingupthegame": 2 } - }, - "straightforward": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "Pointers": 1 } - }, - "strange": { - "0": { "acintro6": 2 }, - "1": { "GameEventsOrder": 1 }, - "2": { "Gamevariables": 1 }, - "3": { "Globalfunctions_Palette": 1 }, - "4": { "ScriptingTutorialPart1": 1 }, - "5": { "Settingupthegame": 2 }, - "6": { "TheScriptHeader": 1 } - }, - "strategy": { - "0": { "FAQ": 1 } - }, - "strcmp": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "stream": { - "0": { "EngineConfigFile": 1 }, - "1": { "EnginePluginRun-timeAPI": 27 }, - "2": { "TroubleshootingWindowsZoneID": 8 } - }, - "stream's": { - "0": { "EnginePluginRun-timeAPI": 7 } - }, - "streamed": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "streaming": { - "0": { "EngineConfigFile": 1 } - }, - "streamlined": { - "0": { "DialogScript": 1 } - }, - "streams": { - "0": { "EnginePluginRun-timeAPI": 4 }, - "1": { "TroubleshootingWindowsZoneID": 9 } - }, - "street": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "strength": { - "0": { "ScriptKeywords": 2 } - }, - "stretch": { - "0": { "DynamicSprite": 2 }, - "1": { "EditorGUI": 1 }, - "2": { "EngineConfigFile": 3 }, - "3": { "FAQ": 1 }, - "4": { "Multimedia": 1 }, - "5": { "Overlay": 2 }, - "6": { "RuntimeEngine": 2 } - }, - "stretched": { - "0": { "Camera": 1 }, - "1": { "Character": 1 }, - "2": { "DefaultSetup": 3 }, - "3": { "EditorGUI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Multimedia": 2 }, - "6": { "Object": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "Setup": 3 }, - "9": { "UpgradeTo35": 1 }, - "10": { "Viewport": 1 } - }, - "stretches": { - "0": { "Settingupthegame": 1 } - }, - "stretching": { - "0": { "UpgradeTo34": 1 }, - "1": { "UpgradeTo36": 1 } - }, - "strict": { - "0": { "GeneralSettings": 3 }, - "1": { "SystemLimits": 1 } - }, - "strictly": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GeneralSettings": 2 }, - "2": { "GraphicsDriver": 1 }, - "3": { "ScriptAPIOverview": 1 }, - "4": { "UnicodeSupport": 2 }, - "5": { "UpgradeTo34": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "string": { - "0": { "AudioClip": 2 }, - "1": { "Character": 15 }, - "2": { "CustomProperties": 1 }, - "3": { "Dialog": 2 }, - "4": { "DialogScript": 3 }, - "5": { "Dictionary": 3 }, - "6": { "DrawingSurface": 4 }, - "7": { "DynamicSprite": 2 }, - "8": { "EngineConfigFile": 20 }, - "9": { "EnginePluginDesign-timeAPI": 3 }, - "10": { "EnginePluginRun-timeAPI": 11 }, - "11": { "FAQ": 2 }, - "12": { "File": 20 }, - "13": { "Game": 23 }, - "14": { "GeneralSettings": 7 }, - "15": { "Globalfunctions_General": 13 }, - "16": { "Globalfunctions_Message": 9 }, - "17": { "GUI": 2 }, - "18": { "GUIControl": 3 }, - "19": { "Hotspot": 7 }, - "20": { "InventoryItem": 7 }, - "21": { "Label": 1 }, - "22": { "ListBox": 3 }, - "23": { "Multimedia": 1 }, - "24": { "Object": 7 }, - "25": { "Overlay": 6 }, - "26": { "Parser": 5 }, - "27": { "Pointers": 1 }, - "28": { "Room": 5 }, - "29": { "ScriptAPIOverview": 2 }, - "30": { "ScriptingTutorialPart1": 5 }, - "31": { "ScriptingTutorialPart2": 2 }, - "32": { "ScriptKeywords": 3 }, - "33": { "Set": 5 }, - "34": { "String": 75 }, - "35": { "StringFormats": 6 }, - "36": { "System": 4 }, - "37": { "TextParser": 2 }, - "38": { "TextWindowGUI": 1 }, - "39": { "Translations": 3 }, - "40": { "Tumbleweed_extensions": 1 }, - "41": { "Tumbleweed_movement": 1 }, - "42": { "UnicodeSupport": 1 }, - "43": { "UpgradeTo30": 1 }, - "44": { "UpgradeTo35": 3 }, - "45": { "UpgradeTo36": 1 }, - "46": { "UpgradingTo271": 11 } - }, - "string's": { - "0": { "String": 1 }, - "1": { "UpgradingTo271": 1 } - }, - "stringToCheck": { - "0": { "String": 3 } - }, - "strings": { - "0": { "Constants": 1 }, - "1": { "Dictionary": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 3 }, - "4": { "GeneralSettings": 2 }, - "5": { "ObsoleteScriptAPI": 2 }, - "6": { "Preprocessor": 1 }, - "7": { "ScriptAPIOverview": 1 }, - "8": { "Set": 3 }, - "9": { "String": 6 }, - "10": { "Translations": 3 }, - "11": { "Tumbleweed_translation": 1 }, - "12": { "UpgradingTo271": 6 } - }, - "strip": { - "0": { "DynamicSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 } - }, - "stripped": { - "0": { "TextParser": 1 } - }, - "strips": { - "0": { "EditorView": 1 } - }, - "strong": { - "0": { "Game": 1 } - }, - "strongly": { - "0": { "Character": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorSprite": 1 }, - "3": { "Lipsync": 1 }, - "4": { "Mouse": 2 }, - "5": { "Object": 1 }, - "6": { "Pointers": 1 }, - "7": { "UpgradeTo36": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "struct": { - "0": { "Camera": 2 }, - "1": { "CustomDialogOptions": 2 }, - "2": { "Dictionary": 1 }, - "3": { "EnginePluginRun-timeAPI": 14 }, - "4": { "GameSavesCompatibility": 7 }, - "5": { "GeneralSettings": 1 }, - "6": { "OOProgramming": 14 }, - "7": { "Screen": 4 }, - "8": { "ScriptAPIOverview": 1 }, - "9": { "ScriptKeywords": 28 }, - "10": { "Set": 1 }, - "11": { "StandardTypes": 2 }, - "12": { "TextWindowGUI": 2 }, - "13": { "TheScriptHeader": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "UpgradeTo35": 3 }, - "16": { "Viewport": 4 } - }, - "struct's": { - "0": { "EnginePluginRun-timeAPI": 7 } - }, - "structname": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "structs": { - "0": { "DynamicArrays": 3 }, - "1": { "EnginePluginRun-timeAPI": 5 }, - "2": { "GameSavesCompatibility": 8 }, - "3": { "Pointers": 3 }, - "4": { "ScriptAPIOverview": 2 }, - "5": { "ScriptKeywords": 7 }, - "6": { "StandardTypes": 1 }, - "7": { "UpgradeTo34": 3 } - }, - "structure": { - "0": { "acintro8": 2 }, - "1": { "DistGame": 1 }, - "2": { "EnginePluginRun-timeAPI": 6 }, - "3": { "GeneralSettings": 1 }, - "4": { "OOProgramming": 1 }, - "5": { "UpgradeTo341": 2 }, - "6": { "VoiceSpeech": 1 } - }, - "structured": { - "0": { "ScriptKeywords": 1 } - }, - "stub'": { - "0": { "TemplateBASS": 1 } - }, - "stubs": { - "0": { "Plugins": 1 } - }, - "stuck": { - "0": { "FAQ": 1 }, - "1": { "Gamevariables": 1 } - }, - "stuff": { - "0": { "Preprocessor": 2 }, - "1": { "ScriptingTutorialPart2": 2 }, - "2": { "ScriptKeywords": 4 }, - "3": { "Tumbleweed": 1 }, - "4": { "UpgradeTo32": 1 }, - "5": { "UpgradeTo34": 1 } - }, - "stumble": { - "0": { "UpgradeTo35": 1 } - }, - "stupid": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "sturdy": { - "0": { "Hotspot": 1 } - }, - "style": { - "0": { "acintro8": 1 }, - "1": { "Character": 4 }, - "2": { "Constants": 1 }, - "3": { "DefaultSetup": 3 }, - "4": { "Dictionary": 6 }, - "5": { "DistGame": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EngineConfigFile": 1 }, - "8": { "FAQ": 1 }, - "9": { "Gamevariables": 1 }, - "10": { "GeneralSettings": 7 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "GUI": 12 }, - "13": { "InventoryItem": 2 }, - "14": { "ScriptAPIOverview": 2 }, - "15": { "Set": 6 }, - "16": { "Speech": 3 }, - "17": { "TemplateVerbcoin": 1 }, - "18": { "TroubleshootingWindowsZoneID": 1 }, - "19": { "UpgradeTo33": 2 }, - "20": { "UpgradeTo36": 2 }, - "21": { "VoiceSpeech": 2 } - }, - "styles": { - "0": { "CustomDialogOptions": 1 } - }, - "sub-directory": { - "0": { "MIDI-playback": 2 }, - "1": { "VoiceSpeech": 2 } - }, - "sub-folder": { - "0": { "Settingupthegame": 2 } - }, - "sub-folders": { - "0": { "acintro6": 1 } - }, - "sub-nodes": { - "0": { "MusicAndSound": 1 } - }, - "sub-section": { - "0": { "acintro2": 1 } - }, - "subclass": { - "0": { "Button": 1 }, - "1": { "InvWindow": 1 }, - "2": { "Label": 1 }, - "3": { "ListBox": 1 }, - "4": { "Slider": 1 }, - "5": { "TextBox": 1 } - }, - "subdirectories": { - "0": { "DistGame": 1 }, - "1": { "File": 2 }, - "2": { "VoiceSpeech": 1 } - }, - "subdirectory": { - "0": { "VoiceSpeech": 1 } - }, - "subfolder": { - "0": { "DistGame": 8 }, - "1": { "EditorSprite": 4 }, - "2": { "Game": 1 }, - "3": { "MusicAndSound": 2 }, - "4": { "UpgradeTo36": 2 } - }, - "subfolder's": { - "0": { "UpgradeTo36": 1 } - }, - "subfolders": { - "0": { "DistGame": 2 }, - "1": { "MusicAndSound": 2 }, - "2": { "UpgradeTo341": 1 }, - "3": { "UpgradeTo36": 2 }, - "4": { "VoiceSpeech": 1 } - }, - "subject": { - "0": { "EditorRoom": 1 }, - "1": { "FAQ": 1 } - }, - "submission": { - "0": { "GeneralSettings": 1 } - }, - "submitted": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Parser": 1 } - }, - "submodule": { - "0": { "Tumbleweed": 1 } - }, - "subordinate": { - "0": { "MusicAndSound": 1 } - }, - "subsequent": { - "0": { "File": 1 }, - "1": { "TextParser": 1 } - }, - "substitute": { - "0": { "DefaultSetup": 2 }, - "1": { "DialogScript": 1 }, - "2": { "GeneralSettings": 2 }, - "3": { "UpgradeTo35": 1 } - }, - "substituted": { - "0": { "DialogScript": 1 }, - "1": { "Label": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "substitutes": { - "0": { "Translations": 1 } - }, - "substring": { - "0": { "String": 2 } - }, - "substrings": { - "0": { "GameSavesCompatibility": 1 } - }, - "subsystem": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "subtract": { - "0": { "Globalfunctions_General": 1 }, - "1": { "ScriptingTutorialPart1": 1 } - }, - "subtracting": { - "0": { "DynamicSprite": 1 } - }, - "succeed": { - "0": { "Globalfunctions_Room": 1 } - }, - "succeeded": { - "0": { "Preprocessor": 1 } - }, - "success": { - "0": { "DialogOptionsRenderingInfo": 1 }, - "1": { "Dictionary": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 } - }, - "successful": { - "0": { "DynamicSprite": 2 }, - "1": { "EditorCommandLineOptions": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Pointers": 1 } - }, - "successfully": { - "0": { "AudioInScript": 1 }, - "1": { "BuildAndroid": 1 }, - "2": { "Dictionary": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "Game": 3 }, - "5": { "Globalfunctions_General": 1 } - }, - "suddenly": { - "0": { "Debuggingfeatures": 1 }, - "1": { "GeneralSettings": 1 } - }, - "sufficient": { - "0": { "DistGame": 1 }, - "1": { "Game": 1 }, - "2": { "StartingOff": 1 } - }, - "suffix": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Translations": 1 } - }, - "sugar": { - "0": { "ExtenderFunctions": 1 } - }, - "suggest": { - "0": { "BlockingScripts": 1 }, - "1": { "Character": 1 }, - "2": { "GUI": 1 }, - "3": { "Object": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "Tumbleweed_door": 1 } - }, - "suggested": { - "0": { "FAQ": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "System": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "suggestion": { - "0": { "GameSavesCompatibility": 1 } - }, - "suggestions": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "Credits": 1 } - }, - "suit": { - "0": { "Credits": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "System": 1 } - }, - "suitable": { - "0": { "acintro6": 1 }, - "1": { "EventTypes": 1 }, - "2": { "Game": 3 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "InventoryItem": 1 }, - "6": { "Setup": 1 }, - "7": { "TemplateVerbcoin": 1 } - }, - "suited": { - "0": { "GameSavesCompatibility": 2 }, - "1": { "GeneralSettings": 2 } - }, - "suits": { - "0": { "acintro1": 1 } - }, - "sum": { - "0": { "ImportingFunctionsAndVariables": 1 } - }, - "summarize": { - "0": { "Dictionary": 1 } - }, - "summarized": { - "0": { "KeyboardShortcuts": 1 } - }, - "summary": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "summed": { - "0": { "StandardEnums": 2 } - }, - "super-sampling": { - "0": { "EngineConfigFile": 1 } - }, - "superceded": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "supercedes": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "supersampling": { - "0": { "EngineConfigFile": 1 } - }, - "supersedes": { - "0": { "ListBox": 1 } - }, - "supplied": { - "0": { "DrawingSurface": 1 }, - "1": { "EnginePluginRun-timeAPI": 11 }, - "2": { "Game": 4 }, - "3": { "Globalfunctions_General": 4 }, - "4": { "InvWindow": 1 }, - "5": { "Maths": 5 }, - "6": { "Parser": 1 }, - "7": { "Room": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "String": 1 }, - "10": { "StringFormats": 1 }, - "11": { "Tumbleweed_door": 1 } - }, - "supplies": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "OOProgramming": 1 } - }, - "supply": { - "0": { "AudioClip": 2 }, - "1": { "Character": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DrawingSurface": 1 }, - "4": { "DynamicSprite": 6 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "EnginePlugins": 1 }, - "7": { "Game": 2 }, - "8": { "Object": 1 }, - "9": { "OOProgramming": 1 }, - "10": { "Region": 1 }, - "11": { "ScriptingTutorialPart1": 7 }, - "12": { "ScriptKeywords": 2 }, - "13": { "StringFormats": 2 }, - "14": { "UpgradingTo27": 1 } - }, - "supplying": { - "0": { "Character": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "support": { - "0": { "acintro1": 1 }, - "1": { "acintro9": 2 }, - "2": { "AudioChannel": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 1 }, - "6": { "Constants": 2 }, - "7": { "DistGame": 1 }, - "8": { "EditorPreferences": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 4 }, - "11": { "EnginePlugins": 1 }, - "12": { "GeneralSettings": 6 }, - "13": { "Globalfunctions_Event": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "GraphicsDriver": 1 }, - "16": { "Multimedia": 1 }, - "17": { "Plugins": 3 }, - "18": { "Pointers": 1 }, - "19": { "ScriptAPIOverview": 1 }, - "20": { "Settingupthegame": 1 }, - "21": { "Setup": 1 }, - "22": { "System": 1 }, - "23": { "SystemRequirements": 1 }, - "24": { "TroubleshootingWindowsZoneID": 1 }, - "25": { "UnicodeSupport": 2 }, - "26": { "UpgradeTo31": 3 }, - "27": { "UpgradeTo33": 1 }, - "28": { "UpgradeTo36": 5 }, - "29": { "UpgradingTo27": 1 }, - "30": { "UpgradingTo271": 1 }, - "31": { "VoiceSpeech": 1 } - }, - "supported": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "BuildAndroid": 1 }, - "4": { "Button": 2 }, - "5": { "Camera": 1 }, - "6": { "Character": 8 }, - "7": { "Constants": 1 }, - "8": { "CustomDialogOptions": 1 }, - "9": { "DefaultSetup": 1 }, - "10": { "Dictionary": 1 }, - "11": { "DistGame": 1 }, - "12": { "EditorPlugins": 3 }, - "13": { "EngineConfigFile": 1 }, - "14": { "EnginePluginRun-timeAPI": 14 }, - "15": { "File": 4 }, - "16": { "Game": 2 }, - "17": { "Gamevariables": 1 }, - "18": { "Globalfunctions_Event": 5 }, - "19": { "Globalfunctions_General": 4 }, - "20": { "Globalfunctions_Wait": 2 }, - "21": { "Keycodes": 3 }, - "22": { "Label": 1 }, - "23": { "Lipsync": 1 }, - "24": { "ListBox": 1 }, - "25": { "Maths": 2 }, - "26": { "Mouse": 2 }, - "27": { "Multimedia": 7 }, - "28": { "MultipleScripts": 1 }, - "29": { "MusicAndSound": 1 }, - "30": { "Object": 2 }, - "31": { "OOProgramming": 1 }, - "32": { "Preprocessor": 1 }, - "33": { "Region": 1 }, - "34": { "RuntimeEngine": 3 }, - "35": { "Screen": 2 }, - "36": { "ScriptAPIOverview": 2 }, - "37": { "Set": 1 }, - "38": { "Settingupthegame": 1 }, - "39": { "Setup": 1 }, - "40": { "SourceControl": 1 }, - "41": { "StandardEnums": 2 }, - "42": { "System": 3 }, - "43": { "TextWindowGUI": 1 }, - "44": { "Translations": 1 }, - "45": { "UpgradeTo30": 1 }, - "46": { "UpgradeTo31": 1 }, - "47": { "UpgradeTo32": 1 }, - "48": { "UpgradeTo34": 2 }, - "49": { "UpgradeTo36": 3 }, - "50": { "Viewport": 1 }, - "51": { "VoiceSpeech": 1 } - }, - "supporting": { - "0": { "Preprocessor": 1 } - }, - "supports": { - "0": { "acintro6": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Camera": 1 }, - "4": { "Character": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorFont": 1 }, - "9": { "EditorSprite": 1 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 5 }, - "13": { "EnginePlugins": 2 }, - "14": { "GameSavesCompatibility": 1 }, - "15": { "GeneralSettings": 1 }, - "16": { "Globalfunctions_Event": 1 }, - "17": { "Globalfunctions_Message": 1 }, - "18": { "GraphicsDriver": 2 }, - "19": { "Keycodes": 1 }, - "20": { "Label": 1 }, - "21": { "Lipsync": 3 }, - "22": { "Multimedia": 3 }, - "23": { "Plugins": 2 }, - "24": { "ScriptingTutorialPart2": 1 }, - "25": { "ScriptKeywords": 2 }, - "26": { "Setup": 2 }, - "27": { "SourceControl": 2 }, - "28": { "System": 2 }, - "29": { "Translations": 2 }, - "30": { "TroubleshootingWindowsZoneID": 1 }, - "31": { "Tumbleweed": 2 }, - "32": { "UnicodeSupport": 1 }, - "33": { "UpgradeTo34": 1 }, - "34": { "UpgradeTo36": 3 }, - "35": { "UpgradingTo27": 3 }, - "36": { "VoiceSpeech": 2 } - }, - "suppose": { - "0": { "BlockingScripts": 2 }, - "1": { "ImportingFunctionsAndVariables": 2 }, - "2": { "MultipleScripts": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptingTutorialPart2": 2 }, - "5": { "ScriptKeywords": 3 }, - "6": { "UpgradeTo34": 1 } - }, - "supposed": { - "0": { "acintro4": 1 }, - "1": { "EngineConfigFile": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "ScriptKeywords": 1 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo32": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "suppress": { - "0": { "TemplateVerbcoin": 1 } - }, - "suppressed": { - "0": { "TemplateBASS": 1 } - }, - "sure": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 2 }, - "4": { "acintro6": 1 }, - "5": { "acintro8": 3 }, - "6": { "AudioChannel": 2 }, - "7": { "AudioInScript": 1 }, - "8": { "BackingUpYourGame": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Camera": 1 }, - "11": { "Character": 6 }, - "12": { "ContactingTheDevelopers": 1 }, - "13": { "CustomDialogOptions": 1 }, - "14": { "Debuggingfeatures": 1 }, - "15": { "DistGame": 1 }, - "16": { "DynamicArrays": 1 }, - "17": { "DynamicSprite": 1 }, - "18": { "EditorGUI": 1 }, - "19": { "EditorInventoryItems": 2 }, - "20": { "EditorPlugins": 2 }, - "21": { "EnginePluginDesign-timeAPI": 1 }, - "22": { "EnginePluginRun-timeAPI": 11 }, - "23": { "FAQ": 7 }, - "24": { "Game": 1 }, - "25": { "Globalfunctions_General": 4 }, - "26": { "ListBox": 1 }, - "27": { "Mouse": 1 }, - "28": { "Multimedia": 2 }, - "29": { "MusicAndSound": 1 }, - "30": { "OOProgramming": 3 }, - "31": { "Overlay": 2 }, - "32": { "Plugins": 1 }, - "33": { "Preprocessor": 1 }, - "34": { "Room": 1 }, - "35": { "RuntimeEngine": 1 }, - "36": { "ScriptingTutorialPart1": 1 }, - "37": { "ScriptingTutorialPart2": 1 }, - "38": { "Settingupthegame": 1 }, - "39": { "Templates": 1 }, - "40": { "Translations": 5 }, - "41": { "Tumbleweed_actions": 1 }, - "42": { "UpgradeTo30": 1 }, - "43": { "UpgradingTo27": 1 }, - "44": { "Viewport": 1 } - }, - "surely": { - "0": { "CustomProperties": 1 } - }, - "surface": { - "0": { "CustomDialogOptions": 1 }, - "1": { "DialogOptionsRenderingInfo": 5 }, - "2": { "DrawingSurface": 100 }, - "3": { "DynamicSprite": 53 }, - "4": { "EnginePluginRun-timeAPI": 11 }, - "5": { "Game": 4 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 4 }, - "8": { "Globalfunctions_Room": 12 }, - "9": { "GraphicsDriver": 2 }, - "10": { "Hotspot": 6 }, - "11": { "Region": 6 }, - "12": { "Room": 7 }, - "13": { "UpgradeTo30": 2 }, - "14": { "UpgradeTo33": 1 } - }, - "surface's": { - "0": { "DrawingSurface": 1 } - }, - "surfaces": { - "0": { "DrawingSurface": 4 } - }, - "surround": { - "0": { "EditorGUI": 1 } - }, - "surrounded": { - "0": { "ScriptingTutorialPart1": 2 } - }, - "surrounding": { - "0": { "Settingupthegame": 1 }, - "1": { "TextWindowGUI": 1 } - }, - "suspects": { - "0": { "FAQ": 1 } - }, - "suspend": { - "0": { "Globalfunctions_General": 1 } - }, - "swap": { - "0": { "acintro1": 1 }, - "1": { "ColoursEditor": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "swaps": { - "0": { "GeneralSettings": 1 } - }, - "swimming": { - "0": { "Character": 1 } - }, - "switch": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro5": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "EditorCharacter": 1 }, - "6": { "EditorRoom": 2 }, - "7": { "FAQ": 1 }, - "8": { "Game": 1 }, - "9": { "GameSavesCompatibility": 1 }, - "10": { "GeneralSettings": 2 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "GraphicsDriver": 1 }, - "13": { "Object": 1 }, - "14": { "ScriptKeywords": 13 }, - "15": { "Settingupthegame": 1 }, - "16": { "System": 4 }, - "17": { "Translations": 1 }, - "18": { "Tumbleweed": 1 }, - "19": { "UnicodeSupport": 3 }, - "20": { "UpgradeTo34": 7 }, - "21": { "UpgradeTo35": 1 }, - "22": { "UpgradeTo36": 4 } - }, - "switched": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "Dialog": 1 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Game": 1 }, - "5": { "GameSavesCompatibility": 1 }, - "6": { "InventoryItem": 1 }, - "7": { "Object": 1 }, - "8": { "System": 1 }, - "9": { "TemplateSierraStyle": 2 } - }, - "switches": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorRoom": 2 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "GUI": 1 }, - "6": { "ScriptAPIOverview": 8 }, - "7": { "Setup": 1 }, - "8": { "System": 3 }, - "9": { "UpgradeTo34": 1 }, - "10": { "UpgradeTo341": 2 } - }, - "switching": { - "0": { "GeneralSettings": 2 }, - "1": { "Mouse": 1 }, - "2": { "VoiceSpeech": 1 } - }, - "sword": { - "0": { "OOProgramming": 1 }, - "1": { "ScriptKeywords": 6 } - }, - "swordDamage": { - "0": { "ScriptKeywords": 1 } - }, - "swordName": { - "0": { "ScriptKeywords": 1 } - }, - "swordPrice": { - "0": { "ScriptKeywords": 1 } - }, - "swordsmanHealth": { - "0": { "ScriptKeywords": 1 } - }, - "sx": { - "0": { "Screen": 1 } - }, - "sy": { - "0": { "Screen": 1 } - }, - "symbol": { - "0": { "DialogScript": 1 }, - "1": { "Pointers": 1 }, - "2": { "ScriptingTutorialPart1": 1 }, - "3": { "ScriptingTutorialPart2": 1 } - }, - "symbolize": { - "0": { "VoiceSpeech": 1 } - }, - "symbols": { - "0": { "Pointers": 1 }, - "1": { "Settingupthegame": 1 }, - "2": { "String": 1 }, - "3": { "UpgradeTo335": 1 } - }, - "sync": { - "0": { "Character": 2 }, - "1": { "DefaultSetup": 2 }, - "2": { "EngineConfigFile": 1 }, - "3": { "Lipsync": 10 }, - "4": { "OtherFeatures": 1 }, - "5": { "Setup": 1 }, - "6": { "Speech": 1 }, - "7": { "System": 2 } - }, - "synchronization": { - "0": { "Setup": 1 } - }, - "synchronize": { - "0": { "Character": 2 } - }, - "syncing": { - "0": { "Lipsync": 3 }, - "1": { "UpgradeTo32": 1 } - }, - "synonym": { - "0": { "TextParser": 3 } - }, - "synonyms": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Parser": 1 }, - "2": { "TextParser": 7 } - }, - "syntax": { - "0": { "DialogScript": 1 }, - "1": { "EditorDialog": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "ExtenderFunctions": 1 }, - "4": { "Pointers": 1 }, - "5": { "UpgradingTo27": 1 } - }, - "synthesizer": { - "0": { "MIDI-playback": 3 } - }, - "system": { - "0": { "acintro8": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AnonymousUsageInfo": 2 }, - "3": { "AudioClip": 2 }, - "4": { "AudioInScript": 1 }, - "5": { "Copyright": 3 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DateTime": 3 }, - "8": { "DefaultSetup": 1 }, - "9": { "Dialog": 1 }, - "10": { "DialogOptionsRenderingInfo": 1 }, - "11": { "DialogScript": 1 }, - "12": { "DistGame": 1 }, - "13": { "DrawingSurface": 1 }, - "14": { "EditorCommandLineOptions": 1 }, - "15": { "EditorDialog": 2 }, - "16": { "EditorLogPanel": 1 }, - "17": { "EngineConfigFile": 3 }, - "18": { "EnginePluginDesign-timeAPI": 1 }, - "19": { "EnginePluginRun-timeAPI": 9 }, - "20": { "File": 3 }, - "21": { "Game": 1 }, - "22": { "GameSavesCompatibility": 2 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_Event": 1 }, - "25": { "Globalfunctions_General": 3 }, - "26": { "GlobalVariables": 1 }, - "27": { "GraphicsDriver": 3 }, - "28": { "ListBox": 1 }, - "29": { "MIDI-playback": 2 }, - "30": { "Mouse": 2 }, - "31": { "Multimedia": 6 }, - "32": { "MusicAndSound": 5 }, - "33": { "ObsoleteScriptAPI": 5 }, - "34": { "RuntimeEngine": 2 }, - "35": { "Screen": 2 }, - "36": { "ScriptAPIOverview": 2 }, - "37": { "ScriptingTutorial": 1 }, - "38": { "ScriptingTutorialPart1": 3 }, - "39": { "Setup": 1 }, - "40": { "SourceControl": 2 }, - "41": { "System": 17 }, - "42": { "SystemLimits": 1 }, - "43": { "SystemRequirements": 1 }, - "44": { "TroubleshootingWindowsZoneID": 1 }, - "45": { "Tumbleweed_door": 1 }, - "46": { "UpgradeTo30": 1 }, - "47": { "UpgradeTo31": 3 }, - "48": { "UpgradeTo32": 5 }, - "49": { "UpgradeTo34": 1 }, - "50": { "UpgradeTo35": 3 }, - "51": { "UpgradeTo36": 1 }, - "52": { "UpgradingTo27": 2 }, - "53": { "Viewport": 2 } - }, - "system's": { - "0": { "EngineConfigFile": 1 }, - "1": { "Setup": 1 } - }, - "systems": { - "0": { "Copyright": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DistGame": 4 }, - "3": { "GraphicsDriver": 3 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Setup": 1 }, - "6": { "SourceControl": 3 } - }, - "tab": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 3 }, - "8": { "BuildAndroid": 1 }, - "9": { "Character": 2 }, - "10": { "EditorPlugins": 1 }, - "11": { "EditorPreferences": 1 }, - "12": { "KeyboardShortcuts": 3 }, - "13": { "Lipsync": 1 }, - "14": { "Mouse": 3 }, - "15": { "Parser": 1 }, - "16": { "Room": 1 } - }, - "table": { - "0": { "acintro2": 2 }, - "1": { "EditorDialog": 1 }, - "2": { "EventTypes": 1 }, - "3": { "FAQ": 1 }, - "4": { "Hotspot": 1 }, - "5": { "Keycodes": 1 }, - "6": { "ObsoleteScriptAPI": 1 }, - "7": { "Translations": 1 }, - "8": { "UpgradeTo33": 1 }, - "9": { "UpgradeTo341": 1 }, - "10": { "UpgradeTo35": 3 } - }, - "table's": { - "0": { "Object": 1 } - }, - "tables": { - "0": { "DefaultSetup": 1 }, - "1": { "EventTypes": 1 } - }, - "tablet": { - "0": { "TextParser": 5 } - }, - "tabs": { - "0": { "acintro1": 1 }, - "1": { "DialogScript": 2 }, - "2": { "EditorPreferences": 3 } - }, - "tag": { - "0": { "File": 3 }, - "1": { "Game": 1 }, - "2": { "UpgradeTo335": 4 }, - "3": { "UpgradeTo35": 3 }, - "4": { "UpgradeTo36": 1 } - }, - "tagged": { - "0": { "GeneralSettings": 2 }, - "1": { "UpgradeTo35": 3 } - }, - "tags": { - "0": { "File": 4 }, - "1": { "GeneralSettings": 2 }, - "2": { "ListBox": 1 }, - "3": { "StringFormats": 1 }, - "4": { "UpgradeTo35": 1 } - }, - "take": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 2 }, - "3": { "acintro8": 1 }, - "4": { "Character": 5 }, - "5": { "DefaultSetup": 1 }, - "6": { "EditorPlugins": 2 }, - "7": { "EnginePluginRun-timeAPI": 4 }, - "8": { "GeneralSettings": 1 }, - "9": { "Globalfunctions_General": 3 }, - "10": { "GUI": 1 }, - "11": { "ListBox": 1 }, - "12": { "MusicAndSound": 1 }, - "13": { "Region": 1 }, - "14": { "ScriptingTutorialPart2": 1 }, - "15": { "ScriptKeywords": 3 }, - "16": { "Settingupthegame": 1 }, - "17": { "Setup": 1 }, - "18": { "String": 2 }, - "19": { "System": 1 }, - "20": { "TextParser": 4 }, - "21": { "Tumbleweed": 3 }, - "22": { "Tumbleweed_door": 2 }, - "23": { "Tumbleweed_extensions": 2 }, - "24": { "Tumbleweed_translation": 4 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradingTo27": 1 }, - "27": { "UpgradingTo271": 1 } - }, - "taken": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 2 }, - "2": { "acintro5": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "Settingupthegame": 1 }, - "5": { "StandardEnums": 2 }, - "6": { "Templates": 1 }, - "7": { "UpgradeTo30": 1 }, - "8": { "Viewport": 1 } - }, - "takes": { - "0": { "acintro8": 2 }, - "1": { "CustomProperties": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorPlugins": 1 }, - "4": { "EnginePluginRun-timeAPI": 7 }, - "5": { "ImportingFunctionsAndVariables": 1 }, - "6": { "Mouse": 1 }, - "7": { "Region": 1 }, - "8": { "ScriptingTutorialPart1": 2 }, - "9": { "String": 1 }, - "10": { "Templates": 1 } - }, - "taking": { - "0": { "acintro4": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "Character": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Screen": 2 }, - "5": { "Viewport": 2 } - }, - "talk": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 6 }, - "2": { "Character": 1 }, - "3": { "EventTypes": 3 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "Tumbleweed": 2 }, - "7": { "Tumbleweed_extensions": 2 }, - "8": { "Tumbleweed_translation": 1 } - }, - "talkanim": { - "0": { "ObsoleteScriptAPI": 1 }, - "1": { "Speech": 1 }, - "2": { "UpgradeTo33": 1 } - }, - "talked": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "RepExec": 1 } - }, - "talkie": { - "0": { "VoiceSpeech": 1 } - }, - "talking": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 2 }, - "2": { "BlockingScripts": 3 }, - "3": { "Character": 21 }, - "4": { "EnginePlugins": 1 }, - "5": { "GeneralSettings": 2 }, - "6": { "Globalfunctions_Message": 2 }, - "7": { "Lipsync": 8 }, - "8": { "Settingupthegame": 7 }, - "9": { "Speech": 2 }, - "10": { "Tumbleweed_movement": 1 } - }, - "talks": { - "0": { "acintro8": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "Lipsync": 1 }, - "3": { "Settingupthegame": 1 } - }, - "talkview": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "tall": { - "0": { "EditorGUI": 1 }, - "1": { "Globalfunctions_General": 1 } - }, - "taller": { - "0": { "Object": 1 } - }, - "tan": { - "0": { "Maths": 4 } - }, - "tangent": { - "0": { "Maths": 2 } - }, - "tap": { - "0": { "DefaultSetup": 3 }, - "1": { "EngineConfigFile": 3 }, - "2": { "TemplateSierraStyle": 1 } - }, - "target": { - "0": { "BuildAndroid": 1 }, - "1": { "Character": 4 }, - "2": { "DistGame": 6 }, - "3": { "GeneralSettings": 1 }, - "4": { "StandardTypes": 3 }, - "5": { "UpgradeTo34": 2 } - }, - "targets": { - "0": { "DistGame": 1 } - }, - "task": { - "0": { "ListBox": 1 }, - "1": { "TextParser": 1 }, - "2": { "UpgradeTo31": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "tasks": { - "0": { "DateTime": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Multimedia": 2 }, - "5": { "RepExec": 1 }, - "6": { "ScriptingTutorialPart1": 1 } - }, - "taste": { - "0": { "EventTypes": 3 }, - "1": { "UpgradeTo33": 1 } - }, - "teach": { - "0": { "ScriptingTutorial": 1 } - }, - "team": { - "0": { "EditorSprite": 2 } - }, - "teams": { - "0": { "SourceControl": 1 } - }, - "tearing": { - "0": { "Setup": 1 }, - "1": { "System": 1 } - }, - "technical": { - "0": { "EnginePlugins": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Pointers": 1 }, - "3": { "UpgradeTo36": 1 }, - "4": { "VoiceSpeech": 1 } - }, - "technically": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "UnicodeSupport": 1 } - }, - "techno-garbage": { - "0": { "ContactingTheDevelopers": 1 } - }, - "technology": { - "0": { "Settingupthegame": 1 } - }, - "teel": { - "0": { "Templates": 1 } - }, - "teleport": { - "0": { "acintro1": 1 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_General": 1 } - }, - "tell": { - "0": { "acintro2": 1 }, - "1": { "Character": 3 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorDialog": 1 }, - "4": { "EditorGUI": 1 }, - "5": { "EditorInventoryItems": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 6 }, - "8": { "EventTypes": 1 }, - "9": { "Game": 1 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Gamevariables": 1 }, - "12": { "GlobalArrays": 1 }, - "13": { "Globalfunctions_Event": 1 }, - "14": { "Globalfunctions_Message": 1 }, - "15": { "GUI": 1 }, - "16": { "Object": 1 }, - "17": { "Pointers": 1 }, - "18": { "RepExec": 1 }, - "19": { "RuntimeEngine": 8 }, - "20": { "ScriptingTutorialPart1": 3 }, - "21": { "Settingupthegame": 2 }, - "22": { "Templates": 1 }, - "23": { "Tumbleweed": 1 }, - "24": { "UpgradeTo32": 1 }, - "25": { "UpgradeTo335": 1 }, - "26": { "UpgradeTo36": 1 }, - "27": { "UpgradingTo27": 1 } - }, - "telling": { - "0": { "acintro3": 2 }, - "1": { "DateTime": 1 }, - "2": { "File": 1 }, - "3": { "RepExec": 1 }, - "4": { "ScriptingTutorialPart2": 1 } - }, - "tells": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro8": 2 }, - "3": { "acintro9": 1 }, - "4": { "Character": 2 }, - "5": { "Debuggingfeatures": 2 }, - "6": { "DefaultSetup": 2 }, - "7": { "Dialog": 1 }, - "8": { "DialogScript": 1 }, - "9": { "DynamicArrays": 1 }, - "10": { "EditorCursor": 1 }, - "11": { "EngineConfigFile": 9 }, - "12": { "EnginePluginRun-timeAPI": 3 }, - "13": { "FAQ": 1 }, - "14": { "Game": 1 }, - "15": { "GeneralSettings": 1 }, - "16": { "Globalfunctions_General": 1 }, - "17": { "GUI": 2 }, - "18": { "Overlay": 1 }, - "19": { "Pointers": 1 }, - "20": { "Screen": 1 }, - "21": { "ScriptingTutorialPart1": 2 }, - "22": { "ScriptKeywords": 1 }, - "23": { "Settingupthegame": 2 }, - "24": { "SystemLimits": 1 }, - "25": { "TextParser": 1 }, - "26": { "Tumbleweed_door": 1 }, - "27": { "Tumbleweed_extensions": 1 }, - "28": { "Tumbleweed_translation": 1 }, - "29": { "UpgradeTo30": 1 }, - "30": { "UpgradeTo35": 1 }, - "31": { "UpgradeTo36": 1 } - }, - "temp": { - "0": { "DynamicArrays": 1 }, - "1": { "File": 11 }, - "2": { "Pointers": 1 } - }, - "tempArr": { - "0": { "DynamicArrays": 3 } - }, - "template": { - "0": { "acintro1": 3 }, - "1": { "acintro6": 1 }, - "2": { "acintro9": 1 }, - "3": { "Credits": 2 }, - "4": { "GlobalArrays": 1 }, - "5": { "TemplateBASS": 2 }, - "6": { "Templates": 17 }, - "7": { "TemplateSierraStyle": 4 }, - "8": { "TemplateVerbcoin": 3 }, - "9": { "Tumbleweed": 7 }, - "10": { "Tumbleweed_door": 2 }, - "11": { "Tumbleweed_extensions": 2 }, - "12": { "Tumbleweed_player": 1 }, - "13": { "Tumbleweed_translation": 1 }, - "14": { "UpgradeTo35": 1 } - }, - "template's": { - "0": { "Tumbleweed_translation": 2 } - }, - "templates": { - "0": { "Credits": 2 }, - "1": { "EditorGUI": 1 }, - "2": { "Templates": 9 } - }, - "temporarily": { - "0": { "AnonymousUsageInfo": 1 }, - "1": { "Character": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "GUIControl": 1 }, - "4": { "Mouse": 2 }, - "5": { "UpgradeTo36": 1 } - }, - "temporary": { - "0": { "acintro6": 1 }, - "1": { "AudioChannel": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DynamicArrays": 1 }, - "6": { "DynamicSprite": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "EventTypes": 1 }, - "9": { "Mouse": 1 }, - "10": { "Overlay": 1 }, - "11": { "TroubleshootingWindowsZoneID": 1 }, - "12": { "UpgradeTo34": 1 }, - "13": { "UpgradeTo36": 1 }, - "14": { "Viewport": 1 } - }, - "tend": { - "0": { "DistGame": 1 }, - "1": { "InvWindow": 1 } - }, - "tenth": { - "0": { "ScriptingTutorialPart2": 1 } - }, - "term": { - "0": { "DateTime": 1 }, - "1": { "ScriptAPIOverview": 1 }, - "2": { "Settingupthegame": 1 } - }, - "terminal": { - "0": { "RuntimeEngine": 1 } - }, - "terminated": { - "0": { "ScriptKeywords": 1 } - }, - "terms": { - "0": { "BlockingScripts": 1 }, - "1": { "Copyright": 5 }, - "2": { "DistGame": 3 }, - "3": { "GameSavesCompatibility": 1 } - }, - "test": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "AudioChannel": 2 }, - "3": { "Constants": 2 }, - "4": { "DefaultSetup": 2 }, - "5": { "Dictionary": 1 }, - "6": { "DistGame": 2 }, - "7": { "EditorPreferences": 1 }, - "8": { "FAQ": 3 }, - "9": { "File": 17 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_Event": 1 }, - "12": { "Globalfunctions_General": 2 }, - "13": { "GUI": 1 }, - "14": { "Lipsync": 1 }, - "15": { "Mouse": 1 }, - "16": { "Pointers": 1 }, - "17": { "Preprocessor": 5 }, - "18": { "RuntimeEngine": 9 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "Set": 4 }, - "21": { "String": 8 }, - "22": { "SystemRequirements": 1 }, - "23": { "TextParser": 1 }, - "24": { "Tumbleweed_actions": 2 }, - "25": { "UpgradeTo30": 1 } - }, - "testOverlay": { - "0": { "Overlay": 8 } - }, - "tested": { - "0": { "Globalfunctions_Wait": 1 }, - "1": { "Keycodes": 1 }, - "2": { "UpgradeTo341": 1 }, - "3": { "Viewport": 1 } - }, - "testers": { - "0": { "Credits": 1 } - }, - "testing": { - "0": { "acintro": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "AudioClip": 1 }, - "4": { "Character": 2 }, - "5": { "Dialog": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 1 }, - "10": { "Hotspot": 1 }, - "11": { "InventoryItem": 1 }, - "12": { "Object": 1 }, - "13": { "Settingupthegame": 2 }, - "14": { "String": 1 }, - "15": { "UpgradeTo30": 2 }, - "16": { "UpgradeTo361": 1 } - }, - "tests": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Preprocessor": 2 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "text": { - "0": { "acintro": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 6 }, - "5": { "acintro9": 4 }, - "6": { "AudioClip": 1 }, - "7": { "Button": 10 }, - "8": { "Character": 22 }, - "9": { "Copyright": 1 }, - "10": { "CustomDialogOptions": 7 }, - "11": { "CustomProperties": 3 }, - "12": { "DefaultSetup": 2 }, - "13": { "Dialog": 9 }, - "14": { "DialogOptionsRenderingInfo": 13 }, - "15": { "DialogScript": 8 }, - "16": { "DistGame": 1 }, - "17": { "DrawingSurface": 14 }, - "18": { "EditorCommandLineOptions": 1 }, - "19": { "EditorDialog": 2 }, - "20": { "EditorFont": 3 }, - "21": { "EditorGUI": 22 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 49 }, - "24": { "ExtenderFunctions": 2 }, - "25": { "FAQ": 4 }, - "26": { "File": 12 }, - "27": { "Game": 28 }, - "28": { "Gamevariables": 13 }, - "29": { "GeneralSettings": 24 }, - "30": { "Globalfunctions_Event": 4 }, - "31": { "Globalfunctions_General": 19 }, - "32": { "Globalfunctions_Message": 11 }, - "33": { "GUI": 1 }, - "34": { "GUIControl": 1 }, - "35": { "Hotspot": 6 }, - "36": { "InventoryItem": 6 }, - "37": { "KeyboardShortcuts": 3 }, - "38": { "Label": 10 }, - "39": { "Lipsync": 5 }, - "40": { "ListBox": 7 }, - "41": { "Object": 6 }, - "42": { "ObsoleteScriptAPI": 2 }, - "43": { "Overlay": 27 }, - "44": { "Parser": 7 }, - "45": { "Room": 7 }, - "46": { "ScriptingTutorialPart1": 3 }, - "47": { "Settingupthegame": 6 }, - "48": { "Speech": 27 }, - "49": { "String": 16 }, - "50": { "StringFormats": 2 }, - "51": { "TemplateBASS": 2 }, - "52": { "TemplateVerbcoin": 2 }, - "53": { "TextBox": 14 }, - "54": { "TextParser": 6 }, - "55": { "TextWindowGUI": 6 }, - "56": { "Translations": 17 }, - "57": { "Tumbleweed_translation": 2 }, - "58": { "UnicodeSupport": 4 }, - "59": { "UpgradeTo33": 1 }, - "60": { "UpgradeTo35": 5 }, - "61": { "UpgradeTo36": 14 }, - "62": { "UpgradingTo271": 11 }, - "63": { "VoiceSpeech": 7 } - }, - "text-boxes": { - "0": { "EditorGUI": 1 } - }, - "text-windows": { - "0": { "GeneralSettings": 1 } - }, - "textbg": { - "0": { "Gamevariables": 1 } - }, - "textbox": { - "0": { "DialogOptionsRenderingInfo": 3 }, - "1": { "DrawingSurface": 2 }, - "2": { "EditorGUI": 1 }, - "3": { "Region": 1 } - }, - "texts": { - "0": { "GeneralSettings": 1 }, - "1": { "Translations": 4 }, - "2": { "UnicodeSupport": 6 }, - "3": { "UpgradeTo36": 8 } - }, - "textual": { - "0": { "Globalfunctions_General": 1 }, - "1": { "Overlay": 5 }, - "2": { "UpgradeTo36": 2 } - }, - "texture": { - "0": { "DefaultSetup": 2 }, - "1": { "EngineConfigFile": 3 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "Game": 3 }, - "4": { "GraphicsDriver": 2 }, - "5": { "Setup": 2 } - }, - "texture-based": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "textures": { - "0": { "DefaultSetup": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Game": 2 } - }, - "textwindow": { - "0": { "Gamevariables": 1 }, - "1": { "TextWindowGUI": 1 } - }, - "textwindow-based": { - "0": { "Gamevariables": 2 } - }, - "th": { - "0": { "Lipsync": 1 } - }, - "than": { - "0": { "acintro": 1 }, - "1": { "acintro1": 1 }, - "2": { "acintro2": 2 }, - "3": { "acintro3": 1 }, - "4": { "acintro4": 4 }, - "5": { "acintro7": 2 }, - "6": { "acintro9": 1 }, - "7": { "AdvancedRoomFeatures": 2 }, - "8": { "Button": 4 }, - "9": { "Camera": 8 }, - "10": { "Character": 5 }, - "11": { "ColoursEditor": 1 }, - "12": { "Constants": 1 }, - "13": { "CustomDialogOptions": 2 }, - "14": { "DefaultSetup": 1 }, - "15": { "Dialog": 2 }, - "16": { "DialogScript": 1 }, - "17": { "Dictionary": 1 }, - "18": { "DynamicSprite": 2 }, - "19": { "EditorFont": 1 }, - "20": { "EditorGUI": 2 }, - "21": { "EditorInventoryItems": 1 }, - "22": { "EditorRoom": 3 }, - "23": { "EditorView": 1 }, - "24": { "EngineConfigFile": 4 }, - "25": { "EnginePluginDesign-timeAPI": 2 }, - "26": { "EnginePluginRun-timeAPI": 14 }, - "27": { "ExtenderFunctions": 2 }, - "28": { "GameSavesCompatibility": 3 }, - "29": { "Gamevariables": 1 }, - "30": { "GeneralSettings": 6 }, - "31": { "Globalfunctions_Event": 1 }, - "32": { "Globalfunctions_General": 9 }, - "33": { "Globalfunctions_Message": 1 }, - "34": { "Globalfunctions_Palette": 1 }, - "35": { "GraphicsDriver": 1 }, - "36": { "GUI": 6 }, - "37": { "GUIControl": 1 }, - "38": { "Hotspot": 2 }, - "39": { "InventoryItem": 2 }, - "40": { "InvWindow": 1 }, - "41": { "ListBox": 3 }, - "42": { "Maths": 1 }, - "43": { "Mouse": 1 }, - "44": { "MusicAndSound": 2 }, - "45": { "Object": 4 }, - "46": { "OOProgramming": 1 }, - "47": { "Pointers": 3 }, - "48": { "Preprocessor": 1 }, - "49": { "RepExec": 1 }, - "50": { "RuntimeEngine": 1 }, - "51": { "Screen": 1 }, - "52": { "ScriptingTutorialPart1": 6 }, - "53": { "ScriptingTutorialPart2": 3 }, - "54": { "ScriptKeywords": 10 }, - "55": { "Set": 1 }, - "56": { "Settingupthegame": 3 }, - "57": { "Setup": 1 }, - "58": { "Slider": 2 }, - "59": { "String": 4 }, - "60": { "System": 3 }, - "61": { "TemplateBASS": 3 }, - "62": { "Templates": 1 }, - "63": { "TemplateVerbcoin": 1 }, - "64": { "TroubleshootingWindowsZoneID": 1 }, - "65": { "Tumbleweed": 2 }, - "66": { "Tumbleweed_door": 1 }, - "67": { "UpgradeTo30": 2 }, - "68": { "UpgradeTo33": 1 }, - "69": { "UpgradeTo335": 3 }, - "70": { "UpgradeTo34": 1 }, - "71": { "UpgradeTo341": 1 }, - "72": { "UpgradeTo35": 5 }, - "73": { "UpgradeTo36": 1 }, - "74": { "UpgradeTo361": 1 }, - "75": { "UpgradingTo27": 3 }, - "76": { "UpgradingTo271": 1 }, - "77": { "Viewport": 2 } - }, - "thank": { - "0": { "acintro8": 1 }, - "1": { "Tumbleweed": 1 } - }, - "thanks": { - "0": { "UpgradingTo27": 1 } - }, - "that's": { - "0": { "acintro5": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "EditorPlugins": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "FAQ": 1 }, - "6": { "GameEventsOrder": 1 }, - "7": { "GameSavesCompatibility": 2 }, - "8": { "Mouse": 1 }, - "9": { "Multimedia": 1 }, - "10": { "Parser": 1 }, - "11": { "Pointers": 2 }, - "12": { "ScriptingTutorialPart1": 1 }, - "13": { "System": 2 }, - "14": { "TextParser": 1 }, - "15": { "TheScriptHeader": 1 }, - "16": { "Tumbleweed": 1 }, - "17": { "UpgradingTo27": 2 }, - "18": { "UpgradingTo271": 1 } - }, - "theButton": { - "0": { "GUIControl": 3 } - }, - "theCharacter": { - "0": { "EventTypes": 8 } - }, - "theControl": { - "0": { "GUIControl": 5 } - }, - "theFile": { - "0": { "Pointers": 5 } - }, - "theGui": { - "0": { "GUI": 4 } - }, - "theHotspot": { - "0": { "EventTypes": 10 } - }, - "theItem": { - "0": { "EventTypes": 5 } - }, - "theObject": { - "0": { "EventTypes": 8 } - }, - "theRegion": { - "0": { "EventTypes": 3 } - }, - "thegui": { - "0": { "GUIControl": 2 } - }, - "them": { - "0": { "acintro": 1 }, - "1": { "acintro1": 2 }, - "2": { "acintro2": 5 }, - "3": { "acintro3": 3 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 4 }, - "6": { "acintro8": 2 }, - "7": { "acintro9": 6 }, - "8": { "AdvancedRoomFeatures": 3 }, - "9": { "AudioChannel": 1 }, - "10": { "AudioClip": 1 }, - "11": { "AudioInScript": 2 }, - "12": { "AutonumberSpeechFiles": 1 }, - "13": { "BackingUpYourGame": 1 }, - "14": { "BlockingScripts": 1 }, - "15": { "Camera": 1 }, - "16": { "Character": 3 }, - "17": { "Constants": 1 }, - "18": { "ContactingTheDevelopers": 1 }, - "19": { "CustomDialogOptions": 4 }, - "20": { "CustomProperties": 1 }, - "21": { "Debuggingfeatures": 1 }, - "22": { "DefaultSetup": 3 }, - "23": { "Dialog": 1 }, - "24": { "DialogScript": 1 }, - "25": { "DistGame": 4 }, - "26": { "DrawingSurface": 1 }, - "27": { "DynamicArrays": 1 }, - "28": { "DynamicSprite": 2 }, - "29": { "EditorDialog": 1 }, - "30": { "EditorRoom": 3 }, - "31": { "EditorSprite": 1 }, - "32": { "EditorView": 1 }, - "33": { "EnginePluginDesign-timeAPI": 1 }, - "34": { "EnginePluginRun-timeAPI": 10 }, - "35": { "EnginePlugins": 1 }, - "36": { "EventTypes": 3 }, - "37": { "ExtenderFunctions": 1 }, - "38": { "FAQ": 6 }, - "39": { "File": 1 }, - "40": { "Game": 4 }, - "41": { "GameSavesCompatibility": 10 }, - "42": { "GeneralSettings": 3 }, - "43": { "GlobalArrays": 2 }, - "44": { "Globalfunctions_Event": 1 }, - "45": { "Globalfunctions_General": 4 }, - "46": { "Hotspot": 1 }, - "47": { "ImportingFunctionsAndVariables": 5 }, - "48": { "Lipsync": 2 }, - "49": { "ListBox": 1 }, - "50": { "Mouse": 1 }, - "51": { "Multimedia": 4 }, - "52": { "MultipleScripts": 1 }, - "53": { "MusicAndSound": 4 }, - "54": { "Object": 1 }, - "55": { "OOProgramming": 5 }, - "56": { "Overlay": 2 }, - "57": { "Parser": 1 }, - "58": { "Plugins": 2 }, - "59": { "Pointers": 8 }, - "60": { "Preprocessor": 2 }, - "61": { "Region": 1 }, - "62": { "RepExec": 3 }, - "63": { "Room": 1 }, - "64": { "ScriptingTutorialPart1": 8 }, - "65": { "ScriptingTutorialPart2": 4 }, - "66": { "ScriptKeywords": 7 }, - "67": { "ScriptModules": 2 }, - "68": { "Set": 1 }, - "69": { "Settingupthegame": 5 }, - "70": { "Setup": 2 }, - "71": { "Speech": 1 }, - "72": { "StandardEnums": 1 }, - "73": { "StandardTypes": 1 }, - "74": { "System": 1 }, - "75": { "SystemLimits": 1 }, - "76": { "TemplateBASS": 1 }, - "77": { "Templates": 2 }, - "78": { "TemplateVerbcoin": 1 }, - "79": { "TextParser": 1 }, - "80": { "TheScriptHeader": 1 }, - "81": { "Translations": 1 }, - "82": { "UnicodeSupport": 2 }, - "83": { "UpgradeTo30": 3 }, - "84": { "UpgradeTo32": 2 }, - "85": { "UpgradeTo33": 7 }, - "86": { "UpgradeTo34": 2 }, - "87": { "UpgradeTo35": 2 }, - "88": { "UpgradeTo36": 8 }, - "89": { "UpgradeTo361": 1 }, - "90": { "UpgradingTo27": 1 }, - "91": { "UpgradingTo271": 3 }, - "92": { "Viewport": 1 }, - "93": { "VoiceSpeech": 1 } - }, - "theme": { - "0": { "EditorPreferences": 1 } - }, - "themselves": { - "0": { "EditorSprite": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GUI": 1 }, - "3": { "OOProgramming": 1 }, - "4": { "Overlay": 2 }, - "5": { "ScriptKeywords": 1 }, - "6": { "Settingupthegame": 1 }, - "7": { "UpgradeTo34": 1 }, - "8": { "UpgradeTo36": 1 } - }, - "theoretically": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo361": 1 } - }, - "theory": { - "0": { "GeneralSettings": 1 }, - "1": { "ImportingFunctionsAndVariables": 1 }, - "2": { "Pointers": 1 }, - "3": { "SystemLimits": 1 }, - "4": { "UnicodeSupport": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "there's": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro9": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "DefaultSetup": 2 }, - "8": { "DynamicSprite": 1 }, - "9": { "EditorDialog": 1 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "FAQ": 3 }, - "13": { "GameSavesCompatibility": 5 }, - "14": { "GeneralSettings": 2 }, - "15": { "Globalfunctions_Event": 1 }, - "16": { "Globalfunctions_General": 2 }, - "17": { "GUI": 1 }, - "18": { "Introduction": 1 }, - "19": { "Keycodes": 1 }, - "20": { "Pointers": 5 }, - "21": { "Preprocessor": 2 }, - "22": { "Room": 1 }, - "23": { "RuntimeEngine": 1 }, - "24": { "ScriptAPIOverview": 1 }, - "25": { "ScriptingTutorialPart2": 1 }, - "26": { "Translations": 1 }, - "27": { "Tumbleweed_movement": 1 }, - "28": { "UnicodeSupport": 1 }, - "29": { "UpgradeTo30": 2 }, - "30": { "UpgradeTo32": 1 }, - "31": { "UpgradeTo35": 1 }, - "32": { "UpgradeTo36": 3 }, - "33": { "UpgradeTo361": 1 }, - "34": { "UpgradingTo27": 2 }, - "35": { "Viewport": 2 }, - "36": { "VoiceSpeech": 1 } - }, - "thereafter": { - "0": { "Game": 1 } - }, - "therefore": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AnonymousUsageInfo": 1 }, - "4": { "Button": 1 }, - "5": { "Character": 1 }, - "6": { "Copyright": 1 }, - "7": { "EnginePluginRun-timeAPI": 6 }, - "8": { "File": 4 }, - "9": { "Game": 6 }, - "10": { "GeneralSettings": 1 }, - "11": { "Globalfunctions_General": 1 }, - "12": { "GUI": 1 }, - "13": { "GUIControl": 1 }, - "14": { "InvWindow": 1 }, - "15": { "Label": 1 }, - "16": { "ListBox": 1 }, - "17": { "Object": 1 }, - "18": { "RepExec": 1 }, - "19": { "ScriptingTutorialPart2": 2 }, - "20": { "Slider": 1 }, - "21": { "TextBox": 1 }, - "22": { "UpgradeTo341": 1 }, - "23": { "UpgradeTo35": 1 }, - "24": { "UpgradingTo27": 2 } - }, - "they'd": { - "0": { "Globalfunctions_Room": 1 } - }, - "they'll": { - "0": { "EditorSprite": 1 }, - "1": { "MusicAndSound": 1 } - }, - "they're": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "ScriptKeywords": 1 } - }, - "they've": { - "0": { "acintro4": 1 }, - "1": { "acintro9": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Multimedia": 1 } - }, - "thick": { - "0": { "DrawingSurface": 1 } - }, - "thicker": { - "0": { "DrawingSurface": 1 } - }, - "thickness": { - "0": { "DrawingSurface": 3 }, - "1": { "UpgradeTo36": 1 } - }, - "thin": { - "0": { "Character": 1 } - }, - "thing": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 2 }, - "4": { "acintro8": 1 }, - "5": { "BuildAndroid": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "Dialog": 1 }, - "8": { "EditorPlugins": 1 }, - "9": { "EditorSprite": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "FAQ": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "GUIControl": 2 }, - "15": { "OOProgramming": 2 }, - "16": { "Pointers": 1 }, - "17": { "Region": 1 }, - "18": { "ScriptingTutorialPart2": 2 }, - "19": { "Settingupthegame": 2 }, - "20": { "TextParser": 2 }, - "21": { "TheScriptHeader": 1 }, - "22": { "Tumbleweed": 1 }, - "23": { "UnicodeSupport": 1 }, - "24": { "UpgradeTo31": 1 }, - "25": { "UpgradeTo35": 3 } - }, - "things": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 1 }, - "5": { "acintro8": 1 }, - "6": { "AdvancedRoomFeatures": 1 }, - "7": { "BlockingScripts": 1 }, - "8": { "Character": 2 }, - "9": { "ColoursEditor": 1 }, - "10": { "Constants": 1 }, - "11": { "ContactingTheDevelopers": 1 }, - "12": { "CustomDialogOptions": 1 }, - "13": { "Dialog": 1 }, - "14": { "DistGame": 1 }, - "15": { "EditorCharacter": 1 }, - "16": { "EditorGUI": 1 }, - "17": { "EditorPlugins": 1 }, - "18": { "EditorView": 1 }, - "19": { "EnginePluginRun-timeAPI": 1 }, - "20": { "EventTypes": 2 }, - "21": { "FAQ": 1 }, - "22": { "Game": 1 }, - "23": { "GameEventsOrder": 1 }, - "24": { "GeneralSettings": 2 }, - "25": { "Globalfunctions_General": 3 }, - "26": { "Globalfunctions_Message": 1 }, - "27": { "Globalfunctions_Room": 2 }, - "28": { "GlobalVariables": 1 }, - "29": { "ImportingFunctionsAndVariables": 1 }, - "30": { "Object": 1 }, - "31": { "Pointers": 1 }, - "32": { "RepExec": 3 }, - "33": { "ScriptAPIOverview": 1 }, - "34": { "ScriptingTutorialPart1": 3 }, - "35": { "ScriptingTutorialPart2": 1 }, - "36": { "ScriptKeywords": 2 }, - "37": { "Settingupthegame": 3 }, - "38": { "Setup": 1 }, - "39": { "SourceControl": 1 }, - "40": { "TemplateBASS": 4 }, - "41": { "TemplateVerbcoin": 1 }, - "42": { "TextParser": 1 }, - "43": { "TheScriptHeader": 1 }, - "44": { "Translations": 1 }, - "45": { "Tumbleweed": 1 }, - "46": { "Tumbleweed_actions": 1 }, - "47": { "Tumbleweed_extensions": 1 }, - "48": { "UpgradeTo30": 1 }, - "49": { "UpgradeTo341": 1 }, - "50": { "UpgradeTo35": 1 }, - "51": { "UpgradeTo361": 1 }, - "52": { "UpgradingTo27": 4 }, - "53": { "UpgradingTo271": 1 } - }, - "think": { - "0": { "acintro7": 1 }, - "1": { "acintro9": 1 }, - "2": { "BlockingScripts": 2 }, - "3": { "Character": 1 }, - "4": { "ContactingTheDevelopers": 2 }, - "5": { "DialogScript": 1 }, - "6": { "EditorDialog": 1 }, - "7": { "EngineConfigFile": 1 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "ScriptingTutorialPart2": 2 }, - "10": { "UpgradeTo31": 1 }, - "11": { "UpgradeTo35": 1 }, - "12": { "Viewport": 1 }, - "13": { "VoiceSpeech": 1 } - }, - "thinking": { - "0": { "Character": 19 }, - "1": { "GameSavesCompatibility": 1 } - }, - "thinks": { - "0": { "UpgradeTo32": 1 } - }, - "thinkview": { - "0": { "Character": 1 }, - "1": { "ObsoleteScriptAPI": 1 } - }, - "third": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "UpgradeTo36": 1 } - }, - "third-party": { - "0": { "DistGame": 1 }, - "1": { "Lipsync": 1 } - }, - "thisCharacter": { - "0": { "UpgradeTo361": 1 } - }, - "thisObject": { - "0": { "UpgradeTo361": 1 } - }, - "those": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro7": 2 }, - "3": { "Character": 2 }, - "4": { "ColoursEditor": 1 }, - "5": { "ContactingTheDevelopers": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DefaultSetup": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorSprite": 1 }, - "10": { "FAQ": 1 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "GlobalArrays": 2 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "GUI": 1 }, - "16": { "Lipsync": 2 }, - "17": { "Maths": 1 }, - "18": { "Overlay": 1 }, - "19": { "ScriptKeywords": 1 }, - "20": { "Tumbleweed": 1 }, - "21": { "Tumbleweed_door": 1 }, - "22": { "Tumbleweed_translation": 1 }, - "23": { "UpgradeTo32": 1 }, - "24": { "UpgradeTo34": 2 }, - "25": { "Viewport": 1 }, - "26": { "VoiceSpeech": 1 } - }, - "though": { - "0": { "Character": 4 }, - "1": { "DefaultSetup": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorCommandLineOptions": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "GameEventsOrder": 1 }, - "6": { "GameSavesCompatibility": 2 }, - "7": { "GUI": 1 }, - "8": { "GUIControl": 1 }, - "9": { "InvWindow": 1 }, - "10": { "Object": 1 }, - "11": { "OOProgramming": 2 }, - "12": { "Overlay": 1 }, - "13": { "RepExec": 1 }, - "14": { "Settingupthegame": 2 }, - "15": { "SystemLimits": 1 }, - "16": { "UpgradeTo31": 1 }, - "17": { "UpgradeTo34": 1 }, - "18": { "UpgradeTo36": 2 } - }, - "thought": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "Character": 8 }, - "2": { "Gamevariables": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Tumbleweed_unhandled": 1 } - }, - "thoughts": { - "0": { "GeneralSettings": 1 } - }, - "thousand": { - "0": { "ScriptKeywords": 1 } - }, - "thread": { - "0": { "BlockingScripts": 15 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "Translations": 1 } - }, - "thread's": { - "0": { "BlockingScripts": 1 } - }, - "threads": { - "0": { "BlockingScripts": 3 } - }, - "three": { - "0": { "acintro1": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 6 }, - "5": { "acintro9": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "EditorLogPanel": 1 }, - "8": { "EngineConfigFile": 1 }, - "9": { "EnginePluginRun-timeAPI": 3 }, - "10": { "FAQ": 2 }, - "11": { "GeneralSettings": 1 }, - "12": { "GlobalVariables": 1 }, - "13": { "GraphicsDriver": 1 }, - "14": { "Pointers": 1 }, - "15": { "ScriptKeywords": 1 }, - "16": { "Settingupthegame": 1 }, - "17": { "Tumbleweed": 1 } - }, - "threshold": { - "0": { "EngineConfigFile": 1 }, - "1": { "TemplateBASS": 2 } - }, - "through": { - "0": { "acintro": 1 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AudioClip": 1 }, - "5": { "AutonumberSpeechFiles": 1 }, - "6": { "BuildAndroid": 1 }, - "7": { "Button": 2 }, - "8": { "Character": 7 }, - "9": { "ContactingTheDevelopers": 1 }, - "10": { "CustomDialogOptions": 1 }, - "11": { "Debuggingfeatures": 2 }, - "12": { "Dialog": 1 }, - "13": { "DialogOptionsRenderingInfo": 1 }, - "14": { "DistGame": 1 }, - "15": { "EditorGUI": 1 }, - "16": { "EditorLogPanel": 1 }, - "17": { "EditorPlugins": 3 }, - "18": { "EditorSprite": 1 }, - "19": { "EditorView": 1 }, - "20": { "EngineConfigFile": 1 }, - "21": { "EnginePluginRun-timeAPI": 1 }, - "22": { "EnginePlugins": 1 }, - "23": { "FAQ": 1 }, - "24": { "Game": 8 }, - "25": { "GeneralSettings": 1 }, - "26": { "Globalfunctions_General": 5 }, - "27": { "Globalfunctions_Palette": 1 }, - "28": { "Globalfunctions_Room": 1 }, - "29": { "GUI": 2 }, - "30": { "GUIControl": 2 }, - "31": { "Lipsync": 1 }, - "32": { "MIDI-playback": 2 }, - "33": { "Mouse": 2 }, - "34": { "Multimedia": 1 }, - "35": { "Object": 7 }, - "36": { "Pointers": 1 }, - "37": { "Room": 1 }, - "38": { "RuntimeEngine": 1 }, - "39": { "Screen": 3 }, - "40": { "ScriptAPIOverview": 2 }, - "41": { "ScriptingTutorialPart1": 1 }, - "42": { "Settingupthegame": 4 }, - "43": { "StartingOff": 1 }, - "44": { "System": 1 }, - "45": { "TemplateBASS": 1 }, - "46": { "Tumbleweed_door": 1 }, - "47": { "Tutorial": 1 }, - "48": { "UpgradeTo30": 3 }, - "49": { "UpgradeTo32": 1 }, - "50": { "UpgradingTo27": 2 }, - "51": { "Viewport": 3 } - }, - "throughout": { - "0": { "acintro1": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "ExtenderFunctions": 1 }, - "4": { "UpgradeTo34": 1 }, - "5": { "UpgradeTo361": 1 } - }, - "throw": { - "0": { "Pointers": 1 }, - "1": { "TextParser": 3 }, - "2": { "UpgradingTo27": 1 } - }, - "throws": { - "0": { "FAQ": 1 }, - "1": { "Preprocessor": 1 } - }, - "thumbnails": { - "0": { "GeneralSettings": 1 } - }, - "thus": { - "0": { "DefaultSetup": 1 }, - "1": { "Game": 10 }, - "2": { "GeneralSettings": 1 }, - "3": { "GraphicsDriver": 1 }, - "4": { "GUI": 1 }, - "5": { "MusicAndSound": 1 }, - "6": { "Overlay": 1 }, - "7": { "ScriptKeywords": 2 }, - "8": { "ScriptModules": 1 }, - "9": { "Settingupthegame": 1 }, - "10": { "Setup": 1 }, - "11": { "UpgradeTo35": 1 }, - "12": { "UpgradeTo36": 2 } - }, - "tick": { - "0": { "BuildAndroid": 1 }, - "1": { "DistGame": 1 }, - "2": { "EditorCursor": 1 }, - "3": { "EditorView": 1 }, - "4": { "Globalfunctions_General": 2 }, - "5": { "Pointers": 1 }, - "6": { "Settingupthegame": 1 } - }, - "tick-box": { - "0": { "Character": 1 } - }, - "ticked": { - "0": { "acintro8": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Room": 1 } - }, - "ticking": { - "0": { "Globalfunctions_General": 1 } - }, - "ticks": { - "0": { "AudioChannel": 2 }, - "1": { "EditorRoom": 1 } - }, - "tied": { - "0": { "Game": 1 }, - "1": { "UpgradeTo34": 1 } - }, - "tightly": { - "0": { "ScriptKeywords": 1 } - }, - "tile": { - "0": { "acintro6": 1 } - }, - "tiled": { - "0": { "EditorGUI": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "Slider": 1 } - }, - "tiles": { - "0": { "EditorSprite": 1 } - }, - "time": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 3 }, - "2": { "acintro5": 3 }, - "3": { "acintro7": 4 }, - "4": { "AudioClip": 1 }, - "5": { "AudioInScript": 1 }, - "6": { "BlockingScripts": 1 }, - "7": { "BuildAndroid": 1 }, - "8": { "Button": 1 }, - "9": { "Camera": 1 }, - "10": { "Character": 6 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "DateTime": 10 }, - "13": { "Debuggingfeatures": 1 }, - "14": { "DefaultSetup": 1 }, - "15": { "DialogScript": 2 }, - "16": { "Dictionary": 2 }, - "17": { "DynamicSprite": 2 }, - "18": { "EditorFont": 1 }, - "19": { "EditorPlugins": 1 }, - "20": { "EditorRoom": 2 }, - "21": { "EditorSprite": 2 }, - "22": { "EditorView": 1 }, - "23": { "EnginePluginRun-timeAPI": 7 }, - "24": { "EventTypes": 4 }, - "25": { "FAQ": 4 }, - "26": { "Game": 7 }, - "27": { "GameSavesCompatibility": 2 }, - "28": { "Gamevariables": 3 }, - "29": { "GeneralSettings": 2 }, - "30": { "Globalfunctions_Event": 1 }, - "31": { "Globalfunctions_General": 4 }, - "32": { "Globalfunctions_Message": 1 }, - "33": { "Globalfunctions_Room": 2 }, - "34": { "Globalfunctions_Screen": 1 }, - "35": { "Globalfunctions_Wait": 2 }, - "36": { "GlobalVariables": 1 }, - "37": { "GUIControl": 1 }, - "38": { "InvWindow": 2 }, - "39": { "Keycodes": 2 }, - "40": { "Lipsync": 1 }, - "41": { "Mouse": 1 }, - "42": { "MusicAndSound": 6 }, - "43": { "ObsoleteScriptAPI": 1 }, - "44": { "OOProgramming": 1 }, - "45": { "Preprocessor": 1 }, - "46": { "Screen": 3 }, - "47": { "ScriptAPIOverview": 1 }, - "48": { "ScriptingTutorialPart1": 3 }, - "49": { "ScriptingTutorialPart2": 1 }, - "50": { "ScriptKeywords": 5 }, - "51": { "Settingupthegame": 6 }, - "52": { "Speech": 10 }, - "53": { "System": 1 }, - "54": { "TemplateBASS": 1 }, - "55": { "Tumbleweed": 2 }, - "56": { "Tumbleweed_door": 2 }, - "57": { "UpgradeTo30": 1 }, - "58": { "UpgradeTo31": 1 }, - "59": { "UpgradeTo33": 1 }, - "60": { "UpgradeTo341": 3 }, - "61": { "UpgradeTo35": 2 }, - "62": { "UpgradeTo36": 1 }, - "63": { "UpgradingTo27": 3 }, - "64": { "Viewport": 2 } - }, - "time-out": { - "0": { "Speech": 3 } - }, - "time-saver": { - "0": { "Tumbleweed_door": 1 } - }, - "timed": { - "0": { "CustomDialogOptions": 1 }, - "1": { "TemplateVerbcoin": 1 } - }, - "timeout": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "Globalfunctions_Wait": 20 }, - "3": { "Settingupthegame": 1 } - }, - "timer": { - "0": { "Character": 2 }, - "1": { "Gamevariables": 1 }, - "2": { "Globalfunctions_General": 11 }, - "3": { "Mouse": 4 }, - "4": { "RepExec": 1 }, - "5": { "ScriptingTutorialPart2": 8 } - }, - "timers": { - "0": { "Globalfunctions_General": 3 } - }, - "times": { - "0": { "acintro4": 1 }, - "1": { "acintro8": 2 }, - "2": { "acintro9": 1 }, - "3": { "AudioInScript": 1 }, - "4": { "Character": 2 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DefaultSetup": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorPreferences": 1 }, - "10": { "EnginePluginDesign-timeAPI": 1 }, - "11": { "EventTypes": 1 }, - "12": { "Gamevariables": 1 }, - "13": { "GeneralSettings": 1 }, - "14": { "Globalfunctions_Event": 1 }, - "15": { "Globalfunctions_General": 3 }, - "16": { "GUI": 1 }, - "17": { "GUIControl": 1 }, - "18": { "InvWindow": 1 }, - "19": { "Maths": 1 }, - "20": { "MultipleScripts": 1 }, - "21": { "RepExec": 1 }, - "22": { "ScriptingTutorialPart2": 1 }, - "23": { "ScriptKeywords": 1 }, - "24": { "Setup": 1 }, - "25": { "StandardEnums": 1 }, - "26": { "StringFormats": 3 }, - "27": { "Tumbleweed_helper": 1 }, - "28": { "UpgradeTo32": 1 }, - "29": { "UpgradeTo36": 1 } - }, - "timesaver": { - "0": { "EditorView": 1 } - }, - "timidity": { - "0": { "MIDI-playback": 6 } - }, - "timing": { - "0": { "DateTime": 2 }, - "1": { "Globalfunctions_General": 3 }, - "2": { "Lipsync": 1 } - }, - "tint": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Character": 20 }, - "2": { "DynamicSprite": 3 }, - "3": { "Globalfunctions_General": 7 }, - "4": { "Globalfunctions_Screen": 2 }, - "5": { "Object": 19 }, - "6": { "Region": 11 }, - "7": { "Settingupthegame": 1 } - }, - "tinted": { - "0": { "AdvancedRoomFeatures": 2 }, - "1": { "Character": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "Object": 1 }, - "4": { "Region": 6 } - }, - "tinting": { - "0": { "Character": 1 }, - "1": { "Globalfunctions_Screen": 1 }, - "2": { "GraphicsDriver": 2 }, - "3": { "Object": 1 }, - "4": { "Region": 1 } - }, - "tints": { - "0": { "Character": 1 }, - "1": { "DynamicSprite": 1 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Room": 1 }, - "4": { "Region": 4 } - }, - "tiny": { - "0": { "Globalfunctions_Screen": 1 }, - "1": { "Setup": 1 } - }, - "tips": { - "0": { "EditorPreferences": 2 } - }, - "title": { - "0": { "acintro1": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EngineConfigFile": 2 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "Game": 1 }, - "5": { "GeneralSettings": 4 }, - "6": { "Globalfunctions_Palette": 1 } - }, - "titleText": { - "0": { "Globalfunctions_Message": 1 } - }, - "titles": { - "0": { "acintro8": 1 } - }, - "titletext": { - "0": { "EngineConfigFile": 1 } - }, - "tmp": { - "0": { "File": 9 } - }, - "toFace": { - "0": { "Character": 1 } - }, - "today": { - "0": { "DialogScript": 1 }, - "1": { "ScriptKeywords": 1 } - }, - "together": { - "0": { "acintro7": 1 }, - "1": { "Camera": 1 }, - "2": { "Character": 1 }, - "3": { "MusicAndSound": 1 }, - "4": { "ScriptingTutorialPart2": 1 }, - "5": { "ScriptKeywords": 2 }, - "6": { "Settingupthegame": 1 }, - "7": { "String": 1 }, - "8": { "SystemLimits": 1 }, - "9": { "UpgradeTo36": 1 }, - "10": { "Viewport": 1 } - }, - "toggle": { - "0": { "ColoursEditor": 2 }, - "1": { "Debuggingfeatures": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Mouse": 1 } - }, - "toggles": { - "0": { "acintro4": 1 }, - "1": { "acintro7": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "toggling": { - "0": { "acintro3": 1 }, - "1": { "EditorRoom": 2 }, - "2": { "System": 1 } - }, - "token": { - "0": { "DefaultSetup": 2 }, - "1": { "EditorInventoryItems": 1 }, - "2": { "Game": 6 }, - "3": { "GeneralSettings": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "UpgradeTo35": 1 } - }, - "tokens": { - "0": { "Button": 2 }, - "1": { "DialogScript": 1 }, - "2": { "DynamicSprite": 2 }, - "3": { "EditorGUI": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "File": 1 }, - "6": { "Game": 1 }, - "7": { "Globalfunctions_General": 1 }, - "8": { "Label": 3 }, - "9": { "OOProgramming": 1 } - }, - "told": { - "0": { "GeneralSettings": 1 }, - "1": { "Pointers": 1 } - }, - "tons": { - "0": { "ScriptKeywords": 1 } - }, - "too": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro8": 2 }, - "3": { "Button": 1 }, - "4": { "Character": 2 }, - "5": { "DefaultSetup": 1 }, - "6": { "DistGame": 2 }, - "7": { "DrawingSurface": 1 }, - "8": { "EditorCursor": 1 }, - "9": { "EditorPlugins": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "Game": 1 }, - "13": { "GameSavesCompatibility": 3 }, - "14": { "Globalfunctions_Event": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Globalfunctions_Room": 1 }, - "17": { "GUI": 1 }, - "18": { "GUIControl": 1 }, - "19": { "InventoryItem": 1 }, - "20": { "Lipsync": 3 }, - "21": { "MIDI-playback": 1 }, - "22": { "Mouse": 1 }, - "23": { "Object": 1 }, - "24": { "Pointers": 1 }, - "25": { "ScriptingTutorialPart2": 1 }, - "26": { "Settingupthegame": 3 }, - "27": { "SystemLimits": 2 }, - "28": { "Templates": 1 }, - "29": { "Translations": 1 }, - "30": { "Tumbleweed_movement": 1 }, - "31": { "UpgradeTo361": 1 } - }, - "took": { - "0": { "GameSavesCompatibility": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "Settingupthegame": 1 }, - "3": { "UpgradingTo271": 1 } - }, - "tool": { - "0": { "acintro2": 3 }, - "1": { "EditorRoom": 5 }, - "2": { "UpgradeTo36": 1 }, - "3": { "UpgradeTo361": 1 } - }, - "toolbar": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "EditorGUI": 2 }, - "4": { "EditorRoom": 1 }, - "5": { "FAQ": 1 } - }, - "tools": { - "0": { "acintro2": 5 }, - "1": { "BuildAndroid": 1 }, - "2": { "Debuggingfeatures": 1 }, - "3": { "EditorRoom": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "Multimedia": 1 } - }, - "top": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 5 }, - "2": { "acintro6": 2 }, - "3": { "acintro7": 2 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "BuildAndroid": 2 }, - "6": { "Button": 1 }, - "7": { "Camera": 1 }, - "8": { "Character": 6 }, - "9": { "DefaultSetup": 1 }, - "10": { "DrawingSurface": 5 }, - "11": { "DynamicSprite": 6 }, - "12": { "EditorGUI": 3 }, - "13": { "EditorInventoryItems": 1 }, - "14": { "EditorLogPanel": 1 }, - "15": { "EditorPreferences": 2 }, - "16": { "EditorRoom": 1 }, - "17": { "EnginePluginRun-timeAPI": 3 }, - "18": { "EventTypes": 2 }, - "19": { "FAQ": 1 }, - "20": { "Gamevariables": 1 }, - "21": { "GeneralSettings": 2 }, - "22": { "Globalfunctions_General": 4 }, - "23": { "Globalfunctions_Message": 9 }, - "24": { "Globalfunctions_Room": 1 }, - "25": { "Globalfunctions_Wait": 4 }, - "26": { "GlobalVariables": 1 }, - "27": { "GUI": 5 }, - "28": { "GUIControl": 4 }, - "29": { "Introduction": 1 }, - "30": { "InvWindow": 2 }, - "31": { "Lipsync": 2 }, - "32": { "ListBox": 6 }, - "33": { "Mouse": 2 }, - "34": { "ObsoleteScriptAPI": 1 }, - "35": { "Overlay": 3 }, - "36": { "Pointers": 1 }, - "37": { "Room": 2 }, - "38": { "ScriptingTutorialPart1": 1 }, - "39": { "ScriptKeywords": 3 }, - "40": { "Settingupthegame": 5 }, - "41": { "Setup": 1 }, - "42": { "TemplateBASS": 1 }, - "43": { "TemplateVerbcoin": 1 }, - "44": { "UpgradeTo31": 1 }, - "45": { "UpgradeTo35": 1 }, - "46": { "Viewport": 3 } - }, - "top-left": { - "0": { "Camera": 1 }, - "1": { "DialogOptionsRenderingInfo": 2 }, - "2": { "DrawingSurface": 2 }, - "3": { "DynamicSprite": 2 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "Game": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_Room": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 1 }, - "10": { "Room": 1 }, - "11": { "Viewport": 1 } - }, - "top-level": { - "0": { "MIDI-playback": 2 }, - "1": { "VoiceSpeech": 1 } - }, - "top-right": { - "0": { "acintro1": 1 } - }, - "topic": { - "0": { "acintro8": 9 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DefaultSetup": 1 }, - "3": { "Dialog": 10 }, - "4": { "DialogScript": 8 }, - "5": { "DistGame": 1 }, - "6": { "EditorDialog": 2 }, - "7": { "EditorRoom": 1 }, - "8": { "FAQ": 1 }, - "9": { "GameSavesCompatibility": 2 }, - "10": { "GeneralSettings": 1 }, - "11": { "Settingupthegame": 8 }, - "12": { "SystemLimits": 1 }, - "13": { "UpgradingTo27": 1 } - }, - "topic's": { - "0": { "acintro8": 1 } - }, - "topics": { - "0": { "acintro8": 2 }, - "1": { "EditorDialog": 1 }, - "2": { "FAQ": 1 }, - "3": { "Pointers": 1 }, - "4": { "ScriptAPIOverview": 1 }, - "5": { "ScriptingTutorialPart1": 1 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "SystemLimits": 1 } - }, - "topmost": { - "0": { "Game": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUI": 1 }, - "3": { "ScriptAPIOverview": 2 }, - "4": { "UpgradeTo34": 1 }, - "5": { "Viewport": 1 } - }, - "total": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "FAQ": 1 }, - "2": { "Game": 1 }, - "3": { "GameSavesCompatibility": 5 }, - "4": { "Gamevariables": 1 }, - "5": { "InvWindow": 2 }, - "6": { "Label": 1 }, - "7": { "MusicAndSound": 1 }, - "8": { "ScriptingTutorialPart2": 1 }, - "9": { "SystemLimits": 2 } - }, - "totally": { - "0": { "acintro5": 2 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GUI": 1 }, - "4": { "GUIControl": 1 }, - "5": { "Object": 1 }, - "6": { "TextParser": 1 }, - "7": { "UpgradeTo335": 1 } - }, - "touch": { - "0": { "DefaultSetup": 3 }, - "1": { "EditorGUI": 1 }, - "2": { "EngineConfigFile": 3 } - }, - "touch-to-mouse": { - "0": { "EngineConfigFile": 1 } - }, - "touched": { - "0": { "Object": 3 } - }, - "touching": { - "0": { "Character": 3 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Object": 1 } - }, - "touchpads": { - "0": { "EditorRoom": 1 } - }, - "towards": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "Camera": 1 }, - "2": { "Character": 2 }, - "3": { "DynamicSprite": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "RepExec": 2 }, - "7": { "Screen": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "ScriptingTutorialPart2": 1 }, - "10": { "Settingupthegame": 1 }, - "11": { "Tumbleweed": 1 }, - "12": { "UpgradeTo335": 1 }, - "13": { "UpgradingTo27": 1 }, - "14": { "UpgradingTo271": 1 }, - "15": { "Viewport": 2 } - }, - "townsperson": { - "0": { "Character": 1 } - }, - "tr": { - "0": { "Tumbleweed_translation": 1 } - }, - "tra": { - "0": { "EngineConfigFile": 1 }, - "1": { "Game": 1 } - }, - "trace": { - "0": { "FAQ": 1 } - }, - "tracing": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "track": { - "0": { "acintro6": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DynamicArrays": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "InvWindow": 1 }, - "5": { "Multimedia": 8 }, - "6": { "RepExec": 2 }, - "7": { "ScriptKeywords": 1 }, - "8": { "UpgradeTo30": 1 } - }, - "tracking": { - "0": { "Camera": 2 } - }, - "tracks": { - "0": { "AudioClip": 1 }, - "1": { "DistGame": 1 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Multimedia": 1 } - }, - "trademark": { - "0": { "Copyright": 3 } - }, - "traditionally": { - "0": { "GeneralSettings": 1 } - }, - "trailing": { - "0": { "acintro2": 1 }, - "1": { "VoiceSpeech": 1 } - }, - "trans": { - "0": { "Character": 4 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GUI": 4 }, - "3": { "Object": 4 } - }, - "transfer": { - "0": { "DialogScript": 1 } - }, - "transformation": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Screen": 2 }, - "2": { "Viewport": 2 } - }, - "transformations": { - "0": { "DynamicSprite": 1 } - }, - "transformed": { - "0": { "EngineConfigFile": 1 } - }, - "transition": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Gamevariables": 2 }, - "2": { "GeneralSettings": 2 }, - "3": { "Globalfunctions_Screen": 5 }, - "4": { "Viewport": 1 } - }, - "transitions": { - "0": { "Globalfunctions_Screen": 2 } - }, - "transits": { - "0": { "Camera": 3 } - }, - "translate": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "Translations": 3 }, - "2": { "Tumbleweed": 1 }, - "3": { "UpgradeTo33": 1 } - }, - "translated": { - "0": { "Globalfunctions_General": 2 }, - "1": { "ListBox": 1 }, - "2": { "Translations": 9 }, - "3": { "Tumbleweed_translation": 3 }, - "4": { "UpgradeTo33": 1 } - }, - "translates": { - "0": { "Globalfunctions_General": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "translating": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Translations": 1 }, - "2": { "Tumbleweed": 1 } - }, - "translation": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "EditorGUI": 2 }, - "3": { "EngineConfigFile": 3 }, - "4": { "Game": 12 }, - "5": { "Globalfunctions_General": 4 }, - "6": { "Label": 1 }, - "7": { "RuntimeEngine": 2 }, - "8": { "System": 1 }, - "9": { "Translations": 23 }, - "10": { "Tumbleweed": 2 }, - "11": { "Tumbleweed_actions": 1 }, - "12": { "Tumbleweed_translation": 1 }, - "13": { "UpgradeTo36": 7 } - }, - "translation's": { - "0": { "UpgradeTo36": 1 } - }, - "translations": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "Setup": 1 }, - "3": { "SourceControl": 1 }, - "4": { "TextBox": 1 }, - "5": { "Translations": 2 }, - "6": { "Tumbleweed_translation": 1 }, - "7": { "UnicodeSupport": 2 }, - "8": { "UpgradeTo36": 2 } - }, - "translator": { - "0": { "Translations": 1 } - }, - "translators": { - "0": { "Translations": 2 }, - "1": { "Tumbleweed": 1 } - }, - "translucency": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GUI": 2 }, - "2": { "GUIControl": 2 } - }, - "translucent": { - "0": { "GUI": 1 }, - "1": { "GUIControl": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "transparency": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Character": 5 }, - "3": { "DrawingSurface": 8 }, - "4": { "DynamicSprite": 4 }, - "5": { "EditorPreferences": 2 }, - "6": { "EditorRoom": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "GUI": 2 }, - "9": { "GUIControl": 2 }, - "10": { "Object": 5 }, - "11": { "Overlay": 1 }, - "12": { "System": 1 }, - "13": { "TemplateVerbcoin": 1 } - }, - "transparent": { - "0": { "acintro1": 1 }, - "1": { "acintro6": 1 }, - "2": { "Character": 2 }, - "3": { "DrawingSurface": 3 }, - "4": { "DynamicSprite": 4 }, - "5": { "EditorGUI": 1 }, - "6": { "EnginePluginRun-timeAPI": 6 }, - "7": { "FAQ": 3 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_Room": 1 }, - "10": { "Globalfunctions_Screen": 1 }, - "11": { "GUI": 4 }, - "12": { "Mouse": 1 }, - "13": { "Object": 3 }, - "14": { "Overlay": 4 }, - "15": { "Settingupthegame": 2 }, - "16": { "UpgradeTo31": 1 } - }, - "transported": { - "0": { "Character": 1 } - }, - "trash": { - "0": { "TextParser": 1 } - }, - "tray": { - "0": { "Multimedia": 2 } - }, - "tread": { - "0": { "Character": 1 } - }, - "treat": { - "0": { "DrawingSurface": 1 } - }, - "treated": { - "0": { "DefaultSetup": 3 }, - "1": { "EditorSprite": 1 }, - "2": { "FAQ": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "TheScriptHeader": 2 } - }, - "treats": { - "0": { "Translations": 1 } - }, - "tree": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 3 }, - "4": { "acintro8": 1 }, - "5": { "acintro9": 2 }, - "6": { "EditorCharacter": 1 }, - "7": { "EditorDialog": 1 }, - "8": { "EditorFont": 1 }, - "9": { "EditorGUI": 1 }, - "10": { "EditorPlugins": 2 }, - "11": { "EditorRoom": 1 }, - "12": { "GameSavesCompatibility": 1 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "MultipleScripts": 1 }, - "15": { "MusicAndSound": 2 }, - "16": { "Plugins": 1 }, - "17": { "ScriptModules": 1 }, - "18": { "Settingupthegame": 4 }, - "19": { "TextParser": 2 }, - "20": { "Translations": 1 }, - "21": { "UpgradeTo32": 1 }, - "22": { "UpgradeTo341": 1 } - }, - "trees": { - "0": { "acintro8": 1 } - }, - "triangle": { - "0": { "DrawingSurface": 3 } - }, - "triangular": { - "0": { "Lipsync": 1 } - }, - "trick": { - "0": { "EngineConfigFile": 1 } - }, - "tricks": { - "0": { "Globalfunctions_Room": 1 } - }, - "tricky": { - "0": { "EditorInventoryItems": 1 } - }, - "tries": { - "0": { "EnginePluginDesign-timeAPI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "GUI": 1 }, - "4": { "Pointers": 2 } - }, - "trigger": { - "0": { "acintro1": 1 }, - "1": { "Character": 1 }, - "2": { "FAQ": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "UpgradeTo361": 1 } - }, - "triggered": { - "0": { "acintro3": 1 }, - "1": { "EnginePluginRun-timeAPI": 19 }, - "2": { "EventTypes": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Event": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "ScriptingTutorialPart1": 1 }, - "7": { "UpgradeTo361": 1 } - }, - "triggering": { - "0": { "Globalfunctions_Room": 1 } - }, - "triggers": { - "0": { "EditorCursor": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "GUI": 1 }, - "3": { "Tumbleweed_actions": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "trigonometric": { - "0": { "Maths": 2 } - }, - "trim": { - "0": { "DynamicSprite": 1 } - }, - "trivial": { - "0": { "GameSavesCompatibility": 1 } - }, - "trouble": { - "0": { "acintro4": 1 }, - "1": { "EditorRoom": 1 } - }, - "troubleshooting": { - "0": { "EditorLogPanel": 1 } - }, - "trs": { - "0": { "Translations": 3 } - }, - "true": { - "0": { "acintro5": 1 }, - "1": { "AudioChannel": 2 }, - "2": { "AudioClip": 1 }, - "3": { "Button": 3 }, - "4": { "Camera": 2 }, - "5": { "Character": 31 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "DialogOptionsRenderingInfo": 2 }, - "8": { "Dictionary": 2 }, - "9": { "EditorGUI": 1 }, - "10": { "EnginePluginRun-timeAPI": 1 }, - "11": { "FAQ": 1 }, - "12": { "Game": 9 }, - "13": { "Globalfunctions_General": 7 }, - "14": { "Globalfunctions_Room": 1 }, - "15": { "Globalfunctions_Wait": 2 }, - "16": { "GUI": 3 }, - "17": { "GUIControl": 4 }, - "18": { "Hotspot": 4 }, - "19": { "InventoryItem": 1 }, - "20": { "InvWindow": 2 }, - "21": { "Mouse": 4 }, - "22": { "Object": 12 }, - "23": { "Overlay": 4 }, - "24": { "Parser": 1 }, - "25": { "Region": 2 }, - "26": { "Room": 1 }, - "27": { "Screen": 1 }, - "28": { "ScriptingTutorialPart2": 5 }, - "29": { "ScriptKeywords": 10 }, - "30": { "Set": 2 }, - "31": { "Speech": 5 }, - "32": { "String": 7 }, - "33": { "System": 4 }, - "34": { "TemplateBASS": 2 }, - "35": { "TemplateVerbcoin": 3 }, - "36": { "Tumbleweed": 1 }, - "37": { "Tumbleweed_helper": 2 }, - "38": { "Tumbleweed_movement": 1 }, - "39": { "Tumbleweed_player": 1 }, - "40": { "UpgradeTo35": 1 }, - "41": { "Viewport": 5 } - }, - "true-color": { - "0": { "Settingupthegame": 2 } - }, - "true-type": { - "0": { "GeneralSettings": 2 } - }, - "truncated": { - "0": { "String": 3 } - }, - "try": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "acintro5": 1 }, - "4": { "acintro7": 1 }, - "5": { "acintro8": 1 }, - "6": { "acintro9": 1 }, - "7": { "AdvancedRoomFeatures": 1 }, - "8": { "AudioClip": 1 }, - "9": { "BlockingScripts": 1 }, - "10": { "BuildAndroid": 1 }, - "11": { "Camera": 6 }, - "12": { "Character": 2 }, - "13": { "ContactingTheDevelopers": 2 }, - "14": { "DrawingSurface": 1 }, - "15": { "DynamicArrays": 1 }, - "16": { "DynamicSprite": 1 }, - "17": { "EngineConfigFile": 1 }, - "18": { "EnginePluginRun-timeAPI": 2 }, - "19": { "FAQ": 1 }, - "20": { "File": 2 }, - "21": { "Game": 2 }, - "22": { "GameSavesCompatibility": 2 }, - "23": { "GUIControl": 1 }, - "24": { "ListBox": 2 }, - "25": { "MusicAndSound": 1 }, - "26": { "Object": 1 }, - "27": { "OOProgramming": 1 }, - "28": { "Pointers": 1 }, - "29": { "RepExec": 2 }, - "30": { "ScriptKeywords": 1 }, - "31": { "Settingupthegame": 1 }, - "32": { "Slider": 2 }, - "33": { "System": 2 }, - "34": { "Templates": 1 }, - "35": { "TextParser": 1 }, - "36": { "UpgradeTo335": 2 } - }, - "trying": { - "0": { "Character": 1 }, - "1": { "FAQ": 1 }, - "2": { "Pointers": 1 }, - "3": { "System": 1 } - }, - "turn": { - "0": { "acintro1": 2 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "Button": 1 }, - "3": { "Camera": 1 }, - "4": { "Character": 25 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "Dialog": 2 }, - "7": { "DistGame": 2 }, - "8": { "EditorGUI": 1 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "GeneralSettings": 5 }, - "11": { "Globalfunctions_General": 10 }, - "12": { "Globalfunctions_Palette": 1 }, - "13": { "Globalfunctions_Room": 2 }, - "14": { "Globalfunctions_Screen": 2 }, - "15": { "GUI": 1 }, - "16": { "Hotspot": 1 }, - "17": { "Object": 3 }, - "18": { "Region": 1 }, - "19": { "Settingupthegame": 2 }, - "20": { "System": 1 }, - "21": { "Tumbleweed_extensions": 2 }, - "22": { "Tumbleweed_player": 1 }, - "23": { "UnicodeSupport": 1 }, - "24": { "UpgradeTo31": 1 }, - "25": { "UpgradeTo35": 1 }, - "26": { "UpgradeTo36": 1 } - }, - "turned": { - "0": { "acintro2": 1 }, - "1": { "Character": 4 }, - "2": { "Dialog": 1 }, - "3": { "EditorRoom": 2 }, - "4": { "EditorSprite": 1 }, - "5": { "Globalfunctions_Room": 1 }, - "6": { "InventoryItem": 1 }, - "7": { "Object": 2 } - }, - "turning": { - "0": { "Character": 8 }, - "1": { "EditorPreferences": 1 }, - "2": { "Pointers": 1 }, - "3": { "ScriptAPIOverview": 3 }, - "4": { "Settingupthegame": 1 }, - "5": { "System": 1 } - }, - "turns": { - "0": { "Character": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "GUIControl": 2 }, - "3": { "Mouse": 1 }, - "4": { "Tumbleweed_movement": 2 } - }, - "tutorial": { - "0": { "acintro": 1 }, - "1": { "acintro1": 4 }, - "2": { "acintro2": 11 }, - "3": { "acintro3": 6 }, - "4": { "acintro4": 3 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 2 }, - "7": { "acintro8": 2 }, - "8": { "EditorPlugins": 3 }, - "9": { "Introduction": 1 }, - "10": { "OtherFeatures": 1 }, - "11": { "ScriptingTutorial": 1 }, - "12": { "ScriptingTutorialPart1": 2 }, - "13": { "Settingupthegame": 1 }, - "14": { "StartingOff": 1 }, - "15": { "UpgradeTo30": 1 } - }, - "tutorials": { - "0": { "acintro": 1 }, - "1": { "acintro9": 2 }, - "2": { "Game": 1 }, - "3": { "Mouse": 1 }, - "4": { "StartingOff": 1 } - }, - "tw": { - "0": { "GUI": 2 } - }, - "tweaks": { - "0": { "Gamevariables": 1 } - }, - "twice": { - "0": { "Game": 2 }, - "1": { "Globalfunctions_General": 2 }, - "2": { "RuntimeEngine": 1 } - }, - "two": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 3 }, - "3": { "acintro5": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 1 }, - "7": { "acintro9": 2 }, - "8": { "AdvancedRoomFeatures": 2 }, - "9": { "BlockingScripts": 1 }, - "10": { "BuildAndroid": 1 }, - "11": { "Character": 1 }, - "12": { "CustomDialogOptions": 1 }, - "13": { "DateTime": 1 }, - "14": { "Debuggingfeatures": 2 }, - "15": { "DefaultSetup": 2 }, - "16": { "DialogScript": 1 }, - "17": { "Dictionary": 2 }, - "18": { "DistGame": 1 }, - "19": { "DynamicSprite": 1 }, - "20": { "EditorCommandLineOptions": 1 }, - "21": { "EditorDialog": 1 }, - "22": { "EditorFont": 2 }, - "23": { "EditorGUI": 2 }, - "24": { "EditorSprite": 2 }, - "25": { "EngineConfigFile": 2 }, - "26": { "EnginePluginRun-timeAPI": 2 }, - "27": { "EnginePlugins": 2 }, - "28": { "EventTypes": 1 }, - "29": { "Game": 2 }, - "30": { "GeneralSettings": 4 }, - "31": { "Globalfunctions_Event": 5 }, - "32": { "Globalfunctions_General": 4 }, - "33": { "Globalfunctions_Room": 4 }, - "34": { "GUI": 2 }, - "35": { "GUIControl": 1 }, - "36": { "Keycodes": 3 }, - "37": { "Lipsync": 1 }, - "38": { "MusicAndSound": 2 }, - "39": { "Object": 1 }, - "40": { "OOProgramming": 1 }, - "41": { "Overlay": 1 }, - "42": { "Parser": 1 }, - "43": { "Pointers": 2 }, - "44": { "Preprocessor": 1 }, - "45": { "RepExec": 1 }, - "46": { "ScriptAPIOverview": 1 }, - "47": { "ScriptingTutorialPart1": 9 }, - "48": { "ScriptingTutorialPart2": 4 }, - "49": { "ScriptKeywords": 2 }, - "50": { "Set": 2 }, - "51": { "Settingupthegame": 3 }, - "52": { "Setup": 2 }, - "53": { "String": 1 }, - "54": { "TemplateBASS": 1 }, - "55": { "Templates": 1 }, - "56": { "TextParser": 3 }, - "57": { "Translations": 1 }, - "58": { "Tumbleweed": 2 }, - "59": { "Tumbleweed_helper": 2 }, - "60": { "UpgradeTo32": 2 }, - "61": { "UpgradeTo33": 3 }, - "62": { "UpgradeTo34": 2 }, - "63": { "UpgradeTo341": 1 }, - "64": { "UpgradeTo35": 2 }, - "65": { "UpgradeTo36": 8 }, - "66": { "UpgradingTo27": 1 }, - "67": { "Viewport": 1 } - }, - "twoPi": { - "0": { "StringFormats": 4 } - }, - "txt": { - "0": { "File": 8 }, - "1": { "Pointers": 1 }, - "2": { "Templates": 1 } - }, - "txtInput": { - "0": { "TextBox": 2 } - }, - "txtParser": { - "0": { "Parser": 1 } - }, - "txtParserInput": { - "0": { "Parser": 2 } - }, - "txtUserInput": { - "0": { "ListBox": 1 }, - "1": { "TextBox": 4 }, - "2": { "TextParser": 2 } - }, - "type": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 2 }, - "4": { "acintro8": 4 }, - "5": { "acintro9": 1 }, - "6": { "AudioChannel": 2 }, - "7": { "AudioClip": 4 }, - "8": { "AudioInScript": 3 }, - "9": { "Character": 1 }, - "10": { "CustomProperties": 2 }, - "11": { "Dialog": 1 }, - "12": { "DistGame": 1 }, - "13": { "DynamicSprite": 1 }, - "14": { "EditorGUI": 2 }, - "15": { "EditorPlugins": 2 }, - "16": { "EnginePluginRun-timeAPI": 10 }, - "17": { "EventTypes": 4 }, - "18": { "ExtenderFunctions": 3 }, - "19": { "FAQ": 3 }, - "20": { "File": 2 }, - "21": { "Game": 11 }, - "22": { "GameSavesCompatibility": 5 }, - "23": { "GeneralSettings": 6 }, - "24": { "GlobalArrays": 1 }, - "25": { "Globalfunctions_Event": 5 }, - "26": { "Globalfunctions_General": 1 }, - "27": { "Globalfunctions_Screen": 3 }, - "28": { "Globalfunctions_Wait": 6 }, - "29": { "GlobalVariables": 1 }, - "30": { "GUI": 2 }, - "31": { "GUIControl": 3 }, - "32": { "Hotspot": 1 }, - "33": { "ImportingFunctionsAndVariables": 4 }, - "34": { "Lipsync": 2 }, - "35": { "MusicAndSound": 4 }, - "36": { "Pointers": 5 }, - "37": { "Preprocessor": 1 }, - "38": { "Region": 2 }, - "39": { "ScriptAPIOverview": 3 }, - "40": { "ScriptingTutorialPart1": 9 }, - "41": { "ScriptingTutorialPart2": 2 }, - "42": { "ScriptKeywords": 18 }, - "43": { "Settingupthegame": 3 }, - "44": { "StandardEnums": 2 }, - "45": { "StringFormats": 1 }, - "46": { "TextParser": 10 }, - "47": { "UnicodeSupport": 2 }, - "48": { "UpgradeTo32": 1 }, - "49": { "UpgradeTo34": 1 }, - "50": { "UpgradeTo35": 2 }, - "51": { "UpgradeTo36": 1 }, - "52": { "UpgradeTo361": 1 }, - "53": { "UpgradingTo27": 5 }, - "54": { "UpgradingTo271": 1 } - }, - "typeName": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "typed": { - "0": { "acintro3": 1 }, - "1": { "CustomProperties": 1 }, - "2": { "Dialog": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "Game": 1 }, - "5": { "Globalfunctions_General": 1 }, - "6": { "Parser": 1 }, - "7": { "Pointers": 1 }, - "8": { "Settingupthegame": 1 }, - "9": { "TextBox": 1 }, - "10": { "TextParser": 2 } - }, - "types": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro7": 2 }, - "4": { "AnonymousUsageInfo": 1 }, - "5": { "AudioChannel": 2 }, - "6": { "AutonumberSpeechFiles": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "CustomProperties": 1 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "Dialog": 1 }, - "11": { "DynamicArrays": 2 }, - "12": { "DynamicSprite": 1 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorPlugins": 1 }, - "15": { "EnginePluginRun-timeAPI": 2 }, - "16": { "EnginePlugins": 1 }, - "17": { "EventTypes": 1 }, - "18": { "ExtenderFunctions": 3 }, - "19": { "File": 1 }, - "20": { "Game": 1 }, - "21": { "GameSavesCompatibility": 7 }, - "22": { "GeneralSettings": 1 }, - "23": { "Globalfunctions_General": 2 }, - "24": { "Globalfunctions_Wait": 3 }, - "25": { "GlobalVariables": 2 }, - "26": { "GUIControl": 1 }, - "27": { "Multimedia": 1 }, - "28": { "MusicAndSound": 4 }, - "29": { "Parser": 2 }, - "30": { "Pointers": 7 }, - "31": { "ScriptingTutorialPart1": 1 }, - "32": { "ScriptingTutorialPart2": 1 }, - "33": { "ScriptKeywords": 5 }, - "34": { "StandardEnums": 4 }, - "35": { "Templates": 1 }, - "36": { "TextParser": 1 }, - "37": { "UpgradeTo30": 1 }, - "38": { "UpgradeTo34": 1 }, - "39": { "UpgradeTo36": 1 }, - "40": { "UpgradingTo27": 1 } - }, - "typical": { - "0": { "Tumbleweed": 1 } - }, - "typically": { - "0": { "DefaultSetup": 3 }, - "1": { "EditorGUI": 2 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "EditorView": 2 }, - "4": { "Globalfunctions_Event": 2 }, - "5": { "OOProgramming": 1 }, - "6": { "Set": 1 }, - "7": { "TemplateBASS": 1 }, - "8": { "TemplateVerbcoin": 1 }, - "9": { "TroubleshootingWindowsZoneID": 1 } - }, - "typing": { - "0": { "EditorGUI": 1 }, - "1": { "System": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "ugly": { - "0": { "GameSavesCompatibility": 1 } - }, - "uh": { - "0": { "UpgradingTo27": 1 } - }, - "uk": { - "0": { "ContactingTheDevelopers": 2 } - }, - "un-check": { - "0": { "acintro1": 1 }, - "1": { "Settingupthegame": 1 } - }, - "un-filled": { - "0": { "EditorSprite": 1 } - }, - "un-modal": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "un-readable": { - "0": { "EditorFont": 1 } - }, - "un-register": { - "0": { "EnginePluginDesign-timeAPI": 1 } - }, - "un-scaled": { - "0": { "Globalfunctions_Room": 1 } - }, - "un-select": { - "0": { "ListBox": 1 } - }, - "un-tick": { - "0": { "acintro8": 1 } - }, - "un-ticked": { - "0": { "Globalfunctions_Room": 1 } - }, - "unable": { - "0": { "acintro9": 1 }, - "1": { "Globalfunctions_General": 1 }, - "2": { "Speech": 1 }, - "3": { "UpgradeTo35": 1 } - }, - "unaltered": { - "0": { "Globalfunctions_General": 1 } - }, - "unassigned": { - "0": { "Pointers": 1 } - }, - "unavailable": { - "0": { "Mouse": 1 } - }, - "unblock": { - "0": { "TroubleshootingWindowsZoneID": 5 } - }, - "unchanged": { - "0": { "Button": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Object": 1 }, - "5": { "Translations": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "uncheck": { - "0": { "acintro8": 1 } - }, - "unchecked": { - "0": { "Setup": 3 } - }, - "unclickable": { - "0": { "Tumbleweed_door": 1 }, - "1": { "Tumbleweed_player": 1 } - }, - "unconditionally": { - "0": { "Mouse": 1 }, - "1": { "System": 1 } - }, - "undefined": { - "0": { "Character": 1 }, - "1": { "Dictionary": 1 }, - "2": { "FAQ": 2 }, - "3": { "GameEventsOrder": 1 }, - "4": { "Object": 1 }, - "5": { "Overlay": 1 }, - "6": { "Preprocessor": 1 }, - "7": { "Set": 1 }, - "8": { "Viewport": 1 } - }, - "undeleted": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "under": { - "0": { "acintro5": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "BuildAndroid": 2 }, - "4": { "Character": 2 }, - "5": { "Copyright": 6 }, - "6": { "DistGame": 4 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "FAQ": 1 }, - "10": { "Game": 3 }, - "11": { "GeneralSettings": 4 }, - "12": { "Globalfunctions_General": 4 }, - "13": { "GUI": 2 }, - "14": { "MultipleScripts": 1 }, - "15": { "MusicAndSound": 1 }, - "16": { "Object": 3 }, - "17": { "Plugins": 1 }, - "18": { "Pointers": 3 }, - "19": { "Region": 1 }, - "20": { "Room": 2 }, - "21": { "Screen": 2 }, - "22": { "Settingupthegame": 2 }, - "23": { "SourceControl": 2 }, - "24": { "System": 2 }, - "25": { "Templates": 1 }, - "26": { "UpgradeTo36": 2 }, - "27": { "UpgradeTo361": 1 }, - "28": { "Viewport": 2 } - }, - "underflow": { - "0": { "Maths": 1 } - }, - "underlying": { - "0": { "EditorCursor": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "underneath": { - "0": { "acintro2": 2 }, - "1": { "acintro3": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "GUI": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo31": 1 } - }, - "underscore": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "understand": { - "0": { "acintro9": 1 }, - "1": { "AudioInScript": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Speech": 1 }, - "5": { "Tumbleweed": 1 }, - "6": { "Tumbleweed_translation": 1 } - }, - "understanding": { - "0": { "acintro3": 1 }, - "1": { "EditorLogPanel": 2 }, - "2": { "Pointers": 1 } - }, - "undo": { - "0": { "Tumbleweed_player": 1 } - }, - "unexpected": { - "0": { "Object": 1 } - }, - "unfortunate": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "unfortunately": { - "0": { "acintro2": 1 } - }, - "unhandled": { - "0": { "Character": 1 }, - "1": { "Gamevariables": 1 }, - "2": { "Globalfunctions_Event": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "Hotspot": 1 }, - "5": { "InventoryItem": 1 }, - "6": { "Object": 1 }, - "7": { "TemplateBASS": 1 }, - "8": { "TemplateVerbcoin": 3 }, - "9": { "Tumbleweed": 2 }, - "10": { "Tumbleweed_movement": 1 }, - "11": { "Tumbleweed_unhandled": 1 } - }, - "unicode": { - "0": { "Globalfunctions_Event": 1 }, - "1": { "Translations": 1 }, - "2": { "UpgradeTo36": 1 } - }, - "uniform": { - "0": { "Character": 2 } - }, - "unintended": { - "0": { "EngineConfigFile": 1 } - }, - "unique": { - "0": { "acintro3": 1 }, - "1": { "AudioClip": 1 }, - "2": { "Character": 1 }, - "3": { "Dialog": 1 }, - "4": { "Dictionary": 2 }, - "5": { "EditorSprite": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Globalfunctions_Event": 1 }, - "8": { "GUI": 1 }, - "9": { "GUIControl": 1 }, - "10": { "Hotspot": 1 }, - "11": { "InventoryItem": 1 }, - "12": { "Object": 1 }, - "13": { "Set": 1 } - }, - "uniqueness": { - "0": { "Dictionary": 1 }, - "1": { "Set": 1 } - }, - "units": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "universal": { - "0": { "GameSavesCompatibility": 1 } - }, - "unix": { - "0": { "GraphicsDriver": 1 } - }, - "unless": { - "0": { "acintro1": 2 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "AudioClip": 1 }, - "3": { "Character": 3 }, - "4": { "DrawingSurface": 1 }, - "5": { "EditorFont": 1 }, - "6": { "EditorPlugins": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginDesign-timeAPI": 1 }, - "9": { "EnginePluginRun-timeAPI": 4 }, - "10": { "EnginePlugins": 1 }, - "11": { "FAQ": 1 }, - "12": { "GeneralSettings": 1 }, - "13": { "Globalfunctions_Wait": 1 }, - "14": { "Mouse": 1 }, - "15": { "Object": 3 }, - "16": { "OOProgramming": 1 }, - "17": { "Speech": 1 }, - "18": { "System": 1 }, - "19": { "UpgradeTo35": 1 } - }, - "unlike": { - "0": { "acintro4": 1 }, - "1": { "AudioClip": 1 }, - "2": { "EnginePluginRun-timeAPI": 3 }, - "3": { "EventTypes": 1 }, - "4": { "Overlay": 2 }, - "5": { "ScriptKeywords": 1 } - }, - "unlikely": { - "0": { "Character": 1 }, - "1": { "UpgradeTo30": 1 } - }, - "unlimited": { - "0": { "EditorView": 3 }, - "1": { "SystemLimits": 23 }, - "2": { "UpgradeTo36": 1 } - }, - "unlink": { - "0": { "Camera": 1 } - }, - "unlisted": { - "0": { "Lipsync": 1 } - }, - "unload": { - "0": { "DistGame": 1 } - }, - "unloaded": { - "0": { "Game": 2 } - }, - "unloading": { - "0": { "Character": 2 } - }, - "unlock": { - "0": { "Tumbleweed_door": 2 } - }, - "unlocked": { - "0": { "EditorRoom": 3 }, - "1": { "EngineConfigFile": 1 }, - "2": { "RuntimeEngine": 1 }, - "3": { "Tumbleweed_door": 1 } - }, - "unlocking": { - "0": { "RuntimeEngine": 1 } - }, - "unmodified": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "unofficial": { - "0": { "Lipsync": 1 } - }, - "unpause": { - "0": { "AudioChannel": 1 }, - "1": { "Globalfunctions_General": 3 } - }, - "unpauses": { - "0": { "System": 1 } - }, - "unpin": { - "0": { "UpgradeTo33": 1 } - }, - "unpredictable": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 1 }, - "2": { "Tumbleweed_extensions": 1 } - }, - "unreadable": { - "0": { "GeneralSettings": 1 } - }, - "unrecognisable": { - "0": { "Translations": 1 } - }, - "unregister": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "unreliable": { - "0": { "RuntimeEngine": 1 } - }, - "unsafe": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "unscaled": { - "0": { "Overlay": 2 } - }, - "unsigned": { - "0": { "EnginePluginRun-timeAPI": 3 } - }, - "unsorted": { - "0": { "Dictionary": 3 }, - "1": { "Set": 3 } - }, - "unsupported": { - "0": { "DynamicSprite": 1 } - }, - "unsuspend": { - "0": { "Globalfunctions_General": 1 } - }, - "until": { - "0": { "acintro4": 1 }, - "1": { "acintro6": 1 }, - "2": { "AudioChannel": 1 }, - "3": { "BlockingScripts": 2 }, - "4": { "Button": 2 }, - "5": { "Camera": 2 }, - "6": { "Character": 14 }, - "7": { "CustomDialogOptions": 2 }, - "8": { "Dialog": 1 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorView": 1 }, - "11": { "EngineConfigFile": 1 }, - "12": { "EnginePluginDesign-timeAPI": 1 }, - "13": { "EnginePluginRun-timeAPI": 4 }, - "14": { "Globalfunctions_General": 8 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "Globalfunctions_Palette": 1 }, - "17": { "Globalfunctions_Room": 3 }, - "18": { "Globalfunctions_Screen": 1 }, - "19": { "Globalfunctions_Wait": 14 }, - "20": { "GUI": 2 }, - "21": { "Hotspot": 1 }, - "22": { "Mouse": 2 }, - "23": { "Multimedia": 3 }, - "24": { "Object": 5 }, - "25": { "Overlay": 2 }, - "26": { "Region": 1 }, - "27": { "Room": 1 }, - "28": { "ScriptingTutorialPart2": 1 }, - "29": { "ScriptKeywords": 2 }, - "30": { "Settingupthegame": 1 }, - "31": { "Tumbleweed_movement": 1 }, - "32": { "UpgradeTo30": 2 }, - "33": { "Viewport": 2 }, - "34": { "VoiceSpeech": 1 } - }, - "unusable": { - "0": { "GameSavesCompatibility": 2 }, - "1": { "Object": 1 }, - "2": { "Translations": 1 } - }, - "unused": { - "0": { "EnginePluginRun-timeAPI": 5 } - }, - "unwalkable": { - "0": { "Globalfunctions_Room": 1 } - }, - "unwanted": { - "0": { "AudioInScript": 1 } - }, - "unwieldy": { - "0": { "MultipleScripts": 1 }, - "1": { "ScriptingTutorialPart2": 1 } - }, - "up": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 9 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 8 }, - "4": { "acintro5": 5 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 9 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 2 }, - "9": { "AdvancedRoomFeatures": 2 }, - "10": { "AudioChannel": 2 }, - "11": { "AudioClip": 1 }, - "12": { "BackingUpYourGame": 4 }, - "13": { "BlockingScripts": 1 }, - "14": { "Camera": 2 }, - "15": { "Character": 7 }, - "16": { "ColoursEditor": 1 }, - "17": { "Constants": 1 }, - "18": { "CustomDialogOptions": 1 }, - "19": { "CustomProperties": 1 }, - "20": { "DateTime": 1 }, - "21": { "DefaultSetup": 6 }, - "22": { "Dictionary": 1 }, - "23": { "DistGame": 4 }, - "24": { "DrawingSurface": 3 }, - "25": { "DynamicSprite": 1 }, - "26": { "EditorGUI": 5 }, - "27": { "EditorInventoryItems": 1 }, - "28": { "EditorPlugins": 2 }, - "29": { "EditorRoom": 1 }, - "30": { "EditorSprite": 2 }, - "31": { "EditorView": 2 }, - "32": { "EnginePluginDesign-timeAPI": 5 }, - "33": { "EnginePluginRun-timeAPI": 17 }, - "34": { "EnginePlugins": 1 }, - "35": { "EventTypes": 7 }, - "36": { "FAQ": 3 }, - "37": { "Game": 8 }, - "38": { "GameSavesCompatibility": 3 }, - "39": { "GeneralSettings": 1 }, - "40": { "Globalfunctions_Event": 4 }, - "41": { "Globalfunctions_General": 13 }, - "42": { "Globalfunctions_Message": 1 }, - "43": { "Globalfunctions_Palette": 1 }, - "44": { "Globalfunctions_Room": 1 }, - "45": { "Globalfunctions_Screen": 2 }, - "46": { "GUI": 4 }, - "47": { "Hotspot": 1 }, - "48": { "ImportingFunctionsAndVariables": 1 }, - "49": { "Introduction": 1 }, - "50": { "InvWindow": 5 }, - "51": { "KeyboardShortcuts": 1 }, - "52": { "Keycodes": 1 }, - "53": { "Lipsync": 5 }, - "54": { "ListBox": 6 }, - "55": { "Maths": 2 }, - "56": { "MultipleScripts": 2 }, - "57": { "MusicAndSound": 5 }, - "58": { "Object": 4 }, - "59": { "OtherFeatures": 1 }, - "60": { "Overlay": 1 }, - "61": { "Parser": 3 }, - "62": { "Plugins": 2 }, - "63": { "Room": 1 }, - "64": { "RuntimeEngine": 1 }, - "65": { "ScriptingTutorialPart1": 4 }, - "66": { "ScriptingTutorialPart2": 2 }, - "67": { "ScriptKeywords": 3 }, - "68": { "ScriptModules": 2 }, - "69": { "Set": 1 }, - "70": { "Settingupthegame": 18 }, - "71": { "Setup": 2 }, - "72": { "Slider": 2 }, - "73": { "Speech": 2 }, - "74": { "StandardEnums": 3 }, - "75": { "StringFormats": 1 }, - "76": { "System": 2 }, - "77": { "SystemLimits": 1 }, - "78": { "TemplateBASS": 1 }, - "79": { "Templates": 3 }, - "80": { "TemplateSierraStyle": 1 }, - "81": { "TemplateVerbcoin": 2 }, - "82": { "Translations": 3 }, - "83": { "TroubleshootingWindowsZoneID": 1 }, - "84": { "Tumbleweed": 6 }, - "85": { "Tumbleweed_door": 3 }, - "86": { "Tumbleweed_extensions": 1 }, - "87": { "Tumbleweed_movement": 3 }, - "88": { "Tumbleweed_translation": 2 }, - "89": { "Tutorial": 1 }, - "90": { "UpgradeTo31": 2 }, - "91": { "UpgradeTo32": 2 }, - "92": { "UpgradeTo33": 1 }, - "93": { "UpgradeTo335": 1 }, - "94": { "UpgradeTo34": 2 }, - "95": { "UpgradeTo341": 1 }, - "96": { "UpgradeTo35": 3 }, - "97": { "UpgradeTo36": 5 }, - "98": { "UpgradingTo27": 6 }, - "99": { "UpgradingTo271": 1 }, - "100": { "Viewport": 2 } - }, - "up-left": { - "0": { "Settingupthegame": 1 } - }, - "up-right": { - "0": { "Character": 1 }, - "1": { "Settingupthegame": 1 } - }, - "up-to-date": { - "0": { "ContactingTheDevelopers": 1 } - }, - "update": { - "0": { "acintro4": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "Constants": 1 }, - "4": { "CustomDialogOptions": 3 }, - "5": { "DistGame": 2 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorSprite": 2 }, - "8": { "EnginePluginRun-timeAPI": 2 }, - "9": { "Game": 1 }, - "10": { "GameEventsOrder": 4 }, - "11": { "GameSavesCompatibility": 2 }, - "12": { "Globalfunctions_General": 2 }, - "13": { "Globalfunctions_Palette": 1 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "Hotspot": 1 }, - "16": { "Mouse": 1 }, - "17": { "Region": 1 }, - "18": { "RuntimeEngine": 1 }, - "19": { "ScriptKeywords": 1 }, - "20": { "Settingupthegame": 1 }, - "21": { "Templates": 1 }, - "22": { "Translations": 1 }, - "23": { "Tumbleweed_actions": 1 }, - "24": { "UpgradeTo30": 1 }, - "25": { "UpgradeTo32": 2 }, - "26": { "UpgradeTo33": 1 }, - "27": { "UpgradeTo34": 1 }, - "28": { "UpgradeTo341": 4 }, - "29": { "UpgradeTo35": 2 }, - "30": { "UpgradeTo36": 1 }, - "31": { "UpgradeTo361": 1 }, - "32": { "UpgradingTo271": 1 } - }, - "updated": { - "0": { "acintro2": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 4 }, - "3": { "Credits": 1 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "EditorGUI": 1 }, - "6": { "EditorRoom": 1 }, - "7": { "EditorSprite": 1 }, - "8": { "EnginePluginRun-timeAPI": 4 }, - "9": { "FAQ": 1 }, - "10": { "GameEventsOrder": 3 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "Globalfunctions_Event": 2 }, - "13": { "Globalfunctions_General": 1 }, - "14": { "GUIControl": 1 }, - "15": { "Label": 1 }, - "16": { "ListBox": 1 }, - "17": { "Mouse": 1 }, - "18": { "MusicAndSound": 1 }, - "19": { "RepExec": 2 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "StartingOff": 2 }, - "22": { "Templates": 1 }, - "23": { "Translations": 1 }, - "24": { "UpgradeTo30": 1 }, - "25": { "UpgradeTo32": 1 } - }, - "updates": { - "0": { "acintro2": 1 }, - "1": { "GameEventsOrder": 1 }, - "2": { "GameSavesCompatibility": 2 }, - "3": { "Globalfunctions_General": 1 }, - "4": { "GUIControl": 1 }, - "5": { "RepExec": 1 }, - "6": { "SystemLimits": 1 }, - "7": { "UpgradeTo34": 2 } - }, - "updating": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "ExtenderFunctions": 1 } - }, - "upgrade": { - "0": { "UpgradeTo32": 1 }, - "1": { "UpgradeTo341": 2 }, - "2": { "UpgradeTo36": 1 } - }, - "upgrading": { - "0": { "GeneralSettings": 1 }, - "1": { "UnicodeSupport": 1 }, - "2": { "UpgradeTo35": 1 } - }, - "upload": { - "0": { "DistGame": 1 }, - "1": { "DrawingSurface": 2 } - }, - "uploaded": { - "0": { "GeneralSettings": 1 } - }, - "upon": { - "0": { "Character": 1 }, - "1": { "CustomDialogOptions": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EnginePluginRun-timeAPI": 2 }, - "4": { "GameEventsOrder": 1 }, - "5": { "GameSavesCompatibility": 3 }, - "6": { "Object": 1 }, - "7": { "Overlay": 1 }, - "8": { "TemplateVerbcoin": 1 }, - "9": { "UpgradeTo35": 1 }, - "10": { "Viewport": 1 } - }, - "upper": { - "0": { "EditorRoom": 1 }, - "1": { "Lipsync": 1 }, - "2": { "Mouse": 1 }, - "3": { "Overlay": 1 }, - "4": { "String": 1 } - }, - "upper-left": { - "0": { "EditorSprite": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "Overlay": 1 } - }, - "upper-right": { - "0": { "acintro4": 2 } - }, - "uppercased": { - "0": { "String": 2 } - }, - "upscale": { - "0": { "EngineConfigFile": 2 } - }, - "upscaled": { - "0": { "EngineConfigFile": 1 } - }, - "upscaling": { - "0": { "EngineConfigFile": 1 } - }, - "upside": { - "0": { "DynamicSprite": 1 }, - "1": { "Globalfunctions_Screen": 1 } - }, - "upside-down": { - "0": { "Globalfunctions_Screen": 2 } - }, - "upwards": { - "0": { "CustomDialogOptions": 1 }, - "1": { "GeneralSettings": 2 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "TemplateSierraStyle": 1 } - }, - "urgently": { - "0": { "GameSavesCompatibility": 1 } - }, - "us": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro8": 1 }, - "3": { "acintro9": 1 }, - "4": { "AnonymousUsageInfo": 2 }, - "5": { "ContactingTheDevelopers": 1 }, - "6": { "Debuggingfeatures": 1 }, - "7": { "EditorPlugins": 1 }, - "8": { "OOProgramming": 1 }, - "9": { "ScriptingTutorialPart1": 2 }, - "10": { "ScriptKeywords": 1 }, - "11": { "Settingupthegame": 1 }, - "12": { "UpgradeTo361": 1 } - }, - "usable": { - "0": { "EngineConfigFile": 1 }, - "1": { "ExtenderFunctions": 1 }, - "2": { "File": 1 }, - "3": { "RuntimeEngine": 1 }, - "4": { "UpgradeTo36": 1 } - }, - "usage": { - "0": { "AnonymousUsageInfo": 2 }, - "1": { "Button": 1 }, - "2": { "EditorPreferences": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "RuntimeEngine": 1 }, - "5": { "Tumbleweed_movement": 1 } - }, - "use": { - "0": { "acintro1": 9 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 4 }, - "6": { "acintro7": 7 }, - "7": { "acintro8": 6 }, - "8": { "acintro9": 6 }, - "9": { "AdvancedRoomFeatures": 6 }, - "10": { "AnonymousUsageInfo": 1 }, - "11": { "AudioChannel": 4 }, - "12": { "AudioClip": 2 }, - "13": { "AudioInScript": 2 }, - "14": { "BlockingScripts": 1 }, - "15": { "BuildAndroid": 1 }, - "16": { "Button": 7 }, - "17": { "Camera": 1 }, - "18": { "Character": 48 }, - "19": { "ColoursEditor": 2 }, - "20": { "Constants": 5 }, - "21": { "ContactingTheDevelopers": 1 }, - "22": { "Copyright": 3 }, - "23": { "CustomDialogOptions": 9 }, - "24": { "CustomProperties": 2 }, - "25": { "DateTime": 4 }, - "26": { "Debuggingfeatures": 6 }, - "27": { "DefaultSetup": 7 }, - "28": { "Dialog": 10 }, - "29": { "DialogScript": 8 }, - "30": { "Dictionary": 2 }, - "31": { "DistGame": 5 }, - "32": { "DrawingSurface": 13 }, - "33": { "DynamicArrays": 2 }, - "34": { "DynamicSprite": 16 }, - "35": { "EditorCommandLineOptions": 4 }, - "36": { "EditorCursor": 1 }, - "37": { "EditorDialog": 2 }, - "38": { "EditorFont": 2 }, - "39": { "EditorGUI": 10 }, - "40": { "EditorInventoryItems": 5 }, - "41": { "EditorPlugins": 5 }, - "42": { "EditorPreferences": 3 }, - "43": { "EditorRoom": 2 }, - "44": { "EditorSprite": 3 }, - "45": { "EditorView": 4 }, - "46": { "EngineConfigFile": 10 }, - "47": { "EnginePluginDesign-timeAPI": 8 }, - "48": { "EnginePluginRun-timeAPI": 44 }, - "49": { "EventTypes": 10 }, - "50": { "ExtenderFunctions": 2 }, - "51": { "FAQ": 11 }, - "52": { "File": 19 }, - "53": { "Game": 15 }, - "54": { "GameSavesCompatibility": 5 }, - "55": { "Gamevariables": 6 }, - "56": { "GeneralSettings": 19 }, - "57": { "GlobalArrays": 2 }, - "58": { "Globalfunctions_Event": 2 }, - "59": { "Globalfunctions_General": 21 }, - "60": { "Globalfunctions_Message": 5 }, - "61": { "Globalfunctions_Room": 8 }, - "62": { "Globalfunctions_Screen": 1 }, - "63": { "GlobalVariables": 6 }, - "64": { "GraphicsDriver": 1 }, - "65": { "GUI": 6 }, - "66": { "GUIControl": 4 }, - "67": { "Hotspot": 4 }, - "68": { "ImportingFunctionsAndVariables": 3 }, - "69": { "InventoryItem": 5 }, - "70": { "InvWindow": 5 }, - "71": { "Keycodes": 2 }, - "72": { "Label": 2 }, - "73": { "Lipsync": 3 }, - "74": { "ListBox": 10 }, - "75": { "Maths": 10 }, - "76": { "MIDI-playback": 5 }, - "77": { "Mouse": 6 }, - "78": { "Multimedia": 3 }, - "79": { "MultipleScripts": 2 }, - "80": { "MusicAndSound": 4 }, - "81": { "Object": 22 }, - "82": { "ObsoleteScriptAPI": 1 }, - "83": { "OOProgramming": 4 }, - "84": { "Overlay": 7 }, - "85": { "Parser": 4 }, - "86": { "Plugins": 4 }, - "87": { "Pointers": 19 }, - "88": { "Preprocessor": 5 }, - "89": { "Region": 13 }, - "90": { "RepExec": 6 }, - "91": { "Room": 5 }, - "92": { "RuntimeEngine": 5 }, - "93": { "ScriptAPIOverview": 3 }, - "94": { "ScriptingTutorialPart1": 16 }, - "95": { "ScriptingTutorialPart2": 5 }, - "96": { "ScriptKeywords": 11 }, - "97": { "ScriptModules": 1 }, - "98": { "Set": 1 }, - "99": { "Settingupthegame": 31 }, - "100": { "Setup": 5 }, - "101": { "Slider": 1 }, - "102": { "SourceControl": 2 }, - "103": { "Speech": 3 }, - "104": { "StandardEnums": 1 }, - "105": { "StandardTypes": 1 }, - "106": { "String": 8 }, - "107": { "StringFormats": 4 }, - "108": { "System": 6 }, - "109": { "SystemRequirements": 1 }, - "110": { "TemplateBASS": 6 }, - "111": { "Templates": 3 }, - "112": { "TemplateSierraStyle": 1 }, - "113": { "TemplateVerbcoin": 2 }, - "114": { "TextBox": 2 }, - "115": { "TextParser": 9 }, - "116": { "Translations": 8 }, - "117": { "TroubleshootingWindowsZoneID": 3 }, - "118": { "Tumbleweed": 11 }, - "119": { "Tumbleweed_actions": 1 }, - "120": { "Tumbleweed_door": 2 }, - "121": { "Tumbleweed_extensions": 5 }, - "122": { "Tumbleweed_movement": 1 }, - "123": { "Tumbleweed_translation": 3 }, - "124": { "UnicodeSupport": 6 }, - "125": { "UpgradeTo30": 4 }, - "126": { "UpgradeTo31": 1 }, - "127": { "UpgradeTo32": 2 }, - "128": { "UpgradeTo33": 1 }, - "129": { "UpgradeTo34": 5 }, - "130": { "UpgradeTo35": 7 }, - "131": { "UpgradeTo36": 5 }, - "132": { "UpgradeTo361": 5 }, - "133": { "UpgradingTo27": 4 }, - "134": { "UpgradingTo271": 2 }, - "135": { "Viewport": 2 }, - "136": { "VoiceSpeech": 2 } - }, - "use-case": { - "0": { "ExtenderFunctions": 1 } - }, - "use-extension": { - "0": { "Tumbleweed": 3 }, - "1": { "Tumbleweed_extensions": 1 } - }, - "use-inv": { - "0": { "GeneralSettings": 1 } - }, - "use-with": { - "0": { "Tumbleweed": 1 } - }, - "used": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 4 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 4 }, - "7": { "acintro8": 2 }, - "8": { "acintro9": 7 }, - "9": { "AdvancedRoomFeatures": 2 }, - "10": { "AudioChannel": 1 }, - "11": { "AudioClip": 2 }, - "12": { "AudioInScript": 1 }, - "13": { "BlockingScripts": 1 }, - "14": { "BuildAndroid": 1 }, - "15": { "Button": 4 }, - "16": { "Character": 17 }, - "17": { "ColoursEditor": 1 }, - "18": { "CustomDialogOptions": 1 }, - "19": { "Debuggingfeatures": 2 }, - "20": { "DefaultSetup": 6 }, - "21": { "Dialog": 2 }, - "22": { "DialogOptionsRenderingInfo": 3 }, - "23": { "DialogScript": 4 }, - "24": { "DistGame": 2 }, - "25": { "EditorCharacter": 1 }, - "26": { "EditorCommandLineOptions": 1 }, - "27": { "EditorCursor": 2 }, - "28": { "EditorFont": 1 }, - "29": { "EditorGUI": 4 }, - "30": { "EditorInventoryItems": 3 }, - "31": { "EditorPreferences": 7 }, - "32": { "EditorRoom": 2 }, - "33": { "EditorSprite": 3 }, - "34": { "EditorView": 5 }, - "35": { "EngineConfigFile": 2 }, - "36": { "EnginePluginDesign-timeAPI": 3 }, - "37": { "EnginePluginRun-timeAPI": 23 }, - "38": { "EnginePlugins": 3 }, - "39": { "EventTypes": 6 }, - "40": { "FAQ": 3 }, - "41": { "File": 5 }, - "42": { "Game": 9 }, - "43": { "GameSavesCompatibility": 8 }, - "44": { "Gamevariables": 6 }, - "45": { "GeneralSettings": 23 }, - "46": { "Globalfunctions_Event": 2 }, - "47": { "Globalfunctions_General": 9 }, - "48": { "Globalfunctions_Message": 5 }, - "49": { "Globalfunctions_Palette": 2 }, - "50": { "Globalfunctions_Room": 1 }, - "51": { "Globalfunctions_Screen": 2 }, - "52": { "Globalfunctions_Wait": 1 }, - "53": { "GraphicsDriver": 3 }, - "54": { "GUI": 3 }, - "55": { "Introduction": 1 }, - "56": { "InventoryItem": 3 }, - "57": { "Keycodes": 2 }, - "58": { "Label": 2 }, - "59": { "Lipsync": 4 }, - "60": { "ListBox": 5 }, - "61": { "MIDI-playback": 1 }, - "62": { "Mouse": 4 }, - "63": { "Multimedia": 4 }, - "64": { "Object": 2 }, - "65": { "ObsoleteScriptAPI": 1 }, - "66": { "OOProgramming": 1 }, - "67": { "Overlay": 3 }, - "68": { "Pointers": 6 }, - "69": { "Preprocessor": 5 }, - "70": { "RepExec": 1 }, - "71": { "RuntimeEngine": 1 }, - "72": { "Screen": 1 }, - "73": { "ScriptAPIOverview": 3 }, - "74": { "ScriptingTutorialPart1": 4 }, - "75": { "ScriptKeywords": 7 }, - "76": { "ScriptModules": 1 }, - "77": { "Settingupthegame": 14 }, - "78": { "Setup": 4 }, - "79": { "Slider": 2 }, - "80": { "Speech": 8 }, - "81": { "StandardEnums": 3 }, - "82": { "StandardTypes": 1 }, - "83": { "StringFormats": 1 }, - "84": { "System": 1 }, - "85": { "TemplateBASS": 2 }, - "86": { "Templates": 1 }, - "87": { "TemplateSierraStyle": 5 }, - "88": { "TemplateVerbcoin": 10 }, - "89": { "TextBox": 2 }, - "90": { "TextWindowGUI": 2 }, - "91": { "Translations": 6 }, - "92": { "TroubleshootingWindowsZoneID": 3 }, - "93": { "Tumbleweed": 1 }, - "94": { "Tumbleweed_actions": 5 }, - "95": { "Tumbleweed_door": 2 }, - "96": { "Tumbleweed_extensions": 4 }, - "97": { "Tumbleweed_helper": 2 }, - "98": { "Tumbleweed_movement": 3 }, - "99": { "Tumbleweed_translation": 3 }, - "100": { "Tumbleweed_unhandled": 1 }, - "101": { "UpgradeTo30": 2 }, - "102": { "UpgradeTo31": 1 }, - "103": { "UpgradeTo335": 1 }, - "104": { "UpgradeTo34": 2 }, - "105": { "UpgradeTo35": 4 }, - "106": { "UpgradeTo36": 5 }, - "107": { "UpgradeTo361": 4 }, - "108": { "UpgradingTo27": 3 }, - "109": { "UpgradingTo271": 1 }, - "110": { "Viewport": 1 }, - "111": { "VoiceSpeech": 2 } - }, - "useful": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro6": 1 }, - "3": { "acintro9": 1 }, - "4": { "AdvancedRoomFeatures": 2 }, - "5": { "AnonymousUsageInfo": 1 }, - "6": { "AudioClip": 3 }, - "7": { "Button": 2 }, - "8": { "Character": 21 }, - "9": { "ColoursEditor": 2 }, - "10": { "Constants": 1 }, - "11": { "DateTime": 1 }, - "12": { "DefaultSetup": 1 }, - "13": { "Dialog": 6 }, - "14": { "DialogScript": 1 }, - "15": { "DistGame": 1 }, - "16": { "DrawingSurface": 1 }, - "17": { "DynamicSprite": 4 }, - "18": { "EditorCommandLineOptions": 1 }, - "19": { "EditorGUI": 3 }, - "20": { "EditorLogPanel": 1 }, - "21": { "EditorRoom": 2 }, - "22": { "EditorSprite": 1 }, - "23": { "EditorView": 3 }, - "24": { "EnginePluginDesign-timeAPI": 1 }, - "25": { "EnginePluginRun-timeAPI": 9 }, - "26": { "EventTypes": 1 }, - "27": { "File": 3 }, - "28": { "Game": 14 }, - "29": { "GeneralSettings": 2 }, - "30": { "GlobalArrays": 1 }, - "31": { "Globalfunctions_General": 14 }, - "32": { "Globalfunctions_Message": 1 }, - "33": { "Globalfunctions_Room": 5 }, - "34": { "GUI": 7 }, - "35": { "GUIControl": 5 }, - "36": { "Hotspot": 2 }, - "37": { "InventoryItem": 5 }, - "38": { "Label": 1 }, - "39": { "ListBox": 1 }, - "40": { "Mouse": 8 }, - "41": { "Multimedia": 1 }, - "42": { "MusicAndSound": 1 }, - "43": { "Object": 5 }, - "44": { "Overlay": 2 }, - "45": { "Parser": 1 }, - "46": { "Room": 1 }, - "47": { "RuntimeEngine": 1 }, - "48": { "ScriptingTutorialPart1": 2 }, - "49": { "ScriptingTutorialPart2": 2 }, - "50": { "ScriptKeywords": 4 }, - "51": { "ScriptModules": 1 }, - "52": { "Settingupthegame": 3 }, - "53": { "StandardTypes": 1 }, - "54": { "String": 2 }, - "55": { "System": 3 }, - "56": { "TextBox": 2 }, - "57": { "Translations": 1 }, - "58": { "Tumbleweed": 1 }, - "59": { "UpgradeTo34": 1 }, - "60": { "UpgradeTo35": 1 }, - "61": { "UpgradeTo36": 2 }, - "62": { "UpgradeTo361": 1 }, - "63": { "UpgradingTo27": 1 }, - "64": { "Viewport": 1 } - }, - "useless": { - "0": { "Overlay": 1 }, - "1": { "ScriptingTutorialPart1": 1 }, - "2": { "ScriptingTutorialPart2": 1 } - }, - "user": { - "0": { "acintro9": 1 }, - "1": { "Button": 1 }, - "2": { "Character": 1 }, - "3": { "DateTime": 1 }, - "4": { "DefaultSetup": 4 }, - "5": { "Dialog": 1 }, - "6": { "EditorGUI": 6 }, - "7": { "EditorPreferences": 1 }, - "8": { "EngineConfigFile": 2 }, - "9": { "EnginePluginDesign-timeAPI": 7 }, - "10": { "EnginePluginRun-timeAPI": 15 }, - "11": { "FAQ": 2 }, - "12": { "File": 1 }, - "13": { "Game": 6 }, - "14": { "GeneralSettings": 1 }, - "15": { "Globalfunctions_Event": 1 }, - "16": { "Globalfunctions_General": 9 }, - "17": { "GUI": 3 }, - "18": { "GUIControl": 1 }, - "19": { "ListBox": 2 }, - "20": { "Mouse": 3 }, - "21": { "OOProgramming": 4 }, - "22": { "Parser": 1 }, - "23": { "Pointers": 2 }, - "24": { "Preprocessor": 1 }, - "25": { "RuntimeEngine": 3 }, - "26": { "ScriptAPIOverview": 1 }, - "27": { "ScriptKeywords": 2 }, - "28": { "String": 2 }, - "29": { "System": 1 }, - "30": { "Templates": 4 }, - "31": { "TemplateVerbcoin": 1 }, - "32": { "TextBox": 1 }, - "33": { "TextParser": 3 }, - "34": { "Translations": 1 }, - "35": { "TroubleshootingWindowsZoneID": 2 }, - "36": { "Tumbleweed": 1 }, - "37": { "UpgradeTo33": 1 }, - "38": { "UpgradeTo335": 1 }, - "39": { "UpgradeTo34": 1 }, - "40": { "UpgradeTo341": 1 }, - "41": { "UpgradeTo35": 2 }, - "42": { "VoiceSpeech": 1 } - }, - "user's": { - "0": { "Constants": 1 }, - "1": { "DefaultSetup": 2 }, - "2": { "EngineConfigFile": 7 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "Game": 1 }, - "5": { "Gamevariables": 1 }, - "6": { "GeneralSettings": 1 }, - "7": { "Globalfunctions_General": 3 }, - "8": { "GraphicsDriver": 1 }, - "9": { "Multimedia": 1 }, - "10": { "Parser": 1 }, - "11": { "TextParser": 3 } - }, - "user-created": { - "0": { "MusicAndSound": 1 } - }, - "user-defined": { - "0": { "Preprocessor": 1 }, - "1": { "ScriptKeywords": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "user-friendly": { - "0": { "CustomProperties": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 } - }, - "user-made": { - "0": { "Copyright": 1 } - }, - "user-selectable": { - "0": { "acintro9": 1 } - }, - "user-written": { - "0": { "Plugins": 1 } - }, - "userinfo": { - "0": { "File": 1 } - }, - "users": { - "0": { "AudioInScript": 1 }, - "1": { "DateTime": 1 }, - "2": { "DistGame": 1 }, - "3": { "File": 2 }, - "4": { "GeneralSettings": 1 }, - "5": { "GlobalVariables": 1 }, - "6": { "ListBox": 1 }, - "7": { "Preprocessor": 1 }, - "8": { "Setup": 1 }, - "9": { "UpgradeTo35": 3 }, - "10": { "UpgradeTo361": 2 } - }, - "uses": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 2 }, - "4": { "Copyright": 2 }, - "5": { "Credits": 4 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "DistGame": 2 }, - "8": { "DrawingSurface": 1 }, - "9": { "EditorInventoryItems": 1 }, - "10": { "EditorPreferences": 1 }, - "11": { "EnginePluginDesign-timeAPI": 1 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "EnginePlugins": 1 }, - "14": { "EventTypes": 4 }, - "15": { "Game": 3 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 1 }, - "18": { "Globalfunctions_Event": 1 }, - "19": { "Globalfunctions_General": 2 }, - "20": { "Globalfunctions_Message": 1 }, - "21": { "GraphicsDriver": 1 }, - "22": { "GUI": 3 }, - "23": { "GUIControl": 3 }, - "24": { "InventoryItem": 1 }, - "25": { "Object": 4 }, - "26": { "Overlay": 1 }, - "27": { "Region": 1 }, - "28": { "RuntimeEngine": 1 }, - "29": { "ScriptAPIOverview": 3 }, - "30": { "ScriptingTutorialPart1": 1 }, - "31": { "ScriptKeywords": 1 }, - "32": { "StringFormats": 1 }, - "33": { "TemplateSierraStyle": 1 }, - "34": { "Translations": 2 }, - "35": { "Tumbleweed_door": 1 }, - "36": { "UpgradeTo32": 1 }, - "37": { "UpgradeTo34": 1 }, - "38": { "UpgradeTo36": 1 }, - "39": { "UpgradingTo27": 2 }, - "40": { "ViewFrame": 1 }, - "41": { "VoiceSpeech": 1 } - }, - "usespeech": { - "0": { "EngineConfigFile": 1 } - }, - "using": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 3 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "AnonymousUsageInfo": 2 }, - "11": { "AudioClip": 3 }, - "12": { "AudioInScript": 1 }, - "13": { "BackingUpYourGame": 1 }, - "14": { "BuildAndroid": 2 }, - "15": { "Button": 2 }, - "16": { "Camera": 6 }, - "17": { "Character": 30 }, - "18": { "Constants": 3 }, - "19": { "ContactingTheDevelopers": 3 }, - "20": { "Copyright": 2 }, - "21": { "Credits": 4 }, - "22": { "CustomDialogOptions": 2 }, - "23": { "Debuggingfeatures": 2 }, - "24": { "DefaultSetup": 2 }, - "25": { "Dialog": 2 }, - "26": { "DialogScript": 4 }, - "27": { "DistGame": 3 }, - "28": { "DrawingSurface": 12 }, - "29": { "DynamicArrays": 2 }, - "30": { "DynamicSprite": 3 }, - "31": { "EditorCharacter": 1 }, - "32": { "EditorCommandLineOptions": 1 }, - "33": { "EditorCursor": 2 }, - "34": { "EditorDialog": 3 }, - "35": { "EditorFont": 2 }, - "36": { "EditorGUI": 6 }, - "37": { "EditorInventoryItems": 1 }, - "38": { "EditorPlugins": 3 }, - "39": { "EditorPreferences": 2 }, - "40": { "EditorRoom": 5 }, - "41": { "EditorSprite": 9 }, - "42": { "EditorView": 3 }, - "43": { "EngineConfigFile": 1 }, - "44": { "EnginePluginDesign-timeAPI": 2 }, - "45": { "EnginePluginRun-timeAPI": 30 }, - "46": { "EnginePlugins": 1 }, - "47": { "ExtenderFunctions": 1 }, - "48": { "FAQ": 5 }, - "49": { "File": 3 }, - "50": { "Game": 8 }, - "51": { "GameEventsOrder": 1 }, - "52": { "GameSavesCompatibility": 3 }, - "53": { "Gamevariables": 1 }, - "54": { "GeneralSettings": 13 }, - "55": { "GlobalArrays": 1 }, - "56": { "Globalfunctions_Event": 2 }, - "57": { "Globalfunctions_General": 13 }, - "58": { "Globalfunctions_Palette": 1 }, - "59": { "Globalfunctions_Room": 1 }, - "60": { "Globalfunctions_Wait": 2 }, - "61": { "GlobalVariables": 2 }, - "62": { "GraphicsDriver": 3 }, - "63": { "GUI": 4 }, - "64": { "GUIControl": 2 }, - "65": { "Hotspot": 2 }, - "66": { "ImportingFunctionsAndVariables": 1 }, - "67": { "InventoryItem": 1 }, - "68": { "Keycodes": 2 }, - "69": { "ListBox": 5 }, - "70": { "Mouse": 3 }, - "71": { "Multimedia": 2 }, - "72": { "MultipleScripts": 1 }, - "73": { "Object": 16 }, - "74": { "OOProgramming": 5 }, - "75": { "Overlay": 11 }, - "76": { "Parser": 3 }, - "77": { "Pointers": 3 }, - "78": { "Preprocessor": 3 }, - "79": { "Region": 1 }, - "80": { "Room": 2 }, - "81": { "RuntimeEngine": 1 }, - "82": { "Screen": 2 }, - "83": { "ScriptAPIOverview": 2 }, - "84": { "ScriptingTutorialPart1": 6 }, - "85": { "ScriptingTutorialPart2": 8 }, - "86": { "ScriptKeywords": 10 }, - "87": { "Settingupthegame": 12 }, - "88": { "Setup": 3 }, - "89": { "SourceControl": 1 }, - "90": { "String": 1 }, - "91": { "System": 1 }, - "92": { "Templates": 1 }, - "93": { "TemplateSierraStyle": 1 }, - "94": { "TemplateVerbcoin": 2 }, - "95": { "TextBox": 1 }, - "96": { "TroubleshootingWindowsZoneID": 1 }, - "97": { "Tumbleweed": 5 }, - "98": { "UnicodeSupport": 2 }, - "99": { "UpgradeTo31": 2 }, - "100": { "UpgradeTo32": 4 }, - "101": { "UpgradeTo33": 3 }, - "102": { "UpgradeTo335": 4 }, - "103": { "UpgradeTo34": 2 }, - "104": { "UpgradeTo341": 1 }, - "105": { "UpgradeTo35": 5 }, - "106": { "UpgradeTo36": 12 }, - "107": { "UpgradeTo361": 3 }, - "108": { "UpgradingTo27": 1 }, - "109": { "UpgradingTo271": 2 }, - "110": { "Viewport": 4 }, - "111": { "VoiceSpeech": 4 } - }, - "usr": { - "0": { "MIDI-playback": 1 } - }, - "usual": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "DynamicArrays": 2 }, - "3": { "EditorCursor": 1 }, - "4": { "EditorSprite": 1 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "Game": 3 }, - "7": { "Globalfunctions_Message": 1 }, - "8": { "Globalfunctions_Wait": 1 }, - "9": { "GUIControl": 2 }, - "10": { "Mouse": 3 }, - "11": { "Object": 1 }, - "12": { "Preprocessor": 1 }, - "13": { "Settingupthegame": 1 }, - "14": { "Tumbleweed": 1 } - }, - "usually": { - "0": { "acintro3": 1 }, - "1": { "acintro5": 1 }, - "2": { "acintro7": 1 }, - "3": { "BuildAndroid": 1 }, - "4": { "Character": 1 }, - "5": { "Dialog": 1 }, - "6": { "DistGame": 4 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorPreferences": 3 }, - "9": { "EditorRoom": 1 }, - "10": { "EditorSprite": 1 }, - "11": { "EventTypes": 1 }, - "12": { "FAQ": 3 }, - "13": { "File": 1 }, - "14": { "Game": 1 }, - "15": { "GeneralSettings": 2 }, - "16": { "Globalfunctions_Message": 1 }, - "17": { "ImportingFunctionsAndVariables": 1 }, - "18": { "InvWindow": 2 }, - "19": { "Mouse": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "Parser": 1 }, - "22": { "RepExec": 1 }, - "23": { "RuntimeEngine": 1 }, - "24": { "ScriptingTutorialPart1": 1 }, - "25": { "ScriptKeywords": 1 }, - "26": { "Slider": 1 }, - "27": { "StandardEnums": 1 }, - "28": { "System": 1 }, - "29": { "TroubleshootingWindowsZoneID": 3 }, - "30": { "Tumbleweed_extensions": 1 }, - "31": { "UnicodeSupport": 1 }, - "32": { "UpgradeTo36": 1 } - }, - "utilities": { - "0": { "EditorPlugins": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 }, - "2": { "UpgradeTo34": 1 } - }, - "utility": { - "0": { "DefaultSetup": 3 }, - "1": { "UpgradeTo361": 1 } - }, - "vRogerWalking": { - "0": { "FAQ": 1 } - }, - "vXXX": { - "0": { "Constants": 6 } - }, - "valid": { - "0": { "AudioInScript": 1 }, - "1": { "Character": 3 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "EnginePluginRun-timeAPI": 7 }, - "4": { "FAQ": 1 }, - "5": { "Game": 2 }, - "6": { "GameSavesCompatibility": 1 }, - "7": { "Gamevariables": 1 }, - "8": { "Globalfunctions_General": 2 }, - "9": { "OOProgramming": 1 }, - "10": { "Overlay": 2 }, - "11": { "Pointers": 1 }, - "12": { "Room": 1 }, - "13": { "ScriptKeywords": 1 }, - "14": { "String": 1 }, - "15": { "TemplateVerbcoin": 1 }, - "16": { "TextParser": 1 }, - "17": { "Tumbleweed": 1 }, - "18": { "UpgradeTo35": 1 }, - "19": { "UpgradingTo27": 1 }, - "20": { "Viewport": 2 } - }, - "validateSigningRelease": { - "0": { "BuildAndroid": 1 } - }, - "value": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "AudioChannel": 3 }, - "4": { "Button": 1 }, - "5": { "Camera": 2 }, - "6": { "Character": 26 }, - "7": { "Constants": 2 }, - "8": { "CustomProperties": 2 }, - "9": { "DateTime": 4 }, - "10": { "DefaultSetup": 3 }, - "11": { "Dialog": 2 }, - "12": { "Dictionary": 10 }, - "13": { "DistGame": 1 }, - "14": { "DrawingSurface": 2 }, - "15": { "DynamicArrays": 1 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorGUI": 4 }, - "18": { "EditorInventoryItems": 7 }, - "19": { "EditorRoom": 3 }, - "20": { "EditorView": 2 }, - "21": { "EngineConfigFile": 8 }, - "22": { "EnginePluginDesign-timeAPI": 1 }, - "23": { "EnginePluginRun-timeAPI": 53 }, - "24": { "ExtenderFunctions": 5 }, - "25": { "FAQ": 2 }, - "26": { "File": 11 }, - "27": { "GameSavesCompatibility": 2 }, - "28": { "Gamevariables": 3 }, - "29": { "GeneralSettings": 5 }, - "30": { "Globalfunctions_Event": 6 }, - "31": { "Globalfunctions_General": 23 }, - "32": { "Globalfunctions_Message": 5 }, - "33": { "Globalfunctions_Room": 6 }, - "34": { "Globalfunctions_Screen": 2 }, - "35": { "Globalfunctions_Wait": 3 }, - "36": { "GlobalVariables": 4 }, - "37": { "GUI": 3 }, - "38": { "GUIControl": 1 }, - "39": { "Hotspot": 12 }, - "40": { "InventoryItem": 9 }, - "41": { "Keycodes": 1 }, - "42": { "Maths": 22 }, - "43": { "MIDI-playback": 1 }, - "44": { "Mouse": 1 }, - "45": { "Multimedia": 1 }, - "46": { "Object": 18 }, - "47": { "OOProgramming": 4 }, - "48": { "Overlay": 5 }, - "49": { "Pointers": 4 }, - "50": { "Preprocessor": 8 }, - "51": { "Region": 8 }, - "52": { "Room": 8 }, - "53": { "ScriptingTutorialPart1": 31 }, - "54": { "ScriptingTutorialPart2": 2 }, - "55": { "ScriptKeywords": 15 }, - "56": { "Setup": 1 }, - "57": { "Slider": 12 }, - "58": { "Speech": 1 }, - "59": { "StandardTypes": 1 }, - "60": { "String": 9 }, - "61": { "StringFormats": 3 }, - "62": { "System": 2 }, - "63": { "SystemLimits": 1 }, - "64": { "TemplateBASS": 7 }, - "65": { "TextBox": 1 }, - "66": { "Translations": 3 }, - "67": { "Tumbleweed_door": 1 }, - "68": { "UnicodeSupport": 2 }, - "69": { "UpgradeTo30": 1 }, - "70": { "UpgradeTo33": 2 }, - "71": { "UpgradeTo34": 1 }, - "72": { "UpgradeTo35": 1 }, - "73": { "UpgradeTo36": 3 }, - "74": { "Viewport": 2 } - }, - "values": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 2 }, - "2": { "Button": 2 }, - "3": { "Character": 7 }, - "4": { "Constants": 1 }, - "5": { "CustomProperties": 2 }, - "6": { "DefaultSetup": 2 }, - "7": { "Dialog": 2 }, - "8": { "Dictionary": 11 }, - "9": { "EditorGUI": 3 }, - "10": { "EditorSprite": 1 }, - "11": { "EngineConfigFile": 3 }, - "12": { "EnginePluginRun-timeAPI": 13 }, - "13": { "FAQ": 2 }, - "14": { "Game": 5 }, - "15": { "GameSavesCompatibility": 5 }, - "16": { "Gamevariables": 2 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_Event": 4 }, - "19": { "Globalfunctions_General": 11 }, - "20": { "Globalfunctions_Palette": 1 }, - "21": { "Globalfunctions_Room": 2 }, - "22": { "Globalfunctions_Screen": 2 }, - "23": { "Globalfunctions_Wait": 1 }, - "24": { "GUI": 3 }, - "25": { "GUIControl": 1 }, - "26": { "Keycodes": 3 }, - "27": { "Label": 3 }, - "28": { "Mouse": 2 }, - "29": { "Object": 4 }, - "30": { "Overlay": 1 }, - "31": { "Pointers": 1 }, - "32": { "Preprocessor": 1 }, - "33": { "Region": 4 }, - "34": { "ScriptingTutorialPart1": 8 }, - "35": { "ScriptKeywords": 5 }, - "36": { "Set": 3 }, - "37": { "Setup": 1 }, - "38": { "Speech": 3 }, - "39": { "StandardEnums": 4 }, - "40": { "StandardTypes": 1 }, - "41": { "String": 1 }, - "42": { "StringFormats": 1 }, - "43": { "System": 1 }, - "44": { "SystemLimits": 4 }, - "45": { "TemplateSierraStyle": 1 }, - "46": { "Translations": 2 }, - "47": { "Tumbleweed": 2 }, - "48": { "Tumbleweed_helper": 1 }, - "49": { "Tumbleweed_translation": 1 }, - "50": { "UnicodeSupport": 1 }, - "51": { "UpgradeTo31": 2 }, - "52": { "UpgradeTo33": 1 }, - "53": { "UpgradeTo34": 2 }, - "54": { "UpgradeTo341": 1 }, - "55": { "UpgradeTo36": 2 } - }, - "var": { - "0": { "DynamicArrays": 1 }, - "1": { "GameSavesCompatibility": 2 } - }, - "variable": { - "0": { "AudioClip": 3 }, - "1": { "AudioInScript": 1 }, - "2": { "Camera": 2 }, - "3": { "Character": 7 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "Dialog": 3 }, - "6": { "Dictionary": 1 }, - "7": { "DynamicArrays": 5 }, - "8": { "DynamicSprite": 11 }, - "9": { "EditorPlugins": 1 }, - "10": { "EditorPreferences": 2 }, - "11": { "EnginePluginRun-timeAPI": 3 }, - "12": { "FAQ": 2 }, - "13": { "File": 1 }, - "14": { "Game": 2 }, - "15": { "GameSavesCompatibility": 15 }, - "16": { "Gamevariables": 1 }, - "17": { "GeneralSettings": 1 }, - "18": { "GlobalArrays": 1 }, - "19": { "Globalfunctions_General": 10 }, - "20": { "Globalfunctions_Message": 3 }, - "21": { "Globalfunctions_Palette": 2 }, - "22": { "Globalfunctions_Room": 1 }, - "23": { "GlobalVariables": 12 }, - "24": { "GUI": 3 }, - "25": { "GUIControl": 4 }, - "26": { "Hotspot": 3 }, - "27": { "ImportingFunctionsAndVariables": 11 }, - "28": { "InventoryItem": 3 }, - "29": { "Keycodes": 2 }, - "30": { "Label": 1 }, - "31": { "Maths": 15 }, - "32": { "MIDI-playback": 1 }, - "33": { "MusicAndSound": 2 }, - "34": { "Object": 3 }, - "35": { "Overlay": 4 }, - "36": { "Pointers": 9 }, - "37": { "Preprocessor": 1 }, - "38": { "RepExec": 1 }, - "39": { "ScriptingTutorialPart1": 22 }, - "40": { "ScriptingTutorialPart2": 6 }, - "41": { "ScriptKeywords": 33 }, - "42": { "StandardEnums": 6 }, - "43": { "String": 3 }, - "44": { "StringFormats": 5 }, - "45": { "SystemLimits": 1 }, - "46": { "TheScriptHeader": 4 }, - "47": { "Tumbleweed": 5 }, - "48": { "Tumbleweed_extensions": 2 }, - "49": { "UpgradeTo30": 1 }, - "50": { "UpgradeTo33": 1 }, - "51": { "UpgradeTo34": 2 }, - "52": { "UpgradingTo27": 2 }, - "53": { "UpgradingTo271": 1 }, - "54": { "Viewport": 1 }, - "55": { "VoiceSpeech": 1 } - }, - "variable's": { - "0": { "ImportingFunctionsAndVariables": 2 }, - "1": { "StringFormats": 1 } - }, - "variables": { - "0": { "Character": 4 }, - "1": { "DrawingSurface": 2 }, - "2": { "EnginePluginRun-timeAPI": 11 }, - "3": { "File": 2 }, - "4": { "Game": 6 }, - "5": { "GameSavesCompatibility": 24 }, - "6": { "Gamevariables": 5 }, - "7": { "Globalfunctions_Event": 1 }, - "8": { "Globalfunctions_General": 15 }, - "9": { "Globalfunctions_Message": 6 }, - "10": { "GlobalVariables": 3 }, - "11": { "ImportingFunctionsAndVariables": 9 }, - "12": { "InventoryItem": 1 }, - "13": { "Mouse": 4 }, - "14": { "MultipleScripts": 1 }, - "15": { "ObsoleteScriptAPI": 1 }, - "16": { "OtherFeatures": 1 }, - "17": { "Overlay": 2 }, - "18": { "Pointers": 8 }, - "19": { "Scripting": 1 }, - "20": { "ScriptingLanguage": 1 }, - "21": { "ScriptingTutorialPart1": 6 }, - "22": { "ScriptingTutorialPart2": 2 }, - "23": { "ScriptKeywords": 16 }, - "24": { "String": 1 }, - "25": { "StringFormats": 9 }, - "26": { "SystemLimits": 1 }, - "27": { "TheScriptHeader": 1 }, - "28": { "UnicodeSupport": 2 }, - "29": { "UpgradeTo30": 2 }, - "30": { "UpgradeTo33": 1 }, - "31": { "UpgradeTo36": 1 }, - "32": { "UpgradingTo27": 1 } - }, - "variant": { - "0": { "DialogScript": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Keycodes": 1 }, - "3": { "UpgradeTo34": 1 } - }, - "variants": { - "0": { "EnginePluginRun-timeAPI": 2 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_Event": 1 }, - "4": { "Preprocessor": 1 }, - "5": { "ScriptAPIOverview": 1 }, - "6": { "UpgradeTo34": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "varies": { - "0": { "ScriptKeywords": 1 } - }, - "various": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 3 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro8": 1 }, - "5": { "Copyright": 2 }, - "6": { "Credits": 1 }, - "7": { "CustomDialogOptions": 1 }, - "8": { "CustomProperties": 3 }, - "9": { "DateTime": 1 }, - "10": { "Debuggingfeatures": 2 }, - "11": { "DefaultSetup": 1 }, - "12": { "DynamicSprite": 3 }, - "13": { "EditorGUI": 1 }, - "14": { "EditorPlugins": 1 }, - "15": { "EditorRoom": 1 }, - "16": { "EngineConfigFile": 2 }, - "17": { "EnginePluginDesign-timeAPI": 1 }, - "18": { "EnginePluginRun-timeAPI": 3 }, - "19": { "EventTypes": 1 }, - "20": { "FAQ": 1 }, - "21": { "GameSavesCompatibility": 1 }, - "22": { "Gamevariables": 1 }, - "23": { "GeneralSettings": 1 }, - "24": { "Globalfunctions_General": 3 }, - "25": { "Globalfunctions_Room": 2 }, - "26": { "Hotspot": 1 }, - "27": { "Introduction": 1 }, - "28": { "KeyboardShortcuts": 1 }, - "29": { "Lipsync": 1 }, - "30": { "ListBox": 1 }, - "31": { "Multimedia": 1 }, - "32": { "Pointers": 3 }, - "33": { "Region": 1 }, - "34": { "Room": 1 }, - "35": { "RuntimeEngine": 1 }, - "36": { "ScriptingTutorialPart2": 1 }, - "37": { "Settingupthegame": 2 }, - "38": { "StandardEnums": 1 }, - "39": { "SystemLimits": 1 }, - "40": { "Templates": 1 }, - "41": { "UpgradeTo30": 1 } - }, - "vars": { - "0": { "GameSavesCompatibility": 5 } - }, - "vary": { - "0": { "acintro1": 1 }, - "1": { "AdvancedRoomFeatures": 1 } - }, - "varying": { - "0": { "Character": 1 }, - "1": { "GUI": 1 }, - "2": { "GUIControl": 1 }, - "3": { "Object": 1 } - }, - "vast": { - "0": { "Character": 1 } - }, - "vastly": { - "0": { "GlobalVariables": 1 } - }, - "vector": { - "0": { "Settingupthegame": 1 } - }, - "verb": { - "0": { "acintro4": 1 }, - "1": { "Tumbleweed": 4 }, - "2": { "Tumbleweed_actions": 6 }, - "3": { "Tumbleweed_extensions": 2 }, - "4": { "Tumbleweed_helper": 3 }, - "5": { "Tumbleweed_translation": 6 } - }, - "verb-button": { - "0": { "Tumbleweed": 2 } - }, - "verb-coin": { - "0": { "Globalfunctions_General": 1 }, - "1": { "InventoryItem": 1 } - }, - "verbatim": { - "0": { "Preprocessor": 1 }, - "1": { "TheScriptHeader": 1 } - }, - "verbose": { - "0": { "EngineConfigFile": 1 } - }, - "verbosity": { - "0": { "EngineConfigFile": 1 }, - "1": { "RuntimeEngine": 1 } - }, - "verbs": { - "0": { "Tumbleweed_translation": 1 } - }, - "verbtext": { - "0": { "TemplateVerbcoin": 2 } - }, - "versa": { - "0": { "Settingupthegame": 1 }, - "1": { "Tumbleweed_extensions": 1 }, - "2": { "UpgradeTo31": 2 } - }, - "version": { - "0": { "acintro1": 2 }, - "1": { "AnonymousUsageInfo": 5 }, - "2": { "Constants": 4 }, - "3": { "ContactingTheDevelopers": 1 }, - "4": { "DistGame": 1 }, - "5": { "EditorLogPanel": 1 }, - "6": { "EditorPlugins": 3 }, - "7": { "EditorView": 1 }, - "8": { "EngineConfigFile": 3 }, - "9": { "EnginePluginDesign-timeAPI": 13 }, - "10": { "EnginePluginRun-timeAPI": 171 }, - "11": { "EnginePlugins": 2 }, - "12": { "FAQ": 3 }, - "13": { "GameSavesCompatibility": 18 }, - "14": { "GeneralSettings": 8 }, - "15": { "Globalfunctions_Event": 1 }, - "16": { "Globalfunctions_General": 4 }, - "17": { "GraphicsDriver": 2 }, - "18": { "Keycodes": 1 }, - "19": { "Label": 1 }, - "20": { "MusicAndSound": 1 }, - "21": { "ObsoleteScriptAPI": 2 }, - "22": { "Preprocessor": 5 }, - "23": { "RepExec": 1 }, - "24": { "RuntimeEngine": 6 }, - "25": { "ScriptAPIOverview": 6 }, - "26": { "ScriptKeywords": 3 }, - "27": { "ScriptModules": 1 }, - "28": { "StandardEnums": 1 }, - "29": { "StartingOff": 1 }, - "30": { "String": 3 }, - "31": { "System": 8 }, - "32": { "TemplateBASS": 1 }, - "33": { "Translations": 1 }, - "34": { "UpgradeTo32": 1 }, - "35": { "UpgradeTo34": 5 }, - "36": { "UpgradeTo341": 1 }, - "37": { "UpgradeTo35": 1 }, - "38": { "UpgradeTo36": 2 }, - "39": { "UpgradingFromPreviousVersion": 1 }, - "40": { "UpgradingTo27": 1 }, - "41": { "UpgradingTo271": 1 }, - "42": { "VoiceSpeech": 1 } - }, - "versions": { - "0": { "acintro5": 1 }, - "1": { "AnonymousUsageInfo": 2 }, - "2": { "AudioChannel": 16 }, - "3": { "AudioClip": 11 }, - "4": { "BuildAndroid": 1 }, - "5": { "Button": 7 }, - "6": { "Camera": 1 }, - "7": { "Character": 37 }, - "8": { "Constants": 2 }, - "9": { "Credits": 1 }, - "10": { "CustomDialogOptions": 1 }, - "11": { "Dialog": 9 }, - "12": { "DialogOptionsRenderingInfo": 13 }, - "13": { "Dictionary": 1 }, - "14": { "DistGame": 1 }, - "15": { "DrawingSurface": 3 }, - "16": { "DynamicSprite": 1 }, - "17": { "EditorPlugins": 2 }, - "18": { "EditorView": 1 }, - "19": { "EngineConfigFile": 1 }, - "20": { "EnginePluginDesign-timeAPI": 2 }, - "21": { "EnginePluginRun-timeAPI": 3 }, - "22": { "FAQ": 1 }, - "23": { "File": 10 }, - "24": { "Game": 25 }, - "25": { "GeneralSettings": 4 }, - "26": { "Globalfunctions_General": 7 }, - "27": { "Globalfunctions_Room": 4 }, - "28": { "Globalfunctions_Wait": 5 }, - "29": { "GlobalVariables": 2 }, - "30": { "GUI": 10 }, - "31": { "GUIControl": 4 }, - "32": { "Hotspot": 9 }, - "33": { "InventoryItem": 5 }, - "34": { "Keycodes": 1 }, - "35": { "Label": 2 }, - "36": { "ListBox": 7 }, - "37": { "Maths": 6 }, - "38": { "Mouse": 6 }, - "39": { "Multimedia": 4 }, - "40": { "Object": 23 }, - "41": { "ObsoleteScriptAPI": 1 }, - "42": { "Overlay": 9 }, - "43": { "Parser": 1 }, - "44": { "Preprocessor": 4 }, - "45": { "Region": 3 }, - "46": { "Room": 3 }, - "47": { "Screen": 2 }, - "48": { "ScriptAPIOverview": 1 }, - "49": { "ScriptKeywords": 1 }, - "50": { "Set": 1 }, - "51": { "Slider": 3 }, - "52": { "SourceControl": 2 }, - "53": { "Speech": 7 }, - "54": { "StandardEnums": 2 }, - "55": { "String": 7 }, - "56": { "System": 12 }, - "57": { "SystemRequirements": 1 }, - "58": { "Templates": 2 }, - "59": { "TextBox": 2 }, - "60": { "TextWindowGUI": 1 }, - "61": { "UpgradeTo30": 2 }, - "62": { "UpgradeTo31": 2 }, - "63": { "UpgradeTo32": 2 }, - "64": { "UpgradeTo33": 2 }, - "65": { "UpgradeTo341": 3 }, - "66": { "UpgradeTo36": 1 }, - "67": { "UpgradingTo27": 2 }, - "68": { "UpgradingTo271": 1 }, - "69": { "ViewFrame": 1 }, - "70": { "Viewport": 1 } - }, - "vertical": { - "0": { "Character": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "EditorFont": 2 }, - "4": { "EditorGUI": 3 }, - "5": { "EngineConfigFile": 1 }, - "6": { "Globalfunctions_Screen": 1 }, - "7": { "Overlay": 1 }, - "8": { "Setup": 1 }, - "9": { "System": 1 }, - "10": { "Tumbleweed": 1 } - }, - "vertical-flip": { - "0": { "Globalfunctions_Screen": 1 } - }, - "vertically": { - "0": { "Camera": 1 }, - "1": { "Overlay": 1 } - }, - "very": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 1 }, - "5": { "acintro7": 2 }, - "6": { "acintro8": 3 }, - "7": { "acintro9": 1 }, - "8": { "AdvancedRoomFeatures": 1 }, - "9": { "AnonymousUsageInfo": 1 }, - "10": { "AudioChannel": 2 }, - "11": { "AudioInScript": 1 }, - "12": { "Character": 3 }, - "13": { "ColoursEditor": 1 }, - "14": { "DialogScript": 1 }, - "15": { "DistGame": 1 }, - "16": { "DrawingSurface": 1 }, - "17": { "EditorPlugins": 4 }, - "18": { "EditorView": 1 }, - "19": { "EnginePluginDesign-timeAPI": 1 }, - "20": { "EnginePluginRun-timeAPI": 3 }, - "21": { "FAQ": 1 }, - "22": { "Game": 2 }, - "23": { "GameSavesCompatibility": 2 }, - "24": { "Globalfunctions_General": 5 }, - "25": { "Globalfunctions_Screen": 1 }, - "26": { "Hotspot": 1 }, - "27": { "InventoryItem": 1 }, - "28": { "Mouse": 1 }, - "29": { "MusicAndSound": 1 }, - "30": { "Object": 1 }, - "31": { "Pointers": 1 }, - "32": { "Preprocessor": 1 }, - "33": { "RepExec": 1 }, - "34": { "ScriptingTutorialPart1": 3 }, - "35": { "ScriptKeywords": 4 }, - "36": { "StandardTypes": 1 }, - "37": { "StringFormats": 1 }, - "38": { "TextParser": 1 }, - "39": { "TheScriptHeader": 1 }, - "40": { "Tumbleweed_translation": 1 }, - "41": { "UnicodeSupport": 2 }, - "42": { "UpgradeTo32": 1 }, - "43": { "UpgradeTo35": 3 }, - "44": { "UpgradeTo36": 2 } - }, - "via": { - "0": { "acintro7": 1 }, - "1": { "EnginePluginRun-timeAPI": 5 }, - "2": { "ScriptKeywords": 1 }, - "3": { "Tumbleweed": 2 }, - "4": { "UpgradingTo27": 1 } - }, - "vice": { - "0": { "Settingupthegame": 1 }, - "1": { "Tumbleweed_extensions": 1 }, - "2": { "UpgradeTo31": 2 } - }, - "vice-versa": { - "0": { "System": 1 }, - "1": { "SystemLimits": 1 }, - "2": { "UpgradeTo35": 2 } - }, - "video": { - "0": { "BackingUpYourGame": 1 }, - "1": { "DefaultSetup": 1 }, - "2": { "DrawingSurface": 2 }, - "3": { "EngineConfigFile": 1 }, - "4": { "Multimedia": 16 }, - "5": { "Setup": 4 }, - "6": { "SystemRequirements": 1 }, - "7": { "UpgradeTo36": 4 } - }, - "video's": { - "0": { "Multimedia": 4 } - }, - "videos": { - "0": { "acintro": 1 }, - "1": { "Multimedia": 3 }, - "2": { "RuntimeEngine": 1 } - }, - "view": { - "0": { "acintro4": 4 }, - "1": { "acintro7": 4 }, - "2": { "acintro9": 2 }, - "3": { "Button": 5 }, - "4": { "Character": 79 }, - "5": { "EditorCursor": 2 }, - "6": { "EditorPreferences": 4 }, - "7": { "EditorRoom": 1 }, - "8": { "EditorView": 4 }, - "9": { "EnginePluginRun-timeAPI": 6 }, - "10": { "ExtenderFunctions": 2 }, - "11": { "FAQ": 2 }, - "12": { "Game": 15 }, - "13": { "GeneralSettings": 2 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Message": 1 }, - "16": { "Mouse": 5 }, - "17": { "Multimedia": 1 }, - "18": { "Object": 21 }, - "19": { "ScriptingTutorialPart2": 2 }, - "20": { "Settingupthegame": 25 }, - "21": { "ViewFrame": 7 }, - "22": { "Viewport": 4 } - }, - "view's": { - "0": { "Game": 1 } - }, - "view-frame": { - "0": { "acintro7": 1 } - }, - "viewable": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "viewed": { - "0": { "GeneralSettings": 1 } - }, - "viewer": { - "0": { "acintro4": 1 }, - "1": { "TroubleshootingWindowsZoneID": 1 } - }, - "viewport": { - "0": { "Camera": 8 }, - "1": { "EnginePluginRun-timeAPI": 3 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 3 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "Room": 1 }, - "6": { "Screen": 18 }, - "7": { "System": 6 }, - "8": { "UpgradeTo35": 15 }, - "9": { "Viewport": 44 } - }, - "viewport's": { - "0": { "Screen": 2 }, - "1": { "UpgradeTo35": 1 }, - "2": { "Viewport": 13 } - }, - "viewport-camera": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "UpgradeTo35": 1 } - }, - "viewports": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "Screen": 5 }, - "3": { "Viewport": 8 } - }, - "views": { - "0": { "acintro6": 1 }, - "1": { "acintro7": 1 }, - "2": { "EditorView": 3 }, - "3": { "FAQ": 1 }, - "4": { "Game": 4 }, - "5": { "UnicodeSupport": 1 }, - "6": { "UpgradeTo33": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "violent": { - "0": { "TextParser": 1 } - }, - "virtual": { - "0": { "DrawingSurface": 2 }, - "1": { "EnginePluginRun-timeAPI": 16 }, - "2": { "OOProgramming": 1 }, - "3": { "ScriptKeywords": 1 } - }, - "virtually": { - "0": { "ScriptingTutorialPart2": 1 }, - "1": { "UnicodeSupport": 1 } - }, - "visibility": { - "0": { "EditorGUI": 2 }, - "1": { "EditorRoom": 1 }, - "2": { "Globalfunctions_Event": 1 }, - "3": { "GUI": 1 }, - "4": { "UpgradeTo35": 2 } - }, - "visible": { - "0": { "acintro2": 4 }, - "1": { "Camera": 1 }, - "2": { "Character": 2 }, - "3": { "DrawingSurface": 3 }, - "4": { "EditorGUI": 2 }, - "5": { "EditorRoom": 1 }, - "6": { "EnginePluginRun-timeAPI": 1 }, - "7": { "Game": 1 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "GUI": 2 }, - "11": { "GUIControl": 2 }, - "12": { "InvWindow": 3 }, - "13": { "ListBox": 1 }, - "14": { "Mouse": 3 }, - "15": { "Object": 2 }, - "16": { "Settingupthegame": 2 }, - "17": { "UpgradeTo35": 1 } - }, - "visibly": { - "0": { "GeneralSettings": 1 } - }, - "visit": { - "0": { "FAQ": 1 } - }, - "visited": { - "0": { "acintro5": 1 }, - "1": { "Globalfunctions_Room": 1 } - }, - "visual": { - "0": { "GeneralSettings": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Object": 1 }, - "3": { "Overlay": 2 }, - "4": { "Settingupthegame": 1 }, - "5": { "UpgradeTo33": 1 }, - "6": { "UpgradeTo36": 1 } - }, - "visually": { - "0": { "GeneralSettings": 1 }, - "1": { "Overlay": 5 } - }, - "visuals": { - "0": { "GraphicsDriver": 1 } - }, - "vital": { - "0": { "acintro3": 1 }, - "1": { "acintro8": 2 }, - "2": { "ScriptingTutorialPart1": 1 } - }, - "voc": { - "0": { "MusicAndSound": 1 } - }, - "vocabulary": { - "0": { "Parser": 1 } - }, - "voice": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "Character": 3 }, - "2": { "DefaultSetup": 2 }, - "3": { "DistGame": 1 }, - "4": { "Game": 13 }, - "5": { "Gamevariables": 3 }, - "6": { "Globalfunctions_Message": 2 }, - "7": { "Lipsync": 3 }, - "8": { "Multimedia": 2 }, - "9": { "MusicAndSound": 1 }, - "10": { "Setup": 2 }, - "11": { "Speech": 10 }, - "12": { "UpgradeTo32": 1 }, - "13": { "UpgradeTo341": 2 }, - "14": { "UpgradeTo36": 1 }, - "15": { "VoiceSpeech": 15 } - }, - "voice-over": { - "0": { "DistGame": 1 }, - "1": { "Game": 4 }, - "2": { "MusicAndSound": 1 }, - "3": { "UpgradeTo341": 1 }, - "4": { "UpgradeTo36": 3 }, - "5": { "VoiceSpeech": 1 } - }, - "voice-overs": { - "0": { "EngineConfigFile": 1 } - }, - "voices": { - "0": { "Game": 1 }, - "1": { "MIDI-playback": 1 } - }, - "void": { - "0": { "Camera": 3 }, - "1": { "Character": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DialogScript": 3 }, - "4": { "Dictionary": 1 }, - "5": { "EnginePluginDesign-timeAPI": 5 }, - "6": { "EnginePluginRun-timeAPI": 60 }, - "7": { "Game": 3 }, - "8": { "Globalfunctions_General": 1 }, - "9": { "Globalfunctions_Wait": 2 }, - "10": { "GUI": 1 }, - "11": { "Mouse": 1 }, - "12": { "Object": 3 }, - "13": { "OOProgramming": 10 }, - "14": { "Room": 1 }, - "15": { "ScriptKeywords": 1 }, - "16": { "Set": 1 }, - "17": { "System": 2 }, - "18": { "Tumbleweed_actions": 8 }, - "19": { "Tumbleweed_door": 2 }, - "20": { "Tumbleweed_extensions": 4 }, - "21": { "Tumbleweed_helper": 5 }, - "22": { "Tumbleweed_movement": 2 }, - "23": { "Tumbleweed_player": 3 }, - "24": { "Tumbleweed_translation": 3 }, - "25": { "Tumbleweed_unhandled": 1 }, - "26": { "UpgradeTo35": 3 }, - "27": { "Viewport": 2 } - }, - "volatile": { - "0": { "DistGame": 1 } - }, - "volume": { - "0": { "AudioChannel": 15 }, - "1": { "AudioInScript": 2 }, - "2": { "Button": 3 }, - "3": { "Character": 30 }, - "4": { "EditorGUI": 1 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "Game": 12 }, - "7": { "Multimedia": 5 }, - "8": { "MusicAndSound": 9 }, - "9": { "Object": 10 }, - "10": { "Settingupthegame": 2 }, - "11": { "Slider": 1 }, - "12": { "System": 6 }, - "13": { "UpgradeTo32": 5 } - }, - "volumeReduction": { - "0": { "Game": 1 } - }, - "volumes": { - "0": { "Game": 1 }, - "1": { "MusicAndSound": 1 } - }, - "vorbis": { - "0": { "MusicAndSound": 1 } - }, - "vox": { - "0": { "DistGame": 6 }, - "1": { "Game": 7 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Lipsync": 2 }, - "4": { "UpgradeTo341": 1 }, - "5": { "UpgradeTo36": 3 }, - "6": { "VoiceSpeech": 6 } - }, - "voxes": { - "0": { "UpgradeTo36": 2 }, - "1": { "VoiceSpeech": 1 } - }, - "vpod": { - "0": { "Tumbleweed_player": 1 } - }, - "vs": { - "0": { "EditorRoom": 1 } - }, - "vsync": { - "0": { "EngineConfigFile": 1 }, - "1": { "ObsoleteScriptAPI": 1 }, - "2": { "System": 5 } - }, - "vtable": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "wait": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "AudioChannel": 9 }, - "4": { "Button": 2 }, - "5": { "Character": 7 }, - "6": { "ContactingTheDevelopers": 1 }, - "7": { "DateTime": 1 }, - "8": { "DrawingSurface": 1 }, - "9": { "DynamicSprite": 1 }, - "10": { "EditorCursor": 1 }, - "11": { "EnginePluginRun-timeAPI": 1 }, - "12": { "Game": 1 }, - "13": { "Gamevariables": 1 }, - "14": { "Globalfunctions_General": 1 }, - "15": { "Globalfunctions_Screen": 2 }, - "16": { "Globalfunctions_Wait": 10 }, - "17": { "Mouse": 2 }, - "18": { "Object": 3 }, - "19": { "Overlay": 2 }, - "20": { "Scripting": 1 }, - "21": { "Settingupthegame": 1 } - }, - "waiting": { - "0": { "acintro1": 1 }, - "1": { "BlockingScripts": 1 }, - "2": { "Character": 1 }, - "3": { "GeneralSettings": 1 }, - "4": { "Globalfunctions_Wait": 4 }, - "5": { "Tumbleweed_movement": 1 } - }, - "waits": { - "0": { "AudioClip": 1 }, - "1": { "Character": 6 }, - "2": { "Dialog": 2 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "Game": 1 }, - "5": { "Mouse": 1 }, - "6": { "ScriptingTutorialPart2": 1 }, - "7": { "System": 1 }, - "8": { "UpgradeTo30": 2 } - }, - "walk": { - "0": { "acintro2": 6 }, - "1": { "acintro3": 4 }, - "2": { "acintro7": 3 }, - "3": { "AudioChannel": 1 }, - "4": { "Character": 7 }, - "5": { "EditorCursor": 1 }, - "6": { "EditorPlugins": 2 }, - "7": { "EditorView": 2 }, - "8": { "GeneralSettings": 2 }, - "9": { "Globalfunctions_General": 1 }, - "10": { "Globalfunctions_Room": 3 }, - "11": { "Mouse": 3 }, - "12": { "Object": 1 }, - "13": { "ScriptAPIOverview": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Tumbleweed": 2 }, - "16": { "Tumbleweed_actions": 1 }, - "17": { "Tumbleweed_helper": 1 }, - "18": { "Tumbleweed_movement": 1 } - }, - "walk-behind": { - "0": { "acintro2": 9 }, - "1": { "acintro3": 1 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "Character": 2 }, - "4": { "EditorRoom": 2 }, - "5": { "EnginePluginRun-timeAPI": 2 }, - "6": { "FAQ": 1 }, - "7": { "Globalfunctions_Room": 5 }, - "8": { "Object": 2 } - }, - "walk-behind's": { - "0": { "Globalfunctions_Room": 1 } - }, - "walk-behinds": { - "0": { "acintro2": 2 }, - "1": { "Character": 1 }, - "2": { "EditorRoom": 1 }, - "3": { "FAQ": 1 }, - "4": { "Globalfunctions_Room": 2 }, - "5": { "Overlay": 3 }, - "6": { "UpgradeTo35": 3 }, - "7": { "UpgradeTo36": 1 } - }, - "walk-left": { - "0": { "EditorView": 1 } - }, - "walk-to": { - "0": { "acintro3": 6 }, - "1": { "Gamevariables": 1 }, - "2": { "GeneralSettings": 1 }, - "3": { "Globalfunctions_General": 2 }, - "4": { "Hotspot": 6 }, - "5": { "Tumbleweed_door": 2 }, - "6": { "Tumbleweed_movement": 1 } - }, - "walkWhere": { - "0": { "Character": 2 } - }, - "walkable": { - "0": { "acintro2": 10 }, - "1": { "acintro3": 1 }, - "2": { "acintro4": 1 }, - "3": { "AdvancedRoomFeatures": 9 }, - "4": { "Character": 22 }, - "5": { "Debuggingfeatures": 1 }, - "6": { "EditorRoom": 5 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "FAQ": 2 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 2 }, - "11": { "Globalfunctions_Room": 20 }, - "12": { "Object": 9 }, - "13": { "Settingupthegame": 2 }, - "14": { "System": 1 }, - "15": { "SystemLimits": 1 }, - "16": { "Tumbleweed_movement": 2 }, - "17": { "UpgradeTo35": 5 } - }, - "walkable-area": { - "0": { "AdvancedRoomFeatures": 1 } - }, - "walkbehind": { - "0": { "Character": 1 }, - "1": { "EditorRoom": 1 }, - "2": { "Globalfunctions_Room": 1 }, - "3": { "Object": 1 } - }, - "walkbehinds": { - "0": { "Globalfunctions_General": 1 } - }, - "walkcycles": { - "0": { "EditorView": 3 } - }, - "walked": { - "0": { "Character": 1 }, - "1": { "Object": 3 } - }, - "walking": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro7": 7 }, - "3": { "Character": 42 }, - "4": { "EditorView": 7 }, - "5": { "EnginePluginRun-timeAPI": 1 }, - "6": { "GeneralSettings": 2 }, - "7": { "Globalfunctions_General": 5 }, - "8": { "Globalfunctions_Room": 2 }, - "9": { "Object": 2 }, - "10": { "ObsoleteScriptAPI": 1 }, - "11": { "RepExec": 1 }, - "12": { "Settingupthegame": 18 }, - "13": { "Tumbleweed": 4 }, - "14": { "Tumbleweed_door": 1 } - }, - "walks": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "AdvancedRoomFeatures": 3 }, - "3": { "AudioChannel": 1 }, - "4": { "BuildAndroid": 1 }, - "5": { "Character": 2 }, - "6": { "EventTypes": 4 }, - "7": { "GeneralSettings": 1 }, - "8": { "Region": 4 }, - "9": { "Settingupthegame": 1 }, - "10": { "Tumbleweed_movement": 1 } - }, - "walkto": { - "0": { "Gamevariables": 1 } - }, - "walkway": { - "0": { "acintro4": 1 } - }, - "wall": { - "0": { "acintro2": 1 }, - "1": { "AdvancedRoomFeatures": 1 }, - "2": { "Object": 3 }, - "3": { "TextParser": 7 } - }, - "wander": { - "0": { "Character": 2 } - }, - "want": { - "0": { "acintro1": 7 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 5 }, - "3": { "acintro4": 8 }, - "4": { "acintro5": 4 }, - "5": { "acintro6": 4 }, - "6": { "acintro7": 5 }, - "7": { "acintro8": 4 }, - "8": { "acintro9": 4 }, - "9": { "AdvancedRoomFeatures": 4 }, - "10": { "AnonymousUsageInfo": 2 }, - "11": { "AudioChannel": 2 }, - "12": { "AudioClip": 2 }, - "13": { "AutonumberSpeechFiles": 1 }, - "14": { "BackingUpYourGame": 1 }, - "15": { "BuildAndroid": 2 }, - "16": { "Button": 1 }, - "17": { "Camera": 1 }, - "18": { "Character": 21 }, - "19": { "ColoursEditor": 3 }, - "20": { "Constants": 1 }, - "21": { "ContactingTheDevelopers": 1 }, - "22": { "CustomDialogOptions": 5 }, - "23": { "CustomProperties": 3 }, - "24": { "DefaultSetup": 2 }, - "25": { "Dialog": 4 }, - "26": { "DialogOptionsRenderingInfo": 2 }, - "27": { "DialogScript": 5 }, - "28": { "DistGame": 3 }, - "29": { "DrawingSurface": 2 }, - "30": { "DynamicArrays": 5 }, - "31": { "DynamicSprite": 3 }, - "32": { "EditorGUI": 1 }, - "33": { "EditorPlugins": 2 }, - "34": { "EditorPreferences": 3 }, - "35": { "EditorRoom": 2 }, - "36": { "EditorSprite": 1 }, - "37": { "EditorView": 3 }, - "38": { "EnginePluginDesign-timeAPI": 2 }, - "39": { "EnginePluginRun-timeAPI": 8 }, - "40": { "EnginePlugins": 1 }, - "41": { "FAQ": 6 }, - "42": { "File": 6 }, - "43": { "Game": 2 }, - "44": { "GameSavesCompatibility": 3 }, - "45": { "GeneralSettings": 4 }, - "46": { "GlobalArrays": 2 }, - "47": { "Globalfunctions_General": 13 }, - "48": { "Globalfunctions_Message": 2 }, - "49": { "Globalfunctions_Room": 4 }, - "50": { "GlobalVariables": 2 }, - "51": { "GUI": 4 }, - "52": { "GUIControl": 5 }, - "53": { "Hotspot": 2 }, - "54": { "ImportingFunctionsAndVariables": 1 }, - "55": { "Introduction": 1 }, - "56": { "InventoryItem": 5 }, - "57": { "Label": 1 }, - "58": { "ListBox": 4 }, - "59": { "Maths": 1 }, - "60": { "Mouse": 3 }, - "61": { "Multimedia": 2 }, - "62": { "MultipleScripts": 2 }, - "63": { "MusicAndSound": 6 }, - "64": { "Object": 7 }, - "65": { "OOProgramming": 2 }, - "66": { "Overlay": 2 }, - "67": { "Parser": 1 }, - "68": { "Plugins": 2 }, - "69": { "Pointers": 4 }, - "70": { "Preprocessor": 1 }, - "71": { "Region": 2 }, - "72": { "RepExec": 8 }, - "73": { "Room": 3 }, - "74": { "RuntimeEngine": 1 }, - "75": { "ScriptAPIOverview": 2 }, - "76": { "ScriptingTutorialPart1": 10 }, - "77": { "ScriptingTutorialPart2": 9 }, - "78": { "ScriptKeywords": 5 }, - "79": { "Settingupthegame": 16 }, - "80": { "Speech": 1 }, - "81": { "String": 3 }, - "82": { "StringFormats": 1 }, - "83": { "System": 3 }, - "84": { "Templates": 4 }, - "85": { "TextParser": 4 }, - "86": { "Translations": 4 }, - "87": { "Tumbleweed": 3 }, - "88": { "Tumbleweed_door": 1 }, - "89": { "Tumbleweed_translation": 5 }, - "90": { "UpgradeTo30": 4 }, - "91": { "UpgradeTo31": 1 }, - "92": { "UpgradeTo32": 2 }, - "93": { "UpgradeTo33": 1 }, - "94": { "UpgradeTo34": 1 }, - "95": { "UpgradeTo35": 1 }, - "96": { "UpgradeTo36": 2 }, - "97": { "UpgradingTo27": 2 }, - "98": { "Viewport": 1 } - }, - "wanted": { - "0": { "AudioInScript": 1 }, - "1": { "Constants": 1 }, - "2": { "EnginePluginDesign-timeAPI": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "InventoryItem": 1 }, - "5": { "MusicAndSound": 1 }, - "6": { "ScriptKeywords": 2 }, - "7": { "TextParser": 1 }, - "8": { "Translations": 1 }, - "9": { "UnicodeSupport": 1 } - }, - "wants": { - "0": { "acintro7": 1 }, - "1": { "EnginePluginRun-timeAPI": 2 }, - "2": { "Globalfunctions_Room": 1 } - }, - "wares": { - "0": { "acintro8": 4 } - }, - "warn": { - "0": { "DistGame": 1 }, - "1": { "EditorLogPanel": 1 }, - "2": { "EditorPreferences": 1 }, - "3": { "EngineConfigFile": 4 }, - "4": { "RuntimeEngine": 3 }, - "5": { "System": 2 } - }, - "warning": { - "0": { "acintro1": 2 }, - "1": { "EditorLogPanel": 1 } - }, - "warnings": { - "0": { "TemplateVerbcoin": 1 } - }, - "wasAdded": { - "0": { "Set": 2 } - }, - "wasapi": { - "0": { "EngineConfigFile": 1 } - }, - "wasm": { - "0": { "DistGame": 1 } - }, - "wasn't": { - "0": { "acintro9": 1 } - }, - "watch": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Globalfunctions_Room": 1 }, - "2": { "Tumbleweed": 3 }, - "3": { "UpgradingTo27": 1 }, - "4": { "UpgradingTo271": 1 } - }, - "watch-example": { - "0": { "Tumbleweed": 1 } - }, - "watched": { - "0": { "Globalfunctions_General": 1 } - }, - "watching": { - "0": { "Character": 1 } - }, - "water": { - "0": { "Character": 1 }, - "1": { "InventoryItem": 1 } - }, - "wav": { - "0": { "DistGame": 1 }, - "1": { "File": 1 }, - "2": { "MusicAndSound": 1 } - }, - "waveform": { - "0": { "Lipsync": 3 } - }, - "waving": { - "0": { "acintro7": 1 }, - "1": { "Settingupthegame": 1 } - }, - "way": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro7": 2 }, - "5": { "acintro8": 3 }, - "6": { "acintro9": 1 }, - "7": { "AdvancedRoomFeatures": 3 }, - "8": { "BlockingScripts": 1 }, - "9": { "BuildAndroid": 1 }, - "10": { "Button": 2 }, - "11": { "Character": 4 }, - "12": { "ColoursEditor": 1 }, - "13": { "DefaultSetup": 4 }, - "14": { "EditorGUI": 4 }, - "15": { "EditorInventoryItems": 1 }, - "16": { "EditorRoom": 3 }, - "17": { "EditorSprite": 1 }, - "18": { "EditorView": 2 }, - "19": { "EnginePluginDesign-timeAPI": 1 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "FAQ": 2 }, - "22": { "File": 1 }, - "23": { "Game": 5 }, - "24": { "GameSavesCompatibility": 2 }, - "25": { "GeneralSettings": 5 }, - "26": { "Globalfunctions_General": 4 }, - "27": { "Globalfunctions_Message": 2 }, - "28": { "Globalfunctions_Palette": 1 }, - "29": { "Globalfunctions_Screen": 2 }, - "30": { "GUI": 1 }, - "31": { "Lipsync": 1 }, - "32": { "ListBox": 1 }, - "33": { "Mouse": 2 }, - "34": { "MusicAndSound": 3 }, - "35": { "Object": 2 }, - "36": { "OOProgramming": 1 }, - "37": { "Overlay": 3 }, - "38": { "Pointers": 4 }, - "39": { "RepExec": 2 }, - "40": { "ScriptingTutorialPart1": 4 }, - "41": { "ScriptingTutorialPart2": 4 }, - "42": { "ScriptKeywords": 5 }, - "43": { "ScriptModules": 1 }, - "44": { "Settingupthegame": 2 }, - "45": { "Setup": 1 }, - "46": { "Speech": 1 }, - "47": { "SystemLimits": 1 }, - "48": { "SystemRequirements": 1 }, - "49": { "Templates": 1 }, - "50": { "TextParser": 1 }, - "51": { "Translations": 1 }, - "52": { "TroubleshootingWindowsZoneID": 1 }, - "53": { "UpgradeTo30": 2 }, - "54": { "UpgradeTo31": 2 }, - "55": { "UpgradeTo32": 3 }, - "56": { "UpgradeTo335": 1 }, - "57": { "UpgradeTo341": 1 }, - "58": { "UpgradeTo35": 1 }, - "59": { "UpgradeTo36": 3 }, - "60": { "UpgradeTo361": 1 }, - "61": { "UpgradingTo27": 2 }, - "62": { "UpgradingTo271": 1 } - }, - "waypoint": { - "0": { "EnginePluginRun-timeAPI": 8 } - }, - "waypoints": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "ways": { - "0": { "acintro6": 1 }, - "1": { "acintro9": 2 }, - "2": { "Debuggingfeatures": 2 }, - "3": { "DynamicSprite": 2 }, - "4": { "FAQ": 1 }, - "5": { "GameSavesCompatibility": 2 }, - "6": { "Globalfunctions_Room": 1 }, - "7": { "GlobalVariables": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "Settingupthegame": 3 }, - "10": { "Translations": 1 }, - "11": { "Tumbleweed": 1 }, - "12": { "UpgradingTo27": 1 } - }, - "we": { - "0": { "acintro1": 7 }, - "1": { "acintro2": 9 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 17 }, - "4": { "acintro5": 4 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 13 }, - "7": { "acintro8": 14 }, - "8": { "acintro9": 1 }, - "9": { "AnonymousUsageInfo": 1 }, - "10": { "AudioChannel": 1 }, - "11": { "AudioInScript": 1 }, - "12": { "BlockingScripts": 2 }, - "13": { "EditorPlugins": 6 }, - "14": { "EditorSprite": 1 }, - "15": { "EnginePlugins": 1 }, - "16": { "ExtenderFunctions": 2 }, - "17": { "FAQ": 1 }, - "18": { "Game": 1 }, - "19": { "GameSavesCompatibility": 2 }, - "20": { "Gamevariables": 1 }, - "21": { "Globalfunctions_General": 1 }, - "22": { "GUI": 1 }, - "23": { "InventoryItem": 1 }, - "24": { "OOProgramming": 5 }, - "25": { "Pointers": 1 }, - "26": { "RepExec": 5 }, - "27": { "ScriptingTutorialPart1": 18 }, - "28": { "ScriptingTutorialPart2": 5 }, - "29": { "ScriptKeywords": 2 }, - "30": { "System": 1 }, - "31": { "Tumbleweed": 2 }, - "32": { "Tumbleweed_extensions": 2 }, - "33": { "UpgradeTo35": 1 }, - "34": { "UpgradeTo36": 3 }, - "35": { "UpgradeTo361": 1 }, - "36": { "UpgradingTo27": 4 }, - "37": { "UpgradingTo271": 1 }, - "38": { "VoiceSpeech": 1 } - }, - "we'll": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro5": 1 }, - "5": { "acintro7": 1 }, - "6": { "acintro8": 2 }, - "7": { "AudioInScript": 1 }, - "8": { "EditorPlugins": 1 }, - "9": { "ScriptingTutorialPart1": 2 }, - "10": { "UpgradeTo36": 1 }, - "11": { "UpgradingTo27": 1 } - }, - "we're": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "acintro8": 3 }, - "4": { "ScriptingTutorialPart1": 2 } - }, - "we've": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 4 }, - "2": { "acintro3": 1 }, - "3": { "acintro4": 1 }, - "4": { "acintro8": 3 }, - "5": { "ScriptingTutorialPart1": 1 } - }, - "weapons": { - "0": { "ScriptKeywords": 8 } - }, - "wearing": { - "0": { "Character": 1 } - }, - "web": { - "0": { "DistGame": 1 }, - "1": { "RuntimeEngine": 1 }, - "2": { "Translations": 1 }, - "3": { "TroubleshootingWindowsZoneID": 1 } - }, - "website": { - "0": { "acintro9": 1 }, - "1": { "AnonymousUsageInfo": 3 }, - "2": { "ContactingTheDevelopers": 2 }, - "3": { "GeneralSettings": 2 }, - "4": { "Plugins": 1 }, - "5": { "Settingupthegame": 1 }, - "6": { "StartingOff": 1 } - }, - "websites": { - "0": { "DistGame": 1 } - }, - "weight": { - "0": { "InventoryItem": 1 } - }, - "weighted": { - "0": { "acintro1": 1 } - }, - "well": { - "0": { "acintro1": 2 }, - "1": { "acintro2": 1 }, - "2": { "acintro5": 2 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 3 }, - "5": { "acintro8": 1 }, - "6": { "AudioClip": 1 }, - "7": { "Character": 1 }, - "8": { "CustomProperties": 1 }, - "9": { "Dictionary": 1 }, - "10": { "DistGame": 1 }, - "11": { "DynamicArrays": 1 }, - "12": { "DynamicSprite": 1 }, - "13": { "EditorCursor": 1 }, - "14": { "EditorGUI": 2 }, - "15": { "EditorPlugins": 1 }, - "16": { "EditorSprite": 1 }, - "17": { "EditorView": 1 }, - "18": { "FAQ": 3 }, - "19": { "GameSavesCompatibility": 1 }, - "20": { "GeneralSettings": 2 }, - "21": { "Globalfunctions_General": 2 }, - "22": { "Globalfunctions_Room": 1 }, - "23": { "GUIControl": 2 }, - "24": { "Keycodes": 1 }, - "25": { "Lipsync": 1 }, - "26": { "Maths": 1 }, - "27": { "MusicAndSound": 1 }, - "28": { "ScriptingTutorialPart1": 2 }, - "29": { "ScriptKeywords": 1 }, - "30": { "Set": 1 }, - "31": { "Settingupthegame": 2 }, - "32": { "SourceControl": 1 }, - "33": { "String": 1 }, - "34": { "System": 1 }, - "35": { "TextParser": 2 }, - "36": { "Tumbleweed": 2 }, - "37": { "UpgradeTo30": 1 }, - "38": { "UpgradeTo31": 1 }, - "39": { "UpgradeTo32": 1 }, - "40": { "UpgradeTo33": 1 }, - "41": { "UpgradeTo34": 1 }, - "42": { "UpgradeTo36": 1 }, - "43": { "UpgradingTo27": 2 }, - "44": { "UpgradingTo271": 1 }, - "45": { "VoiceSpeech": 1 } - }, - "went": { - "0": { "Templates": 1 }, - "1": { "Tumbleweed_movement": 1 } - }, - "were": { - "0": { "acintro2": 1 }, - "1": { "acintro5": 2 }, - "2": { "acintro8": 1 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "Camera": 1 }, - "5": { "Character": 1 }, - "6": { "Constants": 1 }, - "7": { "CustomDialogOptions": 2 }, - "8": { "DateTime": 1 }, - "9": { "DrawingSurface": 1 }, - "10": { "EditorDialog": 1 }, - "11": { "EnginePluginRun-timeAPI": 5 }, - "12": { "ExtenderFunctions": 2 }, - "13": { "FAQ": 3 }, - "14": { "Game": 1 }, - "15": { "GeneralSettings": 4 }, - "16": { "Globalfunctions_General": 3 }, - "17": { "Globalfunctions_Room": 1 }, - "18": { "Globalfunctions_Wait": 2 }, - "19": { "GlobalVariables": 1 }, - "20": { "Hotspot": 1 }, - "21": { "Keycodes": 3 }, - "22": { "MIDI-playback": 1 }, - "23": { "Mouse": 1 }, - "24": { "Multimedia": 1 }, - "25": { "OtherFeatures": 1 }, - "26": { "Parser": 1 }, - "27": { "Preprocessor": 1 }, - "28": { "Region": 1 }, - "29": { "RepExec": 1 }, - "30": { "ScriptAPIOverview": 2 }, - "31": { "ScriptKeywords": 1 }, - "32": { "Settingupthegame": 3 }, - "33": { "TroubleshootingWindowsZoneID": 1 }, - "34": { "UnicodeSupport": 1 }, - "35": { "UpgradeTo31": 3 }, - "36": { "UpgradeTo32": 1 }, - "37": { "UpgradeTo33": 1 }, - "38": { "UpgradeTo335": 1 }, - "39": { "UpgradeTo34": 1 }, - "40": { "UpgradeTo341": 3 }, - "41": { "UpgradeTo35": 7 }, - "42": { "UpgradeTo36": 7 }, - "43": { "UpgradingTo27": 1 }, - "44": { "Viewport": 1 } - }, - "weren't": { - "0": { "File": 1 } - }, - "what": { - "0": { "acintro1": 6 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 3 }, - "3": { "acintro4": 4 }, - "4": { "acintro5": 1 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 1 }, - "7": { "acintro8": 1 }, - "8": { "acintro9": 2 }, - "9": { "AdvancedRoomFeatures": 1 }, - "10": { "AnonymousUsageInfo": 3 }, - "11": { "AudioChannel": 1 }, - "12": { "AudioClip": 2 }, - "13": { "AudioInScript": 1 }, - "14": { "AutonumberSpeechFiles": 2 }, - "15": { "BlockingScripts": 1 }, - "16": { "BuildAndroid": 2 }, - "17": { "Camera": 1 }, - "18": { "Character": 7 }, - "19": { "CustomProperties": 2 }, - "20": { "Debuggingfeatures": 1 }, - "21": { "DefaultSetup": 1 }, - "22": { "Dialog": 3 }, - "23": { "DialogOptionsRenderingInfo": 1 }, - "24": { "DialogScript": 2 }, - "25": { "DistGame": 1 }, - "26": { "DrawingSurface": 1 }, - "27": { "DynamicSprite": 3 }, - "28": { "EditorDialog": 1 }, - "29": { "EditorGUI": 2 }, - "30": { "EditorPlugins": 3 }, - "31": { "EditorPreferences": 1 }, - "32": { "EditorRoom": 1 }, - "33": { "EnginePluginDesign-timeAPI": 1 }, - "34": { "EnginePluginRun-timeAPI": 5 }, - "35": { "FAQ": 3 }, - "36": { "File": 1 }, - "37": { "Game": 1 }, - "38": { "GameSavesCompatibility": 4 }, - "39": { "Gamevariables": 1 }, - "40": { "GeneralSettings": 3 }, - "41": { "Globalfunctions_Event": 2 }, - "42": { "Globalfunctions_General": 7 }, - "43": { "Globalfunctions_Room": 2 }, - "44": { "Globalfunctions_Wait": 1 }, - "45": { "GUI": 1 }, - "46": { "GUIControl": 2 }, - "47": { "Hotspot": 2 }, - "48": { "InventoryItem": 1 }, - "49": { "Maths": 1 }, - "50": { "Mouse": 4 }, - "51": { "Object": 1 }, - "52": { "Plugins": 1 }, - "53": { "Pointers": 5 }, - "54": { "Preprocessor": 1 }, - "55": { "RuntimeEngine": 2 }, - "56": { "Screen": 1 }, - "57": { "ScriptingTutorialPart1": 14 }, - "58": { "ScriptingTutorialPart2": 2 }, - "59": { "ScriptKeywords": 3 }, - "60": { "Settingupthegame": 5 }, - "61": { "Slider": 1 }, - "62": { "SourceControl": 1 }, - "63": { "Speech": 1 }, - "64": { "String": 2 }, - "65": { "System": 2 }, - "66": { "TemplateBASS": 1 }, - "67": { "Templates": 2 }, - "68": { "TextParser": 2 }, - "69": { "Tumbleweed_actions": 1 }, - "70": { "Tumbleweed_extensions": 1 }, - "71": { "Tumbleweed_movement": 1 }, - "72": { "UpgradeTo30": 1 }, - "73": { "UpgradeTo35": 2 }, - "74": { "UpgradingTo27": 9 } - }, - "what's": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro3": 1 }, - "3": { "Character": 1 }, - "4": { "EnginePluginRun-timeAPI": 1 }, - "5": { "FAQ": 1 }, - "6": { "GraphicsDriver": 1 }, - "7": { "Plugins": 1 }, - "8": { "ScriptingTutorialPart2": 1 }, - "9": { "UpgradeTo32": 2 }, - "10": { "UpgradingTo27": 2 } - }, - "whatever": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro7": 3 }, - "3": { "acintro9": 1 }, - "4": { "Character": 1 }, - "5": { "Dialog": 5 }, - "6": { "EditorCursor": 1 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorPlugins": 1 }, - "9": { "File": 1 }, - "10": { "Game": 3 }, - "11": { "GUI": 1 }, - "12": { "GUIControl": 2 }, - "13": { "MusicAndSound": 1 }, - "14": { "Object": 1 }, - "15": { "Screen": 1 }, - "16": { "Settingupthegame": 2 }, - "17": { "Templates": 1 }, - "18": { "Tumbleweed_movement": 1 }, - "19": { "UpgradeTo36": 1 }, - "20": { "Viewport": 1 } - }, - "whatsoever": { - "0": { "UnicodeSupport": 1 }, - "1": { "UpgradeTo36": 2 } - }, - "wheel": { - "0": { "GeneralSettings": 3 }, - "1": { "Globalfunctions_Event": 2 }, - "2": { "Globalfunctions_General": 1 } - }, - "wheels": { - "0": { "GeneralSettings": 1 } - }, - "when": { - "0": { "acintro1": 4 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 6 }, - "3": { "acintro4": 2 }, - "4": { "acintro5": 3 }, - "5": { "acintro6": 1 }, - "6": { "acintro7": 7 }, - "7": { "acintro8": 9 }, - "8": { "acintro9": 4 }, - "9": { "AdvancedRoomFeatures": 3 }, - "10": { "AudioChannel": 3 }, - "11": { "AudioClip": 2 }, - "12": { "AutonumberSpeechFiles": 1 }, - "13": { "BlockingScripts": 3 }, - "14": { "BuildAndroid": 2 }, - "15": { "Button": 6 }, - "16": { "Character": 35 }, - "17": { "ColoursEditor": 1 }, - "18": { "Constants": 2 }, - "19": { "CustomDialogOptions": 2 }, - "20": { "CustomProperties": 1 }, - "21": { "DateTime": 1 }, - "22": { "Debuggingfeatures": 7 }, - "23": { "DefaultSetup": 12 }, - "24": { "Dialog": 4 }, - "25": { "DialogOptionsRenderingInfo": 4 }, - "26": { "DialogScript": 5 }, - "27": { "Dictionary": 2 }, - "28": { "DistGame": 12 }, - "29": { "DrawingSurface": 4 }, - "30": { "DynamicArrays": 3 }, - "31": { "DynamicSprite": 9 }, - "32": { "EditorCursor": 2 }, - "33": { "EditorDialog": 1 }, - "34": { "EditorFont": 2 }, - "35": { "EditorGUI": 9 }, - "36": { "EditorInventoryItems": 5 }, - "37": { "EditorLogPanel": 1 }, - "38": { "EditorPlugins": 2 }, - "39": { "EditorPreferences": 6 }, - "40": { "EditorRoom": 8 }, - "41": { "EditorSprite": 1 }, - "42": { "EditorView": 5 }, - "43": { "EngineConfigFile": 12 }, - "44": { "EnginePluginDesign-timeAPI": 10 }, - "45": { "EnginePluginRun-timeAPI": 47 }, - "46": { "EnginePlugins": 2 }, - "47": { "EventTypes": 39 }, - "48": { "FAQ": 5 }, - "49": { "File": 7 }, - "50": { "Game": 5 }, - "51": { "GameSavesCompatibility": 2 }, - "52": { "Gamevariables": 10 }, - "53": { "GeneralSettings": 26 }, - "54": { "GlobalArrays": 3 }, - "55": { "Globalfunctions_Event": 13 }, - "56": { "Globalfunctions_General": 17 }, - "57": { "Globalfunctions_Palette": 1 }, - "58": { "Globalfunctions_Room": 11 }, - "59": { "Globalfunctions_Screen": 1 }, - "60": { "GlobalVariables": 1 }, - "61": { "GraphicsDriver": 1 }, - "62": { "GUI": 12 }, - "63": { "GUIControl": 2 }, - "64": { "Hotspot": 2 }, - "65": { "Introduction": 1 }, - "66": { "InventoryItem": 3 }, - "67": { "Lipsync": 2 }, - "68": { "Maths": 1 }, - "69": { "Mouse": 10 }, - "70": { "Multimedia": 1 }, - "71": { "MusicAndSound": 6 }, - "72": { "Object": 7 }, - "73": { "ObsoleteScriptAPI": 1 }, - "74": { "Overlay": 2 }, - "75": { "Pointers": 3 }, - "76": { "Preprocessor": 1 }, - "77": { "Region": 4 }, - "78": { "RepExec": 3 }, - "79": { "Room": 5 }, - "80": { "RuntimeEngine": 2 }, - "81": { "Screen": 2 }, - "82": { "ScriptingTutorialPart1": 5 }, - "83": { "ScriptingTutorialPart2": 2 }, - "84": { "ScriptKeywords": 12 }, - "85": { "ScriptModules": 2 }, - "86": { "Set": 1 }, - "87": { "Settingupthegame": 20 }, - "88": { "Setup": 5 }, - "89": { "Speech": 5 }, - "90": { "StringFormats": 1 }, - "91": { "System": 8 }, - "92": { "TemplateBASS": 3 }, - "93": { "Templates": 3 }, - "94": { "TemplateVerbcoin": 1 }, - "95": { "TextWindowGUI": 1 }, - "96": { "Translations": 4 }, - "97": { "TroubleshootingWindowsZoneID": 5 }, - "98": { "Tumbleweed": 2 }, - "99": { "Tumbleweed_door": 4 }, - "100": { "Tumbleweed_extensions": 1 }, - "101": { "UnicodeSupport": 3 }, - "102": { "UpgradeTo30": 1 }, - "103": { "UpgradeTo31": 1 }, - "104": { "UpgradeTo32": 1 }, - "105": { "UpgradeTo33": 2 }, - "106": { "UpgradeTo335": 1 }, - "107": { "UpgradeTo34": 3 }, - "108": { "UpgradeTo341": 5 }, - "109": { "UpgradeTo35": 4 }, - "110": { "UpgradeTo36": 8 }, - "111": { "UpgradeTo361": 2 }, - "112": { "UpgradingTo27": 2 }, - "113": { "ViewFrame": 1 } - }, - "whenever": { - "0": { "acintro3": 2 }, - "1": { "acintro9": 2 }, - "2": { "Camera": 1 }, - "3": { "Character": 2 }, - "4": { "CustomDialogOptions": 1 }, - "5": { "DefaultSetup": 1 }, - "6": { "Dialog": 1 }, - "7": { "EditorCursor": 2 }, - "8": { "EditorDialog": 1 }, - "9": { "EngineConfigFile": 1 }, - "10": { "EnginePluginRun-timeAPI": 2 }, - "11": { "GameSavesCompatibility": 1 }, - "12": { "GeneralSettings": 2 }, - "13": { "Globalfunctions_Event": 4 }, - "14": { "Globalfunctions_Room": 2 }, - "15": { "Hotspot": 1 }, - "16": { "Lipsync": 1 }, - "17": { "Region": 1 }, - "18": { "ScriptingTutorialPart2": 1 }, - "19": { "ScriptKeywords": 1 }, - "20": { "Settingupthegame": 2 }, - "21": { "Setup": 1 }, - "22": { "SourceControl": 1 }, - "23": { "System": 1 }, - "24": { "UpgradeTo34": 1 }, - "25": { "UpgradeTo341": 1 }, - "26": { "UpgradeTo36": 1 } - }, - "where": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 9 }, - "2": { "acintro3": 4 }, - "3": { "acintro4": 4 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 3 }, - "6": { "acintro7": 3 }, - "7": { "acintro8": 2 }, - "8": { "acintro9": 1 }, - "9": { "AdvancedRoomFeatures": 1 }, - "10": { "AnonymousUsageInfo": 1 }, - "11": { "AutonumberSpeechFiles": 1 }, - "12": { "BlockingScripts": 1 }, - "13": { "Button": 1 }, - "14": { "Character": 7 }, - "15": { "ContactingTheDevelopers": 2 }, - "16": { "CustomDialogOptions": 1 }, - "17": { "CustomProperties": 3 }, - "18": { "Debuggingfeatures": 1 }, - "19": { "DefaultSetup": 5 }, - "20": { "DialogScript": 1 }, - "21": { "DistGame": 3 }, - "22": { "EditorCharacter": 1 }, - "23": { "EditorCursor": 2 }, - "24": { "EditorDialog": 3 }, - "25": { "EditorGUI": 1 }, - "26": { "EditorInventoryItems": 3 }, - "27": { "EditorPlugins": 1 }, - "28": { "EditorPreferences": 2 }, - "29": { "EditorRoom": 4 }, - "30": { "EditorSprite": 2 }, - "31": { "EditorView": 2 }, - "32": { "EngineConfigFile": 2 }, - "33": { "EnginePluginRun-timeAPI": 9 }, - "34": { "EventTypes": 1 }, - "35": { "FAQ": 2 }, - "36": { "Game": 4 }, - "37": { "GameSavesCompatibility": 1 }, - "38": { "GeneralSettings": 10 }, - "39": { "Globalfunctions_General": 11 }, - "40": { "Globalfunctions_Message": 3 }, - "41": { "GraphicsDriver": 2 }, - "42": { "GUI": 3 }, - "43": { "ImportingFunctionsAndVariables": 5 }, - "44": { "Introduction": 1 }, - "45": { "ListBox": 1 }, - "46": { "Maths": 1 }, - "47": { "Mouse": 6 }, - "48": { "Multimedia": 4 }, - "49": { "MultipleScripts": 1 }, - "50": { "MusicAndSound": 3 }, - "51": { "Object": 2 }, - "52": { "OOProgramming": 2 }, - "53": { "Overlay": 4 }, - "54": { "Pointers": 1 }, - "55": { "RepExec": 2 }, - "56": { "RuntimeEngine": 2 }, - "57": { "ScriptAPIOverview": 1 }, - "58": { "ScriptingTutorialPart1": 4 }, - "59": { "ScriptingTutorialPart2": 1 }, - "60": { "ScriptKeywords": 3 }, - "61": { "Settingupthegame": 11 }, - "62": { "Setup": 1 }, - "63": { "StandardEnums": 1 }, - "64": { "String": 3 }, - "65": { "TemplateBASS": 1 }, - "66": { "TemplateVerbcoin": 1 }, - "67": { "TextParser": 1 }, - "68": { "TheScriptHeader": 1 }, - "69": { "Translations": 4 }, - "70": { "TroubleshootingWindowsZoneID": 7 }, - "71": { "UpgradeTo31": 2 }, - "72": { "UpgradeTo32": 2 }, - "73": { "UpgradeTo33": 1 }, - "74": { "UpgradeTo335": 1 }, - "75": { "UpgradeTo341": 1 }, - "76": { "UpgradeTo35": 5 }, - "77": { "UpgradeTo36": 2 }, - "78": { "UpgradingTo27": 2 }, - "79": { "Viewport": 2 }, - "80": { "VoiceSpeech": 2 } - }, - "whereas": { - "0": { "acintro7": 1 }, - "1": { "acintro8": 1 }, - "2": { "acintro9": 1 }, - "3": { "Character": 1 }, - "4": { "MusicAndSound": 1 }, - "5": { "Object": 1 }, - "6": { "TextParser": 1 }, - "7": { "Tumbleweed_player": 1 } - }, - "whereby": { - "0": { "EnginePlugins": 1 }, - "1": { "GeneralSettings": 1 }, - "2": { "MusicAndSound": 1 } - }, - "wherever": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "EnginePluginRun-timeAPI": 1 }, - "3": { "UpgradeTo32": 1 } - }, - "whether": { - "0": { "acintro1": 1 }, - "1": { "acintro4": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 2 }, - "4": { "acintro9": 1 }, - "5": { "AnonymousUsageInfo": 2 }, - "6": { "AudioChannel": 2 }, - "7": { "AudioClip": 1 }, - "8": { "AudioInScript": 2 }, - "9": { "Button": 3 }, - "10": { "Camera": 1 }, - "11": { "Character": 28 }, - "12": { "Constants": 1 }, - "13": { "DefaultSetup": 1 }, - "14": { "Dialog": 7 }, - "15": { "DialogOptionsRenderingInfo": 1 }, - "16": { "Dictionary": 4 }, - "17": { "DrawingSurface": 2 }, - "18": { "DynamicSprite": 1 }, - "19": { "EditorCharacter": 1 }, - "20": { "EditorCursor": 2 }, - "21": { "EditorDialog": 2 }, - "22": { "EditorGUI": 3 }, - "23": { "EditorInventoryItems": 1 }, - "24": { "EditorRoom": 1 }, - "25": { "EditorSprite": 2 }, - "26": { "EngineConfigFile": 6 }, - "27": { "EnginePluginRun-timeAPI": 10 }, - "28": { "FAQ": 2 }, - "29": { "File": 4 }, - "30": { "Game": 8 }, - "31": { "GameSavesCompatibility": 1 }, - "32": { "GeneralSettings": 12 }, - "33": { "Globalfunctions_Event": 2 }, - "34": { "Globalfunctions_General": 7 }, - "35": { "Globalfunctions_Room": 4 }, - "36": { "Globalfunctions_Wait": 1 }, - "37": { "GUI": 10 }, - "38": { "GUIControl": 4 }, - "39": { "Hotspot": 1 }, - "40": { "InventoryItem": 1 }, - "41": { "InvWindow": 2 }, - "42": { "ListBox": 5 }, - "43": { "Mouse": 3 }, - "44": { "Multimedia": 3 }, - "45": { "Object": 7 }, - "46": { "Overlay": 3 }, - "47": { "Parser": 1 }, - "48": { "Pointers": 2 }, - "49": { "Preprocessor": 2 }, - "50": { "Region": 1 }, - "51": { "RepExec": 2 }, - "52": { "Screen": 1 }, - "53": { "ScriptingTutorialPart1": 1 }, - "54": { "ScriptingTutorialPart2": 1 }, - "55": { "ScriptKeywords": 1 }, - "56": { "Set": 4 }, - "57": { "Settingupthegame": 10 }, - "58": { "Speech": 3 }, - "59": { "String": 3 }, - "60": { "System": 9 }, - "61": { "SystemRequirements": 1 }, - "62": { "TemplateVerbcoin": 1 }, - "63": { "TextBox": 1 }, - "64": { "TroubleshootingWindowsZoneID": 1 }, - "65": { "Tumbleweed": 1 }, - "66": { "Tumbleweed_extensions": 1 }, - "67": { "UpgradeTo32": 1 }, - "68": { "UpgradeTo36": 1 }, - "69": { "UpgradeTo361": 1 }, - "70": { "ViewFrame": 1 }, - "71": { "Viewport": 1 } - }, - "which": { - "0": { "acintro": 1 }, - "1": { "acintro1": 3 }, - "2": { "acintro2": 5 }, - "3": { "acintro3": 6 }, - "4": { "acintro4": 9 }, - "5": { "acintro5": 6 }, - "6": { "acintro6": 2 }, - "7": { "acintro7": 11 }, - "8": { "acintro8": 6 }, - "9": { "acintro9": 4 }, - "10": { "AdvancedRoomFeatures": 4 }, - "11": { "AudioChannel": 15 }, - "12": { "AudioClip": 11 }, - "13": { "AudioInScript": 1 }, - "14": { "BackingUpYourGame": 1 }, - "15": { "BlockingScripts": 2 }, - "16": { "BuildAndroid": 1 }, - "17": { "Button": 25 }, - "18": { "Camera": 2 }, - "19": { "Character": 112 }, - "20": { "ColoursEditor": 2 }, - "21": { "ContactingTheDevelopers": 2 }, - "22": { "Copyright": 5 }, - "23": { "Credits": 2 }, - "24": { "CustomDialogOptions": 7 }, - "25": { "CustomProperties": 5 }, - "26": { "DateTime": 4 }, - "27": { "Debuggingfeatures": 2 }, - "28": { "DefaultSetup": 7 }, - "29": { "Dialog": 9 }, - "30": { "DialogOptionsRenderingInfo": 2 }, - "31": { "DialogScript": 6 }, - "32": { "Dictionary": 2 }, - "33": { "DistGame": 4 }, - "34": { "DrawingSurface": 19 }, - "35": { "DynamicSprite": 8 }, - "36": { "EditorCharacter": 4 }, - "37": { "EditorCursor": 2 }, - "38": { "EditorDialog": 1 }, - "39": { "EditorFont": 2 }, - "40": { "EditorGUI": 10 }, - "41": { "EditorInventoryItems": 2 }, - "42": { "EditorPlugins": 3 }, - "43": { "EditorPreferences": 2 }, - "44": { "EditorRoom": 7 }, - "45": { "EditorSprite": 4 }, - "46": { "EngineConfigFile": 3 }, - "47": { "EnginePluginDesign-timeAPI": 6 }, - "48": { "EnginePluginRun-timeAPI": 46 }, - "49": { "EnginePlugins": 1 }, - "50": { "EventTypes": 10 }, - "51": { "ExtenderFunctions": 2 }, - "52": { "FAQ": 5 }, - "53": { "File": 28 }, - "54": { "Game": 42 }, - "55": { "GameEventsOrder": 3 }, - "56": { "GameSavesCompatibility": 9 }, - "57": { "Gamevariables": 6 }, - "58": { "GeneralSettings": 17 }, - "59": { "GlobalArrays": 1 }, - "60": { "Globalfunctions_Event": 9 }, - "61": { "Globalfunctions_General": 20 }, - "62": { "Globalfunctions_Message": 4 }, - "63": { "Globalfunctions_Palette": 1 }, - "64": { "Globalfunctions_Room": 7 }, - "65": { "Globalfunctions_Screen": 1 }, - "66": { "Globalfunctions_Wait": 2 }, - "67": { "GlobalVariables": 2 }, - "68": { "GraphicsDriver": 1 }, - "69": { "GUI": 22 }, - "70": { "GUIControl": 14 }, - "71": { "Hotspot": 18 }, - "72": { "ImportingFunctionsAndVariables": 3 }, - "73": { "Introduction": 2 }, - "74": { "InventoryItem": 17 }, - "75": { "InvWindow": 8 }, - "76": { "Keycodes": 2 }, - "77": { "Label": 9 }, - "78": { "Lipsync": 3 }, - "79": { "ListBox": 23 }, - "80": { "Maths": 13 }, - "81": { "MIDI-playback": 7 }, - "82": { "Mouse": 20 }, - "83": { "Multimedia": 1 }, - "84": { "MultipleScripts": 1 }, - "85": { "MusicAndSound": 6 }, - "86": { "Object": 53 }, - "87": { "ObsoleteScriptAPI": 1 }, - "88": { "Overlay": 15 }, - "89": { "Pointers": 7 }, - "90": { "Preprocessor": 7 }, - "91": { "Region": 11 }, - "92": { "RepExec": 1 }, - "93": { "Room": 9 }, - "94": { "Screen": 7 }, - "95": { "ScriptAPIOverview": 8 }, - "96": { "ScriptingTutorialPart1": 12 }, - "97": { "ScriptingTutorialPart2": 1 }, - "98": { "ScriptKeywords": 12 }, - "99": { "ScriptModules": 3 }, - "100": { "Set": 1 }, - "101": { "Settingupthegame": 31 }, - "102": { "Setup": 6 }, - "103": { "Slider": 6 }, - "104": { "SourceControl": 1 }, - "105": { "Speech": 13 }, - "106": { "String": 17 }, - "107": { "System": 15 }, - "108": { "SystemLimits": 2 }, - "109": { "TemplateBASS": 5 }, - "110": { "Templates": 3 }, - "111": { "TemplateSierraStyle": 1 }, - "112": { "TemplateVerbcoin": 2 }, - "113": { "TextBox": 6 }, - "114": { "TextParser": 3 }, - "115": { "Translations": 5 }, - "116": { "TroubleshootingWindowsZoneID": 2 }, - "117": { "Tumbleweed": 3 }, - "118": { "Tumbleweed_actions": 3 }, - "119": { "Tumbleweed_door": 1 }, - "120": { "Tumbleweed_extensions": 1 }, - "121": { "Tumbleweed_movement": 1 }, - "122": { "Tumbleweed_player": 1 }, - "123": { "Tumbleweed_unhandled": 1 }, - "124": { "UnicodeSupport": 4 }, - "125": { "UpgradeTo30": 6 }, - "126": { "UpgradeTo31": 1 }, - "127": { "UpgradeTo32": 3 }, - "128": { "UpgradeTo33": 1 }, - "129": { "UpgradeTo34": 1 }, - "130": { "UpgradeTo35": 15 }, - "131": { "UpgradeTo36": 11 }, - "132": { "UpgradeTo361": 3 }, - "133": { "UpgradingTo27": 4 }, - "134": { "UpgradingTo271": 2 }, - "135": { "ViewFrame": 9 }, - "136": { "Viewport": 6 }, - "137": { "VoiceSpeech": 1 } - }, - "whichever": { - "0": { "acintro8": 1 }, - "1": { "Camera": 2 }, - "2": { "EditorRoom": 1 }, - "3": { "EventTypes": 1 } - }, - "while": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "acintro9": 2 }, - "3": { "AdvancedRoomFeatures": 1 }, - "4": { "AudioChannel": 4 }, - "5": { "BlockingScripts": 1 }, - "6": { "Button": 1 }, - "7": { "Camera": 7 }, - "8": { "Character": 23 }, - "9": { "ColoursEditor": 1 }, - "10": { "CustomDialogOptions": 2 }, - "11": { "Debuggingfeatures": 1 }, - "12": { "DefaultSetup": 2 }, - "13": { "DistGame": 3 }, - "14": { "DrawingSurface": 1 }, - "15": { "DynamicSprite": 1 }, - "16": { "EditorCursor": 2 }, - "17": { "EditorDialog": 1 }, - "18": { "EditorSprite": 1 }, - "19": { "EngineConfigFile": 1 }, - "20": { "EnginePluginRun-timeAPI": 4 }, - "21": { "EventTypes": 22 }, - "22": { "ExtenderFunctions": 1 }, - "23": { "FAQ": 3 }, - "24": { "File": 3 }, - "25": { "Game": 5 }, - "26": { "GameSavesCompatibility": 5 }, - "27": { "GeneralSettings": 4 }, - "28": { "Globalfunctions_Event": 2 }, - "29": { "Globalfunctions_General": 8 }, - "30": { "Globalfunctions_Room": 2 }, - "31": { "Globalfunctions_Screen": 1 }, - "32": { "Globalfunctions_Wait": 3 }, - "33": { "GUI": 4 }, - "34": { "GUIControl": 6 }, - "35": { "ListBox": 1 }, - "36": { "Mouse": 2 }, - "37": { "Multimedia": 3 }, - "38": { "MusicAndSound": 1 }, - "39": { "Object": 7 }, - "40": { "Overlay": 2 }, - "41": { "RepExec": 3 }, - "42": { "RuntimeEngine": 1 }, - "43": { "ScriptingTutorialPart2": 6 }, - "44": { "ScriptKeywords": 13 }, - "45": { "Settingupthegame": 5 }, - "46": { "Setup": 1 }, - "47": { "Translations": 1 }, - "48": { "Tumbleweed_movement": 1 }, - "49": { "UpgradeTo30": 1 }, - "50": { "UpgradeTo34": 4 }, - "51": { "UpgradeTo35": 2 }, - "52": { "UpgradeTo36": 2 }, - "53": { "Viewport": 5 } - }, - "whilst": { - "0": { "Character": 3 }, - "1": { "EditorGUI": 1 }, - "2": { "EditorInventoryItems": 1 }, - "3": { "EditorRoom": 1 } - }, - "white": { - "0": { "Button": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "DynamicSprite": 1 }, - "3": { "EditorGUI": 1 }, - "4": { "Globalfunctions_General": 1 }, - "5": { "Overlay": 1 } - }, - "who": { - "0": { "Character": 1 }, - "1": { "ContactingTheDevelopers": 2 }, - "2": { "EditorPlugins": 1 }, - "3": { "Globalfunctions_Message": 1 }, - "4": { "Pointers": 2 }, - "5": { "Settingupthegame": 1 }, - "6": { "UpgradeTo35": 1 } - }, - "whole": { - "0": { "acintro2": 2 }, - "1": { "acintro6": 1 }, - "2": { "AdvancedRoomFeatures": 1 }, - "3": { "Character": 1 }, - "4": { "DefaultSetup": 3 }, - "5": { "Dialog": 1 }, - "6": { "DistGame": 1 }, - "7": { "DynamicSprite": 1 }, - "8": { "EditorGUI": 1 }, - "9": { "EditorView": 2 }, - "10": { "EngineConfigFile": 1 }, - "11": { "EnginePluginRun-timeAPI": 2 }, - "12": { "FAQ": 1 }, - "13": { "GameSavesCompatibility": 1 }, - "14": { "GlobalVariables": 1 }, - "15": { "GraphicsDriver": 1 }, - "16": { "Screen": 1 }, - "17": { "ScriptingTutorialPart2": 1 }, - "18": { "Settingupthegame": 1 }, - "19": { "Setup": 2 }, - "20": { "TextParser": 1 }, - "21": { "Translations": 2 }, - "22": { "UpgradeTo35": 1 }, - "23": { "Viewport": 2 } - }, - "whose": { - "0": { "Mouse": 1 } - }, - "why": { - "0": { "AdvancedRoomFeatures": 1 }, - "1": { "AnonymousUsageInfo": 1 }, - "2": { "BlockingScripts": 1 }, - "3": { "Character": 1 }, - "4": { "Globalfunctions_Wait": 5 }, - "5": { "MusicAndSound": 1 }, - "6": { "Pointers": 1 }, - "7": { "ScriptingTutorialPart1": 1 }, - "8": { "ScriptingTutorialPart2": 1 }, - "9": { "Setup": 1 }, - "10": { "System": 2 }, - "11": { "Tumbleweed_translation": 1 } - }, - "wide": { - "0": { "Character": 2 }, - "1": { "EnginePluginRun-timeAPI": 1 }, - "2": { "Globalfunctions_Message": 1 }, - "3": { "GUIControl": 1 }, - "4": { "Object": 1 }, - "5": { "SystemLimits": 1 }, - "6": { "Translations": 1 }, - "7": { "UpgradeTo36": 1 } - }, - "wider": { - "0": { "Character": 1 }, - "1": { "EditorGUI": 1 }, - "2": { "GUI": 1 } - }, - "widescreen": { - "0": { "System": 1 } - }, - "width": { - "0": { "Camera": 6 }, - "1": { "Character": 8 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "DialogOptionsRenderingInfo": 2 }, - "5": { "DrawingSurface": 12 }, - "6": { "DynamicSprite": 21 }, - "7": { "EditorGUI": 1 }, - "8": { "EditorPreferences": 2 }, - "9": { "EnginePluginRun-timeAPI": 16 }, - "10": { "Game": 2 }, - "11": { "Gamevariables": 9 }, - "12": { "Globalfunctions_General": 7 }, - "13": { "Globalfunctions_Message": 3 }, - "14": { "GUI": 3 }, - "15": { "GUIControl": 2 }, - "16": { "InvWindow": 3 }, - "17": { "Object": 5 }, - "18": { "ObsoleteScriptAPI": 1 }, - "19": { "Overlay": 7 }, - "20": { "Room": 2 }, - "21": { "Screen": 1 }, - "22": { "Setup": 1 }, - "23": { "System": 4 }, - "24": { "TemplateVerbcoin": 1 }, - "25": { "UpgradeTo36": 1 }, - "26": { "Viewport": 2 } - }, - "wife": { - "0": { "acintro8": 1 } - }, - "win": { - "0": { "EngineConfigFile": 3 } - }, - "window": { - "0": { "acintro1": 5 }, - "1": { "acintro2": 5 }, - "2": { "acintro4": 4 }, - "3": { "acintro5": 4 }, - "4": { "acintro6": 2 }, - "5": { "acintro7": 3 }, - "6": { "acintro8": 3 }, - "7": { "AnonymousUsageInfo": 1 }, - "8": { "Character": 1 }, - "9": { "CustomDialogOptions": 1 }, - "10": { "CustomProperties": 5 }, - "11": { "DefaultSetup": 11 }, - "12": { "EditorDialog": 2 }, - "13": { "EditorGUI": 12 }, - "14": { "EditorInventoryItems": 1 }, - "15": { "EditorPlugins": 1 }, - "16": { "EditorPreferences": 5 }, - "17": { "EditorSprite": 2 }, - "18": { "EngineConfigFile": 12 }, - "19": { "EnginePluginDesign-timeAPI": 4 }, - "20": { "EnginePluginRun-timeAPI": 2 }, - "21": { "FAQ": 3 }, - "22": { "Game": 5 }, - "23": { "Gamevariables": 1 }, - "24": { "GeneralSettings": 9 }, - "25": { "Globalfunctions_General": 3 }, - "26": { "Globalfunctions_Message": 8 }, - "27": { "GlobalVariables": 1 }, - "28": { "GraphicsDriver": 1 }, - "29": { "InventoryItem": 1 }, - "30": { "InvWindow": 27 }, - "31": { "Mouse": 2 }, - "32": { "MusicAndSound": 1 }, - "33": { "RuntimeEngine": 1 }, - "34": { "Settingupthegame": 9 }, - "35": { "Setup": 8 }, - "36": { "Speech": 1 }, - "37": { "System": 5 }, - "38": { "Templates": 1 }, - "39": { "TemplateSierraStyle": 1 }, - "40": { "TemplateVerbcoin": 4 }, - "41": { "UpgradeTo30": 1 }, - "42": { "UpgradeTo31": 1 }, - "43": { "UpgradeTo35": 1 } - }, - "window's": { - "0": { "EditorGUI": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "windowed": { - "0": { "DefaultSetup": 3 }, - "1": { "EngineConfigFile": 5 }, - "2": { "Globalfunctions_General": 1 }, - "3": { "Mouse": 1 }, - "4": { "ObsoleteScriptAPI": 1 }, - "5": { "RuntimeEngine": 3 }, - "6": { "Setup": 4 }, - "7": { "System": 3 } - }, - "windows": { - "0": { "acintro1": 1 }, - "1": { "EditorGUI": 2 }, - "2": { "EditorPreferences": 1 }, - "3": { "EnginePluginDesign-timeAPI": 1 }, - "4": { "Globalfunctions_General": 3 }, - "5": { "InventoryItem": 1 }, - "6": { "RuntimeEngine": 1 }, - "7": { "Settingupthegame": 1 } - }, - "winmm": { - "0": { "EngineConfigFile": 1 } - }, - "winsetup": { - "0": { "DefaultSetup": 1 }, - "1": { "DistGame": 2 }, - "2": { "EngineConfigFile": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "wired": { - "0": { "FAQ": 3 } - }, - "wise": { - "0": { "acintro2": 1 }, - "1": { "DistGame": 1 } - }, - "wish": { - "0": { "acintro7": 1 }, - "1": { "Character": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "Dictionary": 1 }, - "4": { "DistGame": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "EditorGUI": 1 }, - "7": { "EnginePluginRun-timeAPI": 2 }, - "8": { "GeneralSettings": 1 }, - "9": { "GUI": 1 }, - "10": { "ListBox": 1 }, - "11": { "TextParser": 1 }, - "12": { "Translations": 1 }, - "13": { "UnicodeSupport": 1 }, - "14": { "UpgradeTo34": 1 } - }, - "within": { - "0": { "acintro2": 3 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 2 }, - "3": { "acintro5": 3 }, - "4": { "acintro6": 5 }, - "5": { "acintro7": 1 }, - "6": { "acintro9": 2 }, - "7": { "AudioChannel": 3 }, - "8": { "BlockingScripts": 3 }, - "9": { "Camera": 2 }, - "10": { "Character": 6 }, - "11": { "CustomDialogOptions": 1 }, - "12": { "DateTime": 1 }, - "13": { "DefaultSetup": 2 }, - "14": { "Dialog": 7 }, - "15": { "DialogOptionsRenderingInfo": 11 }, - "16": { "Dictionary": 1 }, - "17": { "DynamicSprite": 1 }, - "18": { "EditorCharacter": 3 }, - "19": { "EditorCursor": 1 }, - "20": { "EditorDialog": 1 }, - "21": { "EditorFont": 2 }, - "22": { "EditorInventoryItems": 1 }, - "23": { "EditorPlugins": 1 }, - "24": { "EditorRoom": 1 }, - "25": { "EditorView": 1 }, - "26": { "EnginePluginRun-timeAPI": 4 }, - "27": { "Game": 1 }, - "28": { "GameEventsOrder": 1 }, - "29": { "Gamevariables": 4 }, - "30": { "GeneralSettings": 1 }, - "31": { "Globalfunctions_Event": 1 }, - "32": { "Globalfunctions_General": 2 }, - "33": { "GUIControl": 4 }, - "34": { "InvWindow": 1 }, - "35": { "ListBox": 2 }, - "36": { "MIDI-playback": 4 }, - "37": { "MusicAndSound": 3 }, - "38": { "OOProgramming": 3 }, - "39": { "RepExec": 2 }, - "40": { "ScriptingTutorialPart1": 1 }, - "41": { "ScriptingTutorialPart2": 1 }, - "42": { "ScriptKeywords": 3 }, - "43": { "Set": 1 }, - "44": { "Settingupthegame": 2 }, - "45": { "Slider": 2 }, - "46": { "String": 2 }, - "47": { "System": 1 }, - "48": { "TemplateBASS": 1 }, - "49": { "Templates": 1 }, - "50": { "TemplateVerbcoin": 1 }, - "51": { "TroubleshootingWindowsZoneID": 1 }, - "52": { "UpgradeTo32": 2 }, - "53": { "UpgradeTo33": 1 } - }, - "withing": { - "0": { "Templates": 1 } - }, - "without": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 1 }, - "2": { "acintro7": 1 }, - "3": { "acintro8": 1 }, - "4": { "acintro9": 1 }, - "5": { "BackingUpYourGame": 1 }, - "6": { "Character": 5 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "DefaultSetup": 1 }, - "9": { "DistGame": 1 }, - "10": { "EditorInventoryItems": 1 }, - "11": { "EditorLogPanel": 1 }, - "12": { "EnginePluginRun-timeAPI": 2 }, - "13": { "FAQ": 1 }, - "14": { "File": 1 }, - "15": { "Game": 6 }, - "16": { "GameSavesCompatibility": 3 }, - "17": { "GeneralSettings": 2 }, - "18": { "Globalfunctions_General": 2 }, - "19": { "Globalfunctions_Room": 1 }, - "20": { "KeyboardShortcuts": 1 }, - "21": { "Object": 3 }, - "22": { "ObsoleteScriptAPI": 4 }, - "23": { "OOProgramming": 1 }, - "24": { "Preprocessor": 2 }, - "25": { "ScriptingTutorialPart1": 1 }, - "26": { "ScriptingTutorialPart2": 1 }, - "27": { "ScriptKeywords": 6 }, - "28": { "Setup": 1 }, - "29": { "Translations": 2 }, - "30": { "UnicodeSupport": 3 }, - "31": { "UpgradeTo30": 1 }, - "32": { "UpgradeTo335": 3 }, - "33": { "UpgradeTo34": 2 }, - "34": { "UpgradeTo341": 1 }, - "35": { "UpgradeTo36": 1 }, - "36": { "UpgradeTo361": 2 }, - "37": { "Viewport": 1 }, - "38": { "VoiceSpeech": 1 } - }, - "wizard": { - "0": { "acintro1": 1 }, - "1": { "Globalfunctions_Message": 2 } - }, - "won": { - "0": { "File": 1 } - }, - "won't": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 3 }, - "2": { "acintro3": 3 }, - "3": { "acintro8": 1 }, - "4": { "AdvancedRoomFeatures": 1 }, - "5": { "Character": 8 }, - "6": { "DefaultSetup": 2 }, - "7": { "DialogScript": 2 }, - "8": { "Dictionary": 2 }, - "9": { "DistGame": 1 }, - "10": { "EditorCommandLineOptions": 1 }, - "11": { "EditorCursor": 1 }, - "12": { "EditorPlugins": 1 }, - "13": { "EnginePluginDesign-timeAPI": 1 }, - "14": { "EventTypes": 1 }, - "15": { "FAQ": 1 }, - "16": { "File": 1 }, - "17": { "Game": 1 }, - "18": { "GameEventsOrder": 1 }, - "19": { "GameSavesCompatibility": 4 }, - "20": { "GeneralSettings": 1 }, - "21": { "GlobalArrays": 1 }, - "22": { "Globalfunctions_General": 1 }, - "23": { "MusicAndSound": 2 }, - "24": { "Object": 1 }, - "25": { "Overlay": 2 }, - "26": { "Plugins": 1 }, - "27": { "Pointers": 1 }, - "28": { "ScriptingTutorialPart1": 1 }, - "29": { "Set": 1 }, - "30": { "Translations": 1 }, - "31": { "Tumbleweed": 1 }, - "32": { "UnicodeSupport": 2 }, - "33": { "UpgradeTo34": 2 }, - "34": { "UpgradeTo341": 1 }, - "35": { "UpgradeTo36": 2 }, - "36": { "UpgradingTo271": 1 } - }, - "wonder": { - "0": { "Character": 1 }, - "1": { "DialogScript": 1 }, - "2": { "Tumbleweed_translation": 1 } - }, - "wondering": { - "0": { "ScriptingTutorialPart2": 2 }, - "1": { "SystemLimits": 1 }, - "2": { "UpgradingTo27": 1 } - }, - "wooden": { - "0": { "acintro3": 1 }, - "1": { "TextParser": 1 } - }, - "word": { - "0": { "acintro2": 1 }, - "1": { "EnginePluginRun-timeAPI": 6 }, - "2": { "KeyboardShortcuts": 5 }, - "3": { "Lipsync": 5 }, - "4": { "Parser": 4 }, - "5": { "TextParser": 8 }, - "6": { "Tumbleweed_translation": 1 }, - "7": { "UpgradeTo30": 1 }, - "8": { "UpgradingTo27": 1 } - }, - "wordToFind": { - "0": { "Parser": 2 } - }, - "wordprocessors": { - "0": { "Translations": 2 } - }, - "words": { - "0": { "acintro8": 2 }, - "1": { "Character": 1 }, - "2": { "DistGame": 1 }, - "3": { "EnginePluginRun-timeAPI": 1 }, - "4": { "GeneralSettings": 1 }, - "5": { "Lipsync": 3 }, - "6": { "Parser": 3 }, - "7": { "Settingupthegame": 1 }, - "8": { "String": 1 }, - "9": { "TextParser": 13 }, - "10": { "Tumbleweed": 1 }, - "11": { "UpgradingTo27": 2 }, - "12": { "VoiceSpeech": 1 } - }, - "work": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 6 }, - "2": { "acintro3": 1 }, - "3": { "acintro7": 1 }, - "4": { "acintro9": 1 }, - "5": { "AdvancedRoomFeatures": 2 }, - "6": { "AnonymousUsageInfo": 3 }, - "7": { "BuildAndroid": 1 }, - "8": { "Button": 1 }, - "9": { "ColoursEditor": 1 }, - "10": { "ContactingTheDevelopers": 1 }, - "11": { "Credits": 1 }, - "12": { "CustomDialogOptions": 3 }, - "13": { "CustomProperties": 1 }, - "14": { "Debuggingfeatures": 1 }, - "15": { "Dialog": 1 }, - "16": { "DialogScript": 1 }, - "17": { "Dictionary": 1 }, - "18": { "DrawingSurface": 1 }, - "19": { "DynamicArrays": 1 }, - "20": { "DynamicSprite": 1 }, - "21": { "EditorPlugins": 3 }, - "22": { "EditorSprite": 1 }, - "23": { "EngineConfigFile": 3 }, - "24": { "EnginePluginRun-timeAPI": 5 }, - "25": { "FAQ": 3 }, - "26": { "File": 2 }, - "27": { "Game": 2 }, - "28": { "GameSavesCompatibility": 1 }, - "29": { "GeneralSettings": 1 }, - "30": { "Globalfunctions_Event": 2 }, - "31": { "Globalfunctions_General": 7 }, - "32": { "Globalfunctions_Screen": 1 }, - "33": { "GraphicsDriver": 3 }, - "34": { "InventoryItem": 1 }, - "35": { "InvWindow": 1 }, - "36": { "KeyboardShortcuts": 1 }, - "37": { "Lipsync": 1 }, - "38": { "Maths": 2 }, - "39": { "Multimedia": 1 }, - "40": { "MusicAndSound": 1 }, - "41": { "Object": 1 }, - "42": { "Overlay": 1 }, - "43": { "Plugins": 1 }, - "44": { "Pointers": 3 }, - "45": { "Preprocessor": 2 }, - "46": { "RepExec": 1 }, - "47": { "ScriptingTutorialPart1": 1 }, - "48": { "ScriptingTutorialPart2": 1 }, - "49": { "ScriptKeywords": 5 }, - "50": { "Set": 1 }, - "51": { "Settingupthegame": 1 }, - "52": { "Setup": 1 }, - "53": { "SourceControl": 1 }, - "54": { "Speech": 1 }, - "55": { "String": 2 }, - "56": { "System": 2 }, - "57": { "SystemRequirements": 1 }, - "58": { "Translations": 2 }, - "59": { "TroubleshootingWindowsZoneID": 2 }, - "60": { "Tumbleweed_actions": 1 }, - "61": { "Tumbleweed_translation": 1 }, - "62": { "Tumbleweed_unhandled": 2 }, - "63": { "UnicodeSupport": 3 }, - "64": { "UpgradeTo30": 2 }, - "65": { "UpgradeTo31": 1 }, - "66": { "UpgradeTo335": 1 }, - "67": { "UpgradeTo34": 1 }, - "68": { "UpgradeTo35": 2 }, - "69": { "UpgradeTo36": 6 }, - "70": { "UpgradingTo27": 2 } - }, - "workaround": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "Game": 1 }, - "2": { "GeneralSettings": 1 } - }, - "worked": { - "0": { "acintro3": 1 }, - "1": { "acintro7": 1 }, - "2": { "Character": 1 }, - "3": { "GameSavesCompatibility": 1 }, - "4": { "GeneralSettings": 5 }, - "5": { "Object": 1 }, - "6": { "Settingupthegame": 1 } - }, - "working": { - "0": { "acintro2": 1 }, - "1": { "acintro3": 1 }, - "2": { "acintro5": 1 }, - "3": { "acintro7": 1 }, - "4": { "AudioChannel": 1 }, - "5": { "Copyright": 1 }, - "6": { "CustomDialogOptions": 1 }, - "7": { "Debuggingfeatures": 1 }, - "8": { "DialogScript": 1 }, - "9": { "EnginePluginRun-timeAPI": 2 }, - "10": { "GameSavesCompatibility": 1 }, - "11": { "Globalfunctions_General": 2 }, - "12": { "Globalfunctions_Room": 1 }, - "13": { "MIDI-playback": 1 }, - "14": { "MultipleScripts": 1 }, - "15": { "ScriptingTutorialPart2": 1 }, - "16": { "System": 1 }, - "17": { "SystemLimits": 1 }, - "18": { "UpgradeTo31": 1 }, - "19": { "UpgradeTo32": 1 }, - "20": { "UpgradeTo341": 1 }, - "21": { "UpgradeTo36": 1 }, - "22": { "UpgradingTo271": 1 } - }, - "works": { - "0": { "acintro6": 1 }, - "1": { "acintro9": 1 }, - "2": { "AdvancedRoomFeatures": 2 }, - "3": { "AudioChannel": 2 }, - "4": { "AudioInScript": 1 }, - "5": { "BlockingScripts": 1 }, - "6": { "Character": 13 }, - "7": { "Copyright": 1 }, - "8": { "CustomDialogOptions": 2 }, - "9": { "Debuggingfeatures": 2 }, - "10": { "DrawingSurface": 1 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorGUI": 1 }, - "13": { "EditorPlugins": 2 }, - "14": { "EditorRoom": 1 }, - "15": { "EngineConfigFile": 1 }, - "16": { "EnginePluginRun-timeAPI": 1 }, - "17": { "FAQ": 2 }, - "18": { "File": 1 }, - "19": { "Game": 1 }, - "20": { "GeneralSettings": 2 }, - "21": { "GlobalArrays": 1 }, - "22": { "Globalfunctions_Event": 1 }, - "23": { "Globalfunctions_General": 5 }, - "24": { "Globalfunctions_Message": 1 }, - "25": { "Globalfunctions_Palette": 1 }, - "26": { "Globalfunctions_Screen": 1 }, - "27": { "Globalfunctions_Wait": 1 }, - "28": { "GraphicsDriver": 1 }, - "29": { "GUI": 1 }, - "30": { "GUIControl": 1 }, - "31": { "Hotspot": 4 }, - "32": { "InventoryItem": 4 }, - "33": { "Keycodes": 1 }, - "34": { "Object": 7 }, - "35": { "Overlay": 1 }, - "36": { "Region": 1 }, - "37": { "Room": 4 }, - "38": { "ScriptingTutorialPart2": 1 }, - "39": { "Settingupthegame": 4 }, - "40": { "SystemLimits": 1 }, - "41": { "TemplateSierraStyle": 1 }, - "42": { "TheScriptHeader": 1 }, - "43": { "Translations": 2 }, - "44": { "Tumbleweed": 2 }, - "45": { "Tumbleweed_translation": 1 }, - "46": { "UpgradeTo30": 3 }, - "47": { "UpgradeTo335": 1 }, - "48": { "UpgradeTo341": 1 }, - "49": { "UpgradingTo27": 1 } - }, - "workspace": { - "0": { "acintro2": 3 } - }, - "world": { - "0": { "acintro9": 2 }, - "1": { "Translations": 1 } - }, - "worry": { - "0": { "acintro2": 1 }, - "1": { "EditorSprite": 1 }, - "2": { "FAQ": 1 }, - "3": { "UpgradeTo30": 1 } - }, - "worst": { - "0": { "MusicAndSound": 1 } - }, - "worth": { - "0": { "AnonymousUsageInfo": 1 } - }, - "would": { - "0": { "acintro1": 3 }, - "1": { "acintro4": 2 }, - "2": { "acintro6": 1 }, - "3": { "acintro7": 3 }, - "4": { "acintro8": 2 }, - "5": { "AnonymousUsageInfo": 3 }, - "6": { "Character": 5 }, - "7": { "CustomDialogOptions": 2 }, - "8": { "CustomProperties": 1 }, - "9": { "DialogScript": 1 }, - "10": { "Dictionary": 3 }, - "11": { "DistGame": 1 }, - "12": { "DrawingSurface": 2 }, - "13": { "EditorCommandLineOptions": 1 }, - "14": { "EditorDialog": 1 }, - "15": { "EditorGUI": 2 }, - "16": { "EditorRoom": 1 }, - "17": { "EditorSprite": 1 }, - "18": { "EnginePluginDesign-timeAPI": 2 }, - "19": { "EnginePluginRun-timeAPI": 7 }, - "20": { "ExtenderFunctions": 2 }, - "21": { "FAQ": 1 }, - "22": { "Game": 1 }, - "23": { "GameSavesCompatibility": 2 }, - "24": { "GlobalArrays": 1 }, - "25": { "Globalfunctions_Event": 1 }, - "26": { "Globalfunctions_General": 7 }, - "27": { "Globalfunctions_Message": 1 }, - "28": { "Globalfunctions_Screen": 1 }, - "29": { "Globalfunctions_Wait": 1 }, - "30": { "GUI": 2 }, - "31": { "Hotspot": 3 }, - "32": { "ImportingFunctionsAndVariables": 1 }, - "33": { "InventoryItem": 3 }, - "34": { "InvWindow": 2 }, - "35": { "Lipsync": 3 }, - "36": { "ListBox": 1 }, - "37": { "MIDI-playback": 1 }, - "38": { "Mouse": 2 }, - "39": { "MusicAndSound": 1 }, - "40": { "Object": 5 }, - "41": { "OOProgramming": 3 }, - "42": { "Parser": 1 }, - "43": { "Pointers": 11 }, - "44": { "Preprocessor": 1 }, - "45": { "Region": 2 }, - "46": { "RepExec": 5 }, - "47": { "ScriptingTutorialPart1": 4 }, - "48": { "ScriptingTutorialPart2": 3 }, - "49": { "ScriptKeywords": 7 }, - "50": { "Set": 1 }, - "51": { "Settingupthegame": 2 }, - "52": { "Slider": 1 }, - "53": { "String": 1 }, - "54": { "StringFormats": 1 }, - "55": { "System": 1 }, - "56": { "SystemLimits": 1 }, - "57": { "TemplateBASS": 1 }, - "58": { "TemplateVerbcoin": 3 }, - "59": { "TextParser": 2 }, - "60": { "Translations": 3 }, - "61": { "TroubleshootingWindowsZoneID": 1 }, - "62": { "Tumbleweed_extensions": 2 }, - "63": { "UnicodeSupport": 1 }, - "64": { "UpgradeTo30": 3 }, - "65": { "UpgradeTo31": 2 }, - "66": { "UpgradeTo32": 1 }, - "67": { "UpgradeTo341": 2 }, - "68": { "UpgradeTo35": 1 }, - "69": { "UpgradeTo36": 1 }, - "70": { "UpgradingTo27": 2 }, - "71": { "VoiceSpeech": 1 } - }, - "wouldn't": { - "0": { "acintro2": 1 }, - "1": { "BackingUpYourGame": 1 }, - "2": { "Character": 1 }, - "3": { "DynamicSprite": 1 }, - "4": { "MusicAndSound": 1 }, - "5": { "Object": 2 }, - "6": { "OOProgramming": 1 }, - "7": { "RepExec": 1 }, - "8": { "ScriptingTutorialPart1": 1 }, - "9": { "SystemLimits": 1 }, - "10": { "TextParser": 1 }, - "11": { "UpgradingTo27": 1 } - }, - "wrap": { - "0": { "Debuggingfeatures": 1 }, - "1": { "DrawingSurface": 2 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "Preprocessor": 1 }, - "4": { "SystemLimits": 1 } - }, - "wrapped": { - "0": { "EditorFont": 1 }, - "1": { "GeneralSettings": 1 } - }, - "wrapper": { - "0": { "Tumbleweed_movement": 1 } - }, - "wrapping": { - "0": { "DrawingSurface": 1 }, - "1": { "EnginePluginRun-timeAPI": 1 } - }, - "wraps": { - "0": { "EditorGUI": 1 } - }, - "writable": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "OOProgramming": 1 }, - "2": { "RuntimeEngine": 1 } - }, - "write": { - "0": { "acintro3": 1 }, - "1": { "Character": 1 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "CustomDialogOptions": 1 }, - "4": { "DialogScript": 1 }, - "5": { "Dictionary": 1 }, - "6": { "DrawingSurface": 1 }, - "7": { "EditorDialog": 2 }, - "8": { "EngineConfigFile": 1 }, - "9": { "EnginePluginDesign-timeAPI": 2 }, - "10": { "EnginePluginRun-timeAPI": 8 }, - "11": { "EnginePlugins": 2 }, - "12": { "ExtenderFunctions": 1 }, - "13": { "File": 16 }, - "14": { "GameEventsOrder": 1 }, - "15": { "Globalfunctions_General": 1 }, - "16": { "Pointers": 1 }, - "17": { "RuntimeEngine": 2 }, - "18": { "ScriptAPIOverview": 1 }, - "19": { "ScriptingTutorial": 1 }, - "20": { "ScriptingTutorialPart1": 7 }, - "21": { "ScriptingTutorialPart2": 7 }, - "22": { "ScriptKeywords": 4 }, - "23": { "Set": 1 }, - "24": { "TroubleshootingWindowsZoneID": 2 }, - "25": { "UpgradeTo335": 2 }, - "26": { "UpgradeTo34": 1 }, - "27": { "UpgradeTo36": 1 }, - "28": { "UpgradingTo27": 4 } - }, - "writeable": { - "0": { "EngineConfigFile": 1 } - }, - "writeprotected": { - "0": { "OOProgramming": 1 }, - "1": { "ScriptKeywords": 4 } - }, - "writes": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "File": 3 }, - "2": { "GameSavesCompatibility": 1 }, - "3": { "UpgradeTo341": 1 } - }, - "writing": { - "0": { "Constants": 1 }, - "1": { "DrawingSurface": 2 }, - "2": { "DynamicArrays": 1 }, - "3": { "EnginePluginRun-timeAPI": 6 }, - "4": { "EnginePlugins": 1 }, - "5": { "ExtenderFunctions": 1 }, - "6": { "FAQ": 1 }, - "7": { "File": 20 }, - "8": { "GameSavesCompatibility": 2 }, - "9": { "Globalfunctions_General": 4 }, - "10": { "Preprocessor": 2 }, - "11": { "ScriptingTutorial": 1 }, - "12": { "ScriptingTutorialPart1": 3 }, - "13": { "ScriptKeywords": 1 }, - "14": { "ScriptModules": 1 }, - "15": { "System": 1 }, - "16": { "Tumbleweed": 1 }, - "17": { "UpgradeTo335": 2 }, - "18": { "UpgradeTo36": 2 } - }, - "written": { - "0": { "AutonumberSpeechFiles": 1 }, - "1": { "DrawingSurface": 1 }, - "2": { "EditorGUI": 1 }, - "3": { "EditorPlugins": 3 }, - "4": { "EngineConfigFile": 1 }, - "5": { "EnginePluginDesign-timeAPI": 1 }, - "6": { "EnginePluginRun-timeAPI": 6 }, - "7": { "FAQ": 3 }, - "8": { "File": 8 }, - "9": { "GameSavesCompatibility": 3 }, - "10": { "GeneralSettings": 1 }, - "11": { "MultipleScripts": 1 }, - "12": { "Overlay": 1 }, - "13": { "ScriptingTutorialPart1": 1 }, - "14": { "ScriptingTutorialPart2": 2 }, - "15": { "ScriptModules": 1 }, - "16": { "TheScriptHeader": 1 }, - "17": { "Translations": 1 }, - "18": { "TroubleshootingWindowsZoneID": 1 }, - "19": { "UnicodeSupport": 1 }, - "20": { "UpgradeTo31": 2 }, - "21": { "UpgradeTo335": 1 }, - "22": { "UpgradeTo341": 1 }, - "23": { "UpgradeTo36": 1 }, - "24": { "UpgradeTo361": 1 } - }, - "wrong": { - "0": { "EditorView": 1 }, - "1": { "GameSavesCompatibility": 1 }, - "2": { "Globalfunctions_Screen": 1 }, - "3": { "Templates": 1 } - }, - "wrongly": { - "0": { "ScriptKeywords": 1 } - }, - "wrote": { - "0": { "EditorPlugins": 1 }, - "1": { "EnginePluginDesign-timeAPI": 1 }, - "2": { "EnginePluginRun-timeAPI": 2 }, - "3": { "File": 2 } - }, - "www": { - "0": { "ContactingTheDevelopers": 2 }, - "1": { "Credits": 5 }, - "2": { "DistGame": 1 }, - "3": { "Lipsync": 1 }, - "4": { "MIDI-playback": 1 }, - "5": { "MusicAndSound": 1 } - }, - "www-personal": { - "0": { "Lipsync": 1 } - }, - "xOffset": { - "0": { "Character": 1 } - }, - "xS": { - "0": { "EngineConfigFile": 1 } - }, - "xSpeed": { - "0": { "EnginePluginRun-timeAPI": 2 } - }, - "xiph": { - "0": { "Credits": 1 } - }, - "xm": { - "0": { "MusicAndSound": 1 } - }, - "xoffset": { - "0": { "Tumbleweed_movement": 2 } - }, - "xpos": { - "0": { "Globalfunctions_General": 1 } - }, - "xxx": { - "0": { "Game": 1 } - }, - "xy": { - "0": { "Globalfunctions_General": 1 } - }, - "yOffset": { - "0": { "Character": 1 } - }, - "ySpeed": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "ycoord": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "year": { - "0": { "DateTime": 3 } - }, - "years": { - "0": { "acintro6": 1 } - }, - "yellow": { - "0": { "acintro2": 1 }, - "1": { "Character": 1 }, - "2": { "DialogOptionsRenderingInfo": 1 }, - "3": { "DrawingSurface": 4 }, - "4": { "Globalfunctions_Palette": 1 }, - "5": { "Label": 1 }, - "6": { "Room": 1 }, - "7": { "Settingupthegame": 1 }, - "8": { "TextBox": 1 } - }, - "yes": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "MultipleScripts": 1 }, - "3": { "Translations": 1 } - }, - "yet": { - "0": { "acintro3": 1 }, - "1": { "acintro4": 1 }, - "2": { "ContactingTheDevelopers": 1 }, - "3": { "CustomProperties": 1 }, - "4": { "Dialog": 1 }, - "5": { "DynamicArrays": 2 }, - "6": { "EditorPlugins": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "GameSavesCompatibility": 1 }, - "9": { "MusicAndSound": 1 }, - "10": { "Preprocessor": 1 }, - "11": { "ScriptAPIOverview": 1 }, - "12": { "ScriptKeywords": 1 }, - "13": { "StandardEnums": 1 } - }, - "yield": { - "0": { "ScriptingTutorialPart1": 1 } - }, - "yoffset": { - "0": { "Tumbleweed_movement": 2 } - }, - "you": { - "0": { "acintro": 2 }, - "1": { "acintro1": 49 }, - "2": { "acintro2": 34 }, - "3": { "acintro3": 22 }, - "4": { "acintro4": 22 }, - "5": { "acintro5": 11 }, - "6": { "acintro6": 34 }, - "7": { "acintro7": 25 }, - "8": { "acintro8": 22 }, - "9": { "acintro9": 27 }, - "10": { "AdvancedRoomFeatures": 32 }, - "11": { "AnonymousUsageInfo": 4 }, - "12": { "AudioChannel": 6 }, - "13": { "AudioClip": 12 }, - "14": { "AudioInScript": 6 }, - "15": { "AutonumberSpeechFiles": 4 }, - "16": { "BackingUpYourGame": 5 }, - "17": { "BlockingScripts": 8 }, - "18": { "BuildAndroid": 16 }, - "19": { "Button": 10 }, - "20": { "Camera": 14 }, - "21": { "Character": 110 }, - "22": { "ColoursEditor": 16 }, - "23": { "Constants": 6 }, - "24": { "ContactingTheDevelopers": 15 }, - "25": { "Copyright": 2 }, - "26": { "CustomDialogOptions": 20 }, - "27": { "CustomProperties": 19 }, - "28": { "DateTime": 4 }, - "29": { "Debuggingfeatures": 16 }, - "30": { "DefaultSetup": 11 }, - "31": { "Dialog": 14 }, - "32": { "DialogOptionsRenderingInfo": 6 }, - "33": { "DialogScript": 22 }, - "34": { "Dictionary": 14 }, - "35": { "DistGame": 40 }, - "36": { "DrawingSurface": 30 }, - "37": { "DynamicArrays": 22 }, - "38": { "DynamicSprite": 36 }, - "39": { "EditorCharacter": 6 }, - "40": { "EditorCommandLineOptions": 6 }, - "41": { "EditorCursor": 6 }, - "42": { "EditorDialog": 8 }, - "43": { "EditorFont": 8 }, - "44": { "EditorGUI": 28 }, - "45": { "EditorInventoryItems": 3 }, - "46": { "EditorLogPanel": 2 }, - "47": { "EditorPlugins": 15 }, - "48": { "EditorPreferences": 9 }, - "49": { "EditorRoom": 19 }, - "50": { "EditorSprite": 27 }, - "51": { "EditorView": 24 }, - "52": { "EnginePluginDesign-timeAPI": 22 }, - "53": { "EnginePluginRun-timeAPI": 162 }, - "54": { "EnginePlugins": 7 }, - "55": { "EventTypes": 9 }, - "56": { "ExtenderFunctions": 5 }, - "57": { "FAQ": 40 }, - "58": { "File": 42 }, - "59": { "Game": 46 }, - "60": { "GameEventsOrder": 3 }, - "61": { "GameSavesCompatibility": 50 }, - "62": { "Gamevariables": 4 }, - "63": { "GeneralSettings": 50 }, - "64": { "GlobalArrays": 9 }, - "65": { "Globalfunctions_Event": 8 }, - "66": { "Globalfunctions_General": 72 }, - "67": { "Globalfunctions_Message": 10 }, - "68": { "Globalfunctions_Palette": 6 }, - "69": { "Globalfunctions_Room": 31 }, - "70": { "Globalfunctions_Screen": 6 }, - "71": { "Globalfunctions_Wait": 6 }, - "72": { "GlobalVariables": 14 }, - "73": { "GraphicsDriver": 1 }, - "74": { "GUI": 23 }, - "75": { "GUIControl": 27 }, - "76": { "Hotspot": 13 }, - "77": { "ImportingFunctionsAndVariables": 13 }, - "78": { "Introduction": 7 }, - "79": { "InventoryItem": 11 }, - "80": { "KeyboardShortcuts": 1 }, - "81": { "Keycodes": 1 }, - "82": { "Label": 2 }, - "83": { "Lipsync": 19 }, - "84": { "ListBox": 19 }, - "85": { "Maths": 2 }, - "86": { "MIDI-playback": 1 }, - "87": { "Mouse": 13 }, - "88": { "Multimedia": 12 }, - "89": { "MultipleScripts": 10 }, - "90": { "MusicAndSound": 56 }, - "91": { "Object": 34 }, - "92": { "OOProgramming": 10 }, - "93": { "Overlay": 19 }, - "94": { "Parser": 2 }, - "95": { "Plugins": 9 }, - "96": { "Pointers": 37 }, - "97": { "Preprocessor": 14 }, - "98": { "Region": 17 }, - "99": { "RepExec": 19 }, - "100": { "Room": 17 }, - "101": { "RuntimeEngine": 3 }, - "102": { "Screen": 5 }, - "103": { "ScriptAPIOverview": 9 }, - "104": { "ScriptingTutorial": 3 }, - "105": { "ScriptingTutorialPart1": 50 }, - "106": { "ScriptingTutorialPart2": 35 }, - "107": { "ScriptKeywords": 51 }, - "108": { "ScriptModules": 8 }, - "109": { "Set": 7 }, - "110": { "Settingupthegame": 99 }, - "111": { "Setup": 1 }, - "112": { "Slider": 2 }, - "113": { "SourceControl": 6 }, - "114": { "Speech": 1 }, - "115": { "String": 11 }, - "116": { "StringFormats": 9 }, - "117": { "System": 13 }, - "118": { "SystemLimits": 4 }, - "119": { "SystemRequirements": 4 }, - "120": { "Templates": 22 }, - "121": { "TextBox": 1 }, - "122": { "TextParser": 19 }, - "123": { "TheScriptHeader": 2 }, - "124": { "Translations": 26 }, - "125": { "TroubleshootingWindowsZoneID": 1 }, - "126": { "Tumbleweed": 43 }, - "127": { "Tumbleweed_actions": 1 }, - "128": { "Tumbleweed_door": 13 }, - "129": { "Tumbleweed_extensions": 7 }, - "130": { "Tumbleweed_movement": 1 }, - "131": { "Tumbleweed_player": 1 }, - "132": { "Tumbleweed_translation": 22 }, - "133": { "Tumbleweed_unhandled": 2 }, - "134": { "Tutorial": 2 }, - "135": { "UnicodeSupport": 12 }, - "136": { "UpgradeTo30": 23 }, - "137": { "UpgradeTo31": 13 }, - "138": { "UpgradeTo32": 23 }, - "139": { "UpgradeTo33": 6 }, - "140": { "UpgradeTo335": 5 }, - "141": { "UpgradeTo34": 17 }, - "142": { "UpgradeTo341": 8 }, - "143": { "UpgradeTo35": 29 }, - "144": { "UpgradeTo36": 34 }, - "145": { "UpgradeTo361": 12 }, - "146": { "UpgradingTo27": 31 }, - "147": { "UpgradingTo271": 9 }, - "148": { "Viewport": 7 }, - "149": { "VoiceSpeech": 9 } - }, - "you'd": { - "0": { "acintro2": 2 }, - "1": { "Constants": 1 }, - "2": { "CustomDialogOptions": 1 }, - "3": { "DefaultSetup": 1 }, - "4": { "Dictionary": 1 }, - "5": { "DrawingSurface": 1 }, - "6": { "GlobalVariables": 1 }, - "7": { "Keycodes": 1 }, - "8": { "MusicAndSound": 1 }, - "9": { "Overlay": 1 }, - "10": { "Pointers": 3 }, - "11": { "ScriptKeywords": 1 }, - "12": { "System": 1 }, - "13": { "UnicodeSupport": 1 }, - "14": { "UpgradeTo34": 1 }, - "15": { "UpgradeTo35": 1 } - }, - "you'll": { - "0": { "acintro1": 3 }, - "1": { "acintro2": 5 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 3 }, - "4": { "acintro5": 2 }, - "5": { "acintro6": 2 }, - "6": { "acintro7": 3 }, - "7": { "acintro9": 2 }, - "8": { "BlockingScripts": 1 }, - "9": { "Character": 1 }, - "10": { "CustomProperties": 1 }, - "11": { "DistGame": 1 }, - "12": { "DynamicArrays": 2 }, - "13": { "EditorGUI": 2 }, - "14": { "EditorPlugins": 2 }, - "15": { "EnginePluginRun-timeAPI": 1 }, - "16": { "File": 1 }, - "17": { "GlobalVariables": 1 }, - "18": { "Lipsync": 1 }, - "19": { "Multimedia": 1 }, - "20": { "MultipleScripts": 1 }, - "21": { "MusicAndSound": 4 }, - "22": { "OOProgramming": 1 }, - "23": { "Pointers": 1 }, - "24": { "RepExec": 2 }, - "25": { "Screen": 1 }, - "26": { "ScriptingTutorialPart1": 2 }, - "27": { "Settingupthegame": 1 }, - "28": { "SystemLimits": 1 }, - "29": { "TextParser": 2 }, - "30": { "Tumbleweed": 2 }, - "31": { "UpgradeTo30": 2 }, - "32": { "UpgradeTo36": 2 }, - "33": { "UpgradingTo27": 3 } - }, - "you're": { - "0": { "acintro1": 6 }, - "1": { "acintro3": 2 }, - "2": { "acintro4": 1 }, - "3": { "acintro6": 1 }, - "4": { "acintro7": 1 }, - "5": { "AdvancedRoomFeatures": 1 }, - "6": { "ContactingTheDevelopers": 1 }, - "7": { "CustomDialogOptions": 2 }, - "8": { "CustomProperties": 1 }, - "9": { "Debuggingfeatures": 1 }, - "10": { "DynamicArrays": 1 }, - "11": { "DynamicSprite": 1 }, - "12": { "EditorPlugins": 3 }, - "13": { "FAQ": 1 }, - "14": { "GeneralSettings": 1 }, - "15": { "GlobalArrays": 1 }, - "16": { "Lipsync": 1 }, - "17": { "MultipleScripts": 1 }, - "18": { "Pointers": 1 }, - "19": { "ScriptingTutorialPart1": 1 }, - "20": { "ScriptingTutorialPart2": 1 }, - "21": { "Settingupthegame": 1 }, - "22": { "Templates": 1 }, - "23": { "UnicodeSupport": 2 }, - "24": { "UpgradingTo27": 3 } - }, - "you've": { - "0": { "acintro1": 1 }, - "1": { "acintro2": 2 }, - "2": { "acintro3": 2 }, - "3": { "acintro4": 1 }, - "4": { "acintro6": 2 }, - "5": { "AutonumberSpeechFiles": 1 }, - "6": { "BackingUpYourGame": 1 }, - "7": { "ContactingTheDevelopers": 1 }, - "8": { "EditorGUI": 2 }, - "9": { "FAQ": 1 }, - "10": { "GeneralSettings": 2 }, - "11": { "GUI": 1 }, - "12": { "Plugins": 1 }, - "13": { "Pointers": 1 }, - "14": { "ScriptingTutorialPart1": 1 }, - "15": { "SourceControl": 1 }, - "16": { "Templates": 1 }, - "17": { "Translations": 3 }, - "18": { "UpgradeTo30": 2 }, - "19": { "UpgradeTo31": 1 } - }, - "your": { - "0": { "acintro": 1 }, - "1": { "acintro1": 16 }, - "2": { "acintro2": 15 }, - "3": { "acintro3": 6 }, - "4": { "acintro4": 8 }, - "5": { "acintro5": 3 }, - "6": { "acintro6": 16 }, - "7": { "acintro7": 11 }, - "8": { "acintro8": 7 }, - "9": { "acintro9": 4 }, - "10": { "AdvancedRoomFeatures": 4 }, - "11": { "AnonymousUsageInfo": 2 }, - "12": { "AudioChannel": 2 }, - "13": { "AudioClip": 2 }, - "14": { "AudioInScript": 2 }, - "15": { "AutonumberSpeechFiles": 1 }, - "16": { "BackingUpYourGame": 9 }, - "17": { "BlockingScripts": 6 }, - "18": { "BuildAndroid": 8 }, - "19": { "Button": 1 }, - "20": { "Character": 15 }, - "21": { "ColoursEditor": 2 }, - "22": { "Constants": 1 }, - "23": { "ContactingTheDevelopers": 3 }, - "24": { "Copyright": 1 }, - "25": { "CustomDialogOptions": 5 }, - "26": { "CustomProperties": 2 }, - "27": { "Debuggingfeatures": 10 }, - "28": { "DefaultSetup": 7 }, - "29": { "Dialog": 3 }, - "30": { "DialogOptionsRenderingInfo": 1 }, - "31": { "DialogScript": 3 }, - "32": { "DistGame": 25 }, - "33": { "DrawingSurface": 2 }, - "34": { "DynamicArrays": 4 }, - "35": { "DynamicSprite": 1 }, - "36": { "EditorCharacter": 1 }, - "37": { "EditorCommandLineOptions": 7 }, - "38": { "EditorDialog": 4 }, - "39": { "EditorFont": 1 }, - "40": { "EditorGUI": 5 }, - "41": { "EditorInventoryItems": 2 }, - "42": { "EditorLogPanel": 6 }, - "43": { "EditorPlugins": 6 }, - "44": { "EditorPreferences": 5 }, - "45": { "EditorRoom": 3 }, - "46": { "EditorSprite": 12 }, - "47": { "EditorView": 5 }, - "48": { "EnginePluginDesign-timeAPI": 8 }, - "49": { "EnginePluginRun-timeAPI": 30 }, - "50": { "EnginePlugins": 2 }, - "51": { "ExtenderFunctions": 2 }, - "52": { "FAQ": 14 }, - "53": { "File": 5 }, - "54": { "Game": 9 }, - "55": { "GameSavesCompatibility": 17 }, - "56": { "Gamevariables": 2 }, - "57": { "GeneralSettings": 38 }, - "58": { "GlobalArrays": 2 }, - "59": { "Globalfunctions_Event": 3 }, - "60": { "Globalfunctions_General": 19 }, - "61": { "GlobalVariables": 6 }, - "62": { "GraphicsDriver": 5 }, - "63": { "GUI": 1 }, - "64": { "GUIControl": 3 }, - "65": { "Hotspot": 1 }, - "66": { "Introduction": 3 }, - "67": { "InventoryItem": 1 }, - "68": { "InvWindow": 4 }, - "69": { "KeyboardShortcuts": 1 }, - "70": { "Keycodes": 1 }, - "71": { "Label": 1 }, - "72": { "Lipsync": 6 }, - "73": { "ListBox": 1 }, - "74": { "Mouse": 3 }, - "75": { "Multimedia": 5 }, - "76": { "MultipleScripts": 5 }, - "77": { "MusicAndSound": 19 }, - "78": { "Object": 5 }, - "79": { "ObsoleteScriptAPI": 5 }, - "80": { "OOProgramming": 2 }, - "81": { "OtherFeatures": 2 }, - "82": { "Parser": 1 }, - "83": { "Plugins": 8 }, - "84": { "Pointers": 9 }, - "85": { "Preprocessor": 8 }, - "86": { "RepExec": 4 }, - "87": { "Room": 1 }, - "88": { "RuntimeEngine": 1 }, - "89": { "Screen": 1 }, - "90": { "ScriptAPIOverview": 6 }, - "91": { "ScriptingTutorial": 1 }, - "92": { "ScriptingTutorialPart1": 8 }, - "93": { "ScriptingTutorialPart2": 12 }, - "94": { "ScriptKeywords": 21 }, - "95": { "ScriptModules": 1 }, - "96": { "Settingupthegame": 24 }, - "97": { "SourceControl": 5 }, - "98": { "StandardEnums": 2 }, - "99": { "StandardTypes": 1 }, - "100": { "StartingOff": 2 }, - "101": { "StringFormats": 3 }, - "102": { "System": 5 }, - "103": { "SystemLimits": 1 }, - "104": { "SystemRequirements": 2 }, - "105": { "Templates": 11 }, - "106": { "TemplateSierraStyle": 1 }, - "107": { "TextParser": 3 }, - "108": { "TheScriptHeader": 1 }, - "109": { "Translations": 11 }, - "110": { "TroubleshootingWindowsZoneID": 1 }, - "111": { "Tumbleweed": 9 }, - "112": { "Tumbleweed_door": 1 }, - "113": { "Tumbleweed_extensions": 1 }, - "114": { "Tumbleweed_translation": 3 }, - "115": { "Tumbleweed_unhandled": 1 }, - "116": { "UnicodeSupport": 5 }, - "117": { "UpgradeTo30": 12 }, - "118": { "UpgradeTo31": 13 }, - "119": { "UpgradeTo32": 5 }, - "120": { "UpgradeTo33": 2 }, - "121": { "UpgradeTo335": 1 }, - "122": { "UpgradeTo34": 12 }, - "123": { "UpgradeTo341": 7 }, - "124": { "UpgradeTo35": 7 }, - "125": { "UpgradeTo36": 12 }, - "126": { "UpgradeTo361": 4 }, - "127": { "UpgradingTo27": 9 }, - "128": { "VoiceSpeech": 2 } - }, - "yours": { - "0": { "EnginePluginRun-timeAPI": 1 } - }, - "yourself": { - "0": { "acintro1": 1 }, - "1": { "acintro3": 1 }, - "2": { "Camera": 1 }, - "3": { "Character": 1 }, - "4": { "ColoursEditor": 1 }, - "5": { "CustomDialogOptions": 1 }, - "6": { "DialogOptionsRenderingInfo": 1 }, - "7": { "EnginePluginRun-timeAPI": 1 }, - "8": { "EnginePlugins": 1 }, - "9": { "GeneralSettings": 1 }, - "10": { "Globalfunctions_General": 1 }, - "11": { "MusicAndSound": 1 }, - "12": { "Screen": 1 }, - "13": { "ScriptingTutorialPart1": 1 }, - "14": { "Settingupthegame": 1 }, - "15": { "Translations": 2 }, - "16": { "UpgradeTo36": 1 }, - "17": { "UpgradeTo361": 1 }, - "18": { "Viewport": 1 } - }, - "ypos": { - "0": { "CustomDialogOptions": 9 } - }, - "yposition": { - "0": { "Globalfunctions_Message": 1 } - }, - "z-order": { - "0": { "GUI": 5 }, - "1": { "Overlay": 5 }, - "2": { "UpgradeTo36": 1 }, - "3": { "Viewport": 2 } - }, - "z-orders": { - "0": { "Overlay": 1 } - }, - "zero": { - "0": { "Character": 1 }, - "1": { "EnginePluginRun-timeAPI": 4 }, - "2": { "Globalfunctions_General": 2 }, - "3": { "Globalfunctions_Screen": 1 }, - "4": { "Maths": 1 }, - "5": { "Multimedia": 1 }, - "6": { "Object": 1 }, - "7": { "Pointers": 2 }, - "8": { "ScriptingTutorialPart1": 2 }, - "9": { "ScriptKeywords": 4 }, - "10": { "Speech": 1 }, - "11": { "String": 1 } - }, - "zero-sized": { - "0": { "GlobalArrays": 1 } - }, - "zeroes": { - "0": { "EnginePluginRun-timeAPI": 1 }, - "1": { "VoiceSpeech": 1 } - }, - "zeros": { - "0": { "StringFormats": 1 } - }, - "zip": { - "0": { "ContactingTheDevelopers": 1 }, - "1": { "DistGame": 1 }, - "2": { "Introduction": 1 }, - "3": { "MIDI-playback": 1 }, - "4": { "TroubleshootingWindowsZoneID": 1 } - }, - "zipping": { - "0": { "DistGame": 1 }, - "1": { "Templates": 1 } - }, - "zlib": { - "0": { "Copyright": 2 }, - "1": { "DistGame": 2 } - }, - "zone": { - "0": { "TroubleshootingWindowsZoneID": 3 } - }, - "zoom": { - "0": { "acintro6": 2 }, - "1": { "AdvancedRoomFeatures": 3 }, - "2": { "Character": 3 }, - "3": { "EditorRoom": 3 }, - "4": { "Globalfunctions_Room": 1 }, - "5": { "Settingupthegame": 2 }, - "6": { "Viewport": 1 } - }, - "zoom-in": { - "0": { "UpgradeTo35": 1 } - }, - "zoom-out": { - "0": { "UpgradeTo35": 1 } - }, - "zoomed-in": { - "0": { "Camera": 2 }, - "1": { "Viewport": 1 } - }, - "zoomed-out": { - "0": { "Camera": 2 }, - "1": { "Viewport": 1 } - }, - "zooming": { - "0": { "UpgradeTo35": 1 } - } - } -} diff --git a/jslicensing.html b/jslicensing.html deleted file mode 100644 index c7e57a101..000000000 --- a/jslicensing.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - JavaScript licensing - - - - - - - - -
mark.min.jsExpatmark.js
- - diff --git a/static/favicon.ico b/static/favicon.ico deleted file mode 100644 index af22f7ea0..000000000 Binary files a/static/favicon.ico and /dev/null differ