[giimote commit] r200 - Added wiki article "GettingStarted" and updated various other articles

2 views
Skip to first unread message

codesite...@google.com

unread,
May 10, 2009, 10:22:46 PM5/10/09
to gii...@googlegroups.com
Author: leif902
Date: Sun May 10 19:06:58 2009
New Revision: 200

Added:
wiki/GettingStarted.wiki
Modified:
wiki/Extensions.wiki
wiki/GML.wiki
wiki/GettingConnected.wiki
wiki/Gzip.wiki
wiki/MiiData.wiki
wiki/OrderOperations.wiki
wiki/Tar.wiki
wiki/TlbExp.wiki

Log:
Added wiki article "GettingStarted" and updated various other articles

Modified: wiki/Extensions.wiki
==============================================================================
--- wiki/Extensions.wiki (original)
+++ wiki/Extensions.wiki Sun May 10 19:06:58 2009
@@ -1,21 +1,23 @@
-#summary Using extensions in Game Maker
-#labels Phase-Deploy,Type-Article,Featured
-= Introduction =
-
-As of version 7.0 Game Maker has an extension system which allows users to
define their own functions and resources. This article will explain how to
use extensions created for Game Maker.
-
-= Installing =
-
- # Obtain the extension in GEX format.
- # Run Game Maker and double-click "Extension Packages" in the tree view.
- # In the lower right hand corner of the dialog press "Install"
- # Click "Install" again on the new dialog and browse to the GEX file you
wish to install.
-
-= Getting Help =
-To get help for an extension which is already installed on your system:
- # Click on the "Help" menu in Game Maker
- # Expand the "Extension Packages" menu and choose the extension you want
help for.
-or
- # Double click "Extension Packages" in the resource tree
- # Highlight the extension package you want help with in the resulting
dialog
+#summary Using extensions in Game Maker
+#labels Phase-Deploy,Type-Article
+
+= Introduction =
+
+As of version 7.0 Game Maker has an extension system which allows users to
define their own functions and resources. This article will explain how to
use extensions created for Game Maker.
+
+
+= Installing =
+
+ # Obtain the extension in GEX format.
+ # Run Game Maker and double-click "Extension Packages" in the tree view.
+ # In the lower right hand corner of the dialog press "Install"
+ # Click "Install" again on the new dialog and browse to the GEX file you
wish to install.
+
+= Getting Help =
+To get help for an extension which is already installed on your system:
+ # Click on the "Help" menu in Game Maker
+ # Expand the "Extension Packages" menu and choose the extension you want
help for.
+or
+ # Double click "Extension Packages" in the resource tree
+ # Highlight the extension package you want help with in the resulting
dialog
# Press the "Help" button at the bottom of the extensions dialog

Modified: wiki/GML.wiki
==============================================================================
--- wiki/GML.wiki (original)
+++ wiki/GML.wiki Sun May 10 19:06:58 2009
@@ -1,9 +1,10 @@
-#summary Game Maker Language, the scripting language of Game Maker
+#summary Overview of GML
#labels Phase-Implementation,Type-Article

= Introduction =

-*Game Maker Language* (*GML*) is a dynamically typed interpreted
programming language employed by [GameMaker Game Maker]. GiiMote is
designed to expand the GML language to support the Wii Remote.
+Game Maker Language (GML) is a dynamically typed interpreted programming
language employed by [GameMaker Game Maker]. GiiMote is designed to expand
the GML language to support the [WiiRemote Wii Remote].
+

= Syntax =

@@ -33,10 +34,14 @@
}}}
As you can see the "=" operator is a boolean-comparison operator in
comparisons (so for instance {{{a = b = 5;}}} is the same as {{{a = b ==
5;}}}) and an assignment operator in statements. The "==" operator on the
other hand is always a comparison operator.

+
== Variables ==
+
Variables in GML do not normally need to be declared and are created the
first time a value is assigned to them. They can optionally be
auto-declared to 0 if used in expressions, however, this is unwise and a
very poor programming practice. The exception is variables local to the
current code-block which must be declared using the keyword "*var*".

+
=== Memory Allocation and Typing ===
+
Variables in GML are dynamically typed and memory is allocated as it is
needed. This means that the following statement is valid:
{{{
a = 5;
@@ -47,7 +52,10 @@
* Strings are sets of ASCII characters and may be of any length.
* Real values are implemented as signed floating point numbers and may
be expressed in decimal or hexadecimal (via the '$' prefix).

+
=== Scope ===
+
+
GML has three main variable scopes.
* *Global variables* are declared globally for all objects and are
accessed via the prefix "global."
* *Local variables* which may be declared local to the current instance
and do not require a prefix (but which may use the optional
prefix "*local.*" where naming conflicts arise)
@@ -64,11 +72,14 @@
}}}
Because there is no method for manually releasing variables in Game Maker
it is advisable to stay away from global variables as they are not released
until the game ends. Local variables are released when their instance is
destroyed or when their native control block ends.

+
== Resources ==

GML has no pointer type so each resource is given a unique ID which can be
referenced from within various GML functions. Each instance of an object in
GML contains several built-in constants which contain the values of the
various resource IDs attributed to it. These include:
* {{{id}}} - The ID of the current instance
* {{{object_index}}} - The index of the object the instance is an
instance of

-= See Also =
+
+= Links =
+
* [http://gmlscripts.com/gml/game_maker_language GML Reference at
GMLScripts.com]

Modified: wiki/GettingConnected.wiki
==============================================================================
--- wiki/GettingConnected.wiki (original)
+++ wiki/GettingConnected.wiki Sun May 10 19:06:58 2009
@@ -1,20 +1,17 @@
-#summary Pairing the Wii Remote with your PC's Bluetooth stack.
-#labels Phase-Deploy,Phase-Support
-
-= Introduction =
-
-Pairing the Wii Remote with the computer is a fairly strait forward
process, however, the Wii Remote is not compatible with all Bluetooth
hardware. If this does not work as expected you may have incompatible
hardware.
-
-
-= Instructions =
-
-Add your content here. Format your content with:
-
- #Start up your Bluetooth software and have it search for a device.
- #Hold down the 1 and 2 buttons on the Wiimote. You should see the LEDs
at the bottom start flashing. Do not let go of these buttons until this
procedure is complete.
- #The device should show up in the list of devices found as Nintendo
RVL-CNT-01. If it's not there, start over and try again.
- #Click Next to move your way through the wizard. If at any point you
are asked to enter a security code or PIN, leave the number blank or click
Skip. Do not enter a number.
- #You may be asked which service to use from the Wiimote. Select the
keyboard/mouse/HID service if prompted (you should only see one service
available).
- #Finish the wizard.
-
-That's it. The LEDs at the bottom should continue to flash and you should
see the device listed in your list of connected Bluetooth devices.
\ No newline at end of file
+#summary Pairing the Wii Remote with your PC's Bluetooth stack.
+#labels Phase-Deploy,Phase-Support
+
+= Introduction =
+
+Pairing the Wii Remote with the computer is a fairly strait forward
process, however, the Wii Remote is not compatible with all Bluetooth
hardware. If this does not work as expected you may have incompatible
hardware.
+
+
+= Instructions =
+
+ # Start up your Bluetooth software and have it search for a device.
+ # Hold down the 1 and 2 buttons on the Wii Remote. You should see the
LEDs at the bottom start flashing. Do not let go of these buttons until
this procedure is complete.
+ # The device should show up in the list of devices found as Nintendo
RVL-CNT-01. If it's not there, start over and try again.
+ # Click Next to move your way through the wizard. If at any point you
are asked to enter a security code or PIN, leave the number blank or click
Skip.
+ # You may be asked which service to use for the Wii Remote. Select the
keyboard/mouse/HID service.
+
+That's it. The LEDs at the bottom should continue to flash and you should
see the device listed in your list of connected Bluetooth devices.
\ No newline at end of file

Added: wiki/GettingStarted.wiki
==============================================================================
--- (empty file)
+++ wiki/GettingStarted.wiki Sun May 10 19:06:58 2009
@@ -0,0 +1,27 @@
+#summary How to get started with GiiMote
+#labels Type-Article,Phase-Implementation,Featured
+
+= Introduction =
+
+This document is a broad scope introduction to getting started with
GiiMote. It applies to developers, end users, and anyone who is interested
in contributing to the GiiMote project.
+
+
+= Users =
+
+To get started using GiiMote with Game Maker make sure you are proficient
in [GML] and then read the
[http://code.google.com/p/giimote/downloads/list?q=label:Type-Docs
documentation] or look at a few
[http://code.google.com/p/giimote/downloads/list?q=label:Type-Example
examples].
+
+
+= Developers =
+
+ # Read the [BuildDocumentation build documentation] to find out about
getting the source and building GiiMote.
+ # Look over the
[http://code.google.com/p/giimote/downloads/list?q=label:Type-Docs
developer documentation] to familiarize yourself with the way GiiMote is
structured.
+ # Read the [CodingStyles code style guidelines] to find out about
appropriate coding styles.
+ # Add a new feature, fix a bug, or adopt a request off the
[http://code.google.com/p/giimote/issues/list issues page].
+ # Learn to [CreatingPatches create patches] and
[http://code.google.com/p/giimote/issues/entry?template=Submit%20patch
submit them] for review (if you have adopted a specific issue, add the
patch as an attachment).
+ # After you have submitted a patch request the ability to post to the
[http://groups.google.com/group/giimote developers group].
+ # After you have submitted a few patches post on the group requesting
commit access to the repository and create your own
[http://code.google.com/p/giimote/source/browse/#svn/branches branch].
+
+
+= Links =
+
+ * [http://code.google.com/p/giimote/issues/list Current issues,
requests, and tasks]
\ No newline at end of file

Modified: wiki/Gzip.wiki
==============================================================================
--- wiki/Gzip.wiki (original)
+++ wiki/Gzip.wiki Sun May 10 19:06:58 2009
@@ -1,4 +1,4 @@
-#summary Description of Gzip.exe and is place in the build process
+#summary Description of Gzip.exe and its place in the build process
#labels Phase-Requirements

= Introduction =

Modified: wiki/MiiData.wiki
==============================================================================
--- wiki/MiiData.wiki (original)
+++ wiki/MiiData.wiki Sun May 10 19:06:58 2009
@@ -1,20 +1,24 @@
#summary Mii data stored on the Wii Remote
-#labels Type-Article
+#labels Type-Article,Phase-Implementation

= Introduction =

Wii Sports, the Everybody Votes Channel, and many other games and channels
make use of Mii data. Some games and channels store Mii data on the Wii
Remote in a special two-block file system. The Mii Channel, for instance,
stores Mii Parade data on the Wii Remote and can also store Mii data at the
user's request.

+
= Details =

Mii data is stored on the Wii Remote in two blocks of 750 bytes a piece
each followed by a two byte CRC checksum. The second block functions as a
backup. If the data in the first block does not match the CRC the second
block is used. If the second block does not match the checksum, then no Mii
data will be available. These 752 byte blocks are stored consecutively in
memory starting at address 0x0fca.

+
== Block Format ==

Each block starts with the four bytes "RNCD". The next two bytes determine
which slots are Mii parade slots. To set a Mii slot as a parade slot, left
shift 0x0001 by the slot number. Any empty (or non-parade Mii) slot should
have its corresponding bit set to 0.
Following this is the raw Mii Data, which in turn is followed by a two
byte CRC-16 CCITT of the previous 750 bytes.

+
== Mii Format ==
+
Each Mii is stored as 0x4a bytes. Strings in the Mii data are stored in
big-endian Unicode format (UTF-16) and are padded with zeros.

A rudimentary Mii data structure (taken from WiiLi) can be found below:

Modified: wiki/OrderOperations.wiki
==============================================================================
--- wiki/OrderOperations.wiki (original)
+++ wiki/OrderOperations.wiki Sun May 10 19:06:58 2009
@@ -1,17 +1,16 @@
-#summary The order of operations used when calling GiiMote functions.
-#labels Featured,Phase-Design,Phase-Implementation
-
-= Introduction =
-
-When calling GiiMote functions it is important to understand the calling
order of each function.
-
-
-= Details =
-
-When you call a GiiMote function from Game Maker the call results in the
following order of operations:
- # The Game Maker runner interprets your code containing the call to a
GiiMote function.
- # Control passes to the function which is interpreted and either returns
some data or calls GMDLL, passing it a function name and the location of
the GiiMote DLL along with any additional arguments.
- # GMDLL calls the GiiMote main library passing on any additional
arguments specified in the previous step.
- # The GiiMote DLL may perform some pre-processing. Then it either
returns or calls a function in WiimoteLib.dll.
- # WiimoteLib gets data from the Wii Remote, possibly processes it, and
returns.
+#summary The order of operations used when calling GiiMote functions.
+#labels Phase-Design,Phase-Implementation
+
+= Introduction =
+
+When calling GiiMote functions it is important to understand the calling
order of each function.
+
+
+= Details =
+
+When you call a GiiMote function from Game Maker the call results in the
following order of operations:
+ # The Game Maker runner interprets your code containing the call to a
GiiMote function.
+ # Control passes to the function which is interpreted and either returns
some data or calls GiiMote (possibly passing it one or more arguments).
+ # The GiiMote DLL may perform some processing. Then it either returns or
calls a function in WiimoteLib.dll.
+ # WiimoteLib gets data from its internal representation of the Wii
Remote, possibly processes it, and returns.
# The sequence returns backwards until it reaches GM where the code
continues.

Modified: wiki/Tar.wiki
==============================================================================
--- wiki/Tar.wiki (original)
+++ wiki/Tar.wiki Sun May 10 19:06:58 2009
@@ -1,4 +1,4 @@
-#summary Description of tar and is place in the build process
+#summary Description of tar and its place in the build process
#labels Phase-Requirements

= Introduction =

Modified: wiki/TlbExp.wiki
==============================================================================
--- wiki/TlbExp.wiki (original)
+++ wiki/TlbExp.wiki Sun May 10 19:06:58 2009
@@ -1,4 +1,4 @@
-#summary Description of TlbExp and is place in the build process
+#summary Description of TlbExp and its place in the build process
#labels Phase-Requirements

= Introduction =

Reply all
Reply to author
Forward
0 new messages