Skip to content

Commit

Permalink
[General]Added that you can list multiple data types by separating wi…
Browse files Browse the repository at this point in the history
…th a comma

YoYoGames/GameMaker-Feature-Requests#1327
* Added an extra header on the Feather Data Types page with a short description
  • Loading branch information
YYBartT committed Dec 19, 2023
1 parent 7721905 commit b1274a8
Showing 1 changed file with 33 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,67 +48,67 @@ <h1>Feather Data Types</h1>
</tr>
<tr>
<td><strong>Array</strong></td>
<td><em>Default</em><span data-keyref="Type_Array"><a href="GameMaker_Language/GML_Overview/Arrays.htm" target="_blank">Array</a></span><br />
<td><em>Default</em><span data-keyref="Type_Array"><a href="../../GameMaker_Language/GML_Overview/Arrays.htm" target="_blank">Array</a></span><br />
...</td>
<td>An array, may include specifiers</td>
</tr>
<tr>
<td><strong>Pointer</strong></td>
<td><em>Default</em><span data-keyref="Type_Pointer"><a href="GameMaker_Language/GML_Overview/Data_Types.htm" target="_blank">Pointer</a></span><br />
<td><em>Default</em><span data-keyref="Type_Pointer"><a href="../../GameMaker_Language/GML_Overview/Data_Types.htm" target="_blank">Pointer</a></span><br />
...</td>
<td>A pointer, may include specifiers</td>
</tr>
<tr>
<td><strong>Function</strong></td>
<td><em>Default</em><span data-keyref="Type_Function"><a href="GameMaker_Language/GML_Overview/Script_Functions.htm" target="_blank">Function</a></span><br />
<td><em>Default</em><span data-keyref="Type_Function"><a href="../../GameMaker_Language/GML_Overview/Script_Functions.htm" target="_blank">Function</a></span><br />
...</td>
<td>A function, may include specifiers</td>
</tr>
<tr>
<td><strong>Struct</strong></td>
<td><em>Default</em><span data-keyref="Type_Struct"><a href="GameMaker_Language/GML_Overview/Structs.htm" target="_blank">Struct</a></span><br />
<td><em>Default</em><span data-keyref="Type_Struct"><a href="../../GameMaker_Language/GML_Overview/Structs.htm" target="_blank">Struct</a></span><br />
...</td>
<td>A struct, may include specifiers</td>
</tr>
<tr>
<td><strong>Id</strong></td>
<td>.Instance - <span data-keyref="Type_ID_Instance"><a href="GameMaker_Language/GML_Reference/Asset_Management/Instances/Instance_Variables/id.htm" target="_blank">Instance ID</a></span><br />
.DsList - <span data-keyref="Type_ID_DS_List"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Lists/ds_list_create.htm" target="_blank">DS List ID</a></span><br />
.DsMap - <span data-keyref="Type_ID_DS_Map"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Maps/ds_map_create.htm" target="_blank">DS Map ID</a></span><br />
.DsGrid - <span data-keyref="Type_ID_DS_Grid"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Grids/ds_grid_create.htm" target="_blank">DS Grid ID</a></span><br />
.DsStack - <span data-keyref="Type_ID_DS_Stack"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Stacks/ds_stack_create.htm" target="_blank">DS Stack ID</a></span><br />
.DsPriority - <span data-keyref="Type_ID_DS_Priority"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Priority_Queues/ds_priority_create.htm" target="_blank">DS Priority ID</a></span><br />
.DsQueue - <span data-keyref="Type_ID_DS_Queue"><a href="GameMaker_Language/GML_Reference/Data_Structures/DS_Queues/ds_queue_create.htm" target="_blank">DS Queue ID</a></span><em><br />
<td>.Instance - <span data-keyref="Type_ID_Instance"><a href="../../GameMaker_Language/GML_Reference/Asset_Management/Instances/Instance_Variables/id.htm" target="_blank">Object Instance</a></span><br />
.DsList - <span data-keyref="Type_ID_DS_List"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Lists/ds_list_create.htm" target="_blank">DS List</a></span><br />
.DsMap - <span data-keyref="Type_ID_DS_Map"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Maps/ds_map_create.htm" target="_blank">DS Map</a></span><br />
.DsGrid - <span data-keyref="Type_ID_DS_Grid"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Grids/ds_grid_create.htm" target="_blank">DS Grid</a></span><br />
.DsStack - <span data-keyref="Type_ID_DS_Stack"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Stacks/ds_stack_create.htm" target="_blank">DS Stack</a></span><br />
.DsPriority - <span data-keyref="Type_ID_DS_Priority"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Priority_Queues/ds_priority_create.htm" target="_blank">DS Priority</a></span><br />
.DsQueue - <span data-keyref="Type_ID_DS_Queue"><a href="../../GameMaker_Language/GML_Reference/Data_Structures/DS_Queues/ds_queue_create.htm" target="_blank">DS Queue</a></span><em><br />
...</em></td>
<td>An ID, requires specifiers</td>
</tr>
<tr>
<td><strong>Asset</strong></td>
<td>.GMAnimCurve - <span data-keyref="Type_Asset_Animation_Curve"><a href="The_Asset_Editors/Animation_Curves.htm" target="_blank">Animation Curve Asset</a></span><br />
.GMObject - <span data-keyref="Type_Asset_Object"><a href="The_Asset_Editors/Objects.htm" target="_blank">Object Asset</a></span><br />
.GMAudioGroup - <span data-keyref="Type_ID_Audio_Group"><a href="GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/Audio_Groups.htm" target="_blank">Audio Group ID</a></span><br />
.GMFont - <span data-keyref="Type_Asset_Font"><a href="The_Asset_Editors/Fonts.htm" target="_blank">Font Asset</a></span><br />
.GMPath - <span data-keyref="Type_Asset_Path"><a href="The_Asset_Editors/Paths.htm" target="_blank">Path Asset</a></span><br />
.GMScript - <span data-keyref="Type_Asset_Script"><a href="The_Asset_Editors/Scripts.htm" target="_blank">Script Asset</a></span><br />
.GMShader - <span data-keyref="Type_Asset_Shader"><a href="The_Asset_Editors/Shaders.htm" target="_blank">Shader Asset</a></span><br />
.GMSound - <span data-keyref="Type_Asset_Sound"><a href="The_Asset_Editors/Sounds.htm" target="_blank">Sound Asset</a></span><br />
.GMTimeline - <span data-keyref="Type_Asset_Timeline"><a href="The_Asset_Editors/Timelines.htm" target="_blank">Timeline Asset</a></span><br />
.GMRoom - <span data-keyref="Type_Asset_Room"><a href="The_Asset_Editors/Rooms.htm" target="_blank">Room Asset</a></span> <br />
.GMSequence - <span data-keyref="Type_Asset_Sequence"><a href="The_Asset_Editors/Sequences.htm" target="_blank">Sequence Asset</a></span><br />
.GMSprite - <span data-keyref="Type_Asset_Sprite"><a href="The_Asset_Editors/Sprites.htm" target="_blank">Sprite Asset</a></span><br />
.GMTileSet - <span data-keyref="Type_Asset_Tile_Set"><a href="The_Asset_Editors/Tile_Sets.htm" target="_blank">Tile Set Asset</a></span><em><br />
<td>.GMAnimCurve - <span data-keyref="Type_Asset_Animation_Curve"><a href="../Animation_Curves.htm" target="_blank">Animation Curve Asset</a></span><br />
.GMObject - <span data-keyref="Type_Asset_Object"><a href="../Objects.htm" target="_blank">Object Asset</a></span><br />
.GMAudioGroup - <span data-keyref="Type_ID_Audio_Group"><a href="../../GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/Audio_Groups.htm" target="_blank">Audio Group ID</a></span><br />
.GMFont - <span data-keyref="Type_Asset_Font"><a href="../Fonts.htm" target="_blank">Font Asset</a></span><br />
.GMPath - <span data-keyref="Type_Asset_Path"><a href="../Paths.htm" target="_blank">Path Asset</a></span><br />
.GMScript - <span data-keyref="Type_Asset_Script"><a href="../Scripts.htm" target="_blank">Script Asset</a></span><br />
.GMShader - <span data-keyref="Type_Asset_Shader"><a href="../Shaders.htm" target="_blank">Shader Asset</a></span><br />
.GMSound - <span data-keyref="Type_Asset_Sound"><a href="../Sounds.htm" target="_blank">Sound Asset</a></span><br />
.GMTimeline - <span data-keyref="Type_Asset_Timeline"><a href="../Timelines.htm" target="_blank">Timeline Asset</a></span><br />
.GMRoom - <span data-keyref="Type_Asset_Room"><a href="../Rooms.htm" target="_blank">Room Asset</a></span> <br />
.GMSequence - <span data-keyref="Type_Asset_Sequence"><a href="../Sequences.htm" target="_blank">Sequence Asset</a></span><br />
.GMSprite - <span data-keyref="Type_Asset_Sprite"><a href="../Sprites.htm" target="_blank">Sprite Asset</a></span><br />
.GMTileSet - <span data-keyref="Type_Asset_Tile_Set"><a href="../Tile_Sets.htm" target="_blank">Tile Set Asset</a></span><em><br />
...</em></td>
<td>An asset, requires specifiers</td>
</tr>
<tr>
<td><strong>Constant</strong></td>
<td>.Colour - <span data-keyref="Type_Constant_Colour"><a href="GameMaker_Language/GML_Reference/Drawing/Colour_And_Alpha/Colour_And_Alpha.htm" target="_blank">Colour</a></span><br />
.HAlign - <span data-keyref="Type_Constant_Draw_HAlign"><a href="GameMaker_Language/GML_Reference/Drawing/Text/draw_set_halign.htm" target="_blank">Horizontal Alignment Constant</a></span><br />
.VAlign - <span data-keyref="Type_Constant_Draw_VAlign"><a href="GameMaker_Language/GML_Reference/Drawing/Text/draw_set_valign.htm" target="_blank">Vertical Alignment Constant</a></span><br />
.Cursor - <span data-keyref="Type_Constant_Cursor"><a href="GameMaker_Language/GML_Reference/Cameras_And_Display/The_Game_Window/window_get_cursor.htm" target="_blank">Cursor Constant</a></span><br />
.EventType - <span data-keyref="Type_Constant_Event_Type"><a href="GameMaker_Language/GML_Reference/Asset_Management/Objects/Object_Events/event_perform.htm" target="_blank">Event Type Constant</a></span><br />
.EventNumber - <span data-keyref="Type_Constant_Event_Number"><a href="GameMaker_Language/GML_Reference/Asset_Management/Objects/Object_Events/event_perform.htm" target="_blank">Event Number Constant</a></span><br />
.PrimitiveType - <span data-keyref="Type_Constant_Draw_Primitive_Type"><a href="GameMaker_Language/GML_Reference/Drawing/Primitives/draw_primitive_begin.htm" target="_blank">Primitive Type Constant</a></span><br />
<td>.Colour - <span data-keyref="Type_Constant_Colour"><a href="../../GameMaker_Language/GML_Reference/Drawing/Colour_And_Alpha/Colour_And_Alpha.htm" target="_blank">Colour</a></span><br />
.HAlign - <span data-keyref="Type_Constant_Draw_HAlign"><a href="../../GameMaker_Language/GML_Reference/Drawing/Text/draw_set_halign.htm" target="_blank">Horizontal Alignment Constant</a></span><br />
.VAlign - <span data-keyref="Type_Constant_Draw_VAlign"><a href="../../GameMaker_Language/GML_Reference/Drawing/Text/draw_set_valign.htm" target="_blank">Vertical Alignment Constant</a></span><br />
.Cursor - <span data-keyref="Type_Constant_Cursor"><a href="../../GameMaker_Language/GML_Reference/Cameras_And_Display/The_Game_Window/window_get_cursor.htm" target="_blank">Cursor Constant</a></span><br />
.EventType - <span data-keyref="Type_Constant_Event_Type"><a href="../../GameMaker_Language/GML_Reference/Asset_Management/Objects/Object_Events/event_perform.htm" target="_blank">Event Type Constant</a></span><br />
.EventNumber - <span data-keyref="Type_Constant_Event_Number"><a href="../../GameMaker_Language/GML_Reference/Asset_Management/Objects/Object_Events/event_perform.htm" target="_blank">Event Number Constant</a></span><br />
.PrimitiveType - <span data-keyref="Type_Constant_Draw_Primitive_Type"><a href="../../GameMaker_Language/GML_Reference/Drawing/Primitives/draw_primitive_begin.htm" target="_blank">Primitive Type Constant</a></span><br />
...</td>
<td>A constant, requires specifiers</td>
</tr>
Expand All @@ -128,6 +128,8 @@ <h3>Collection Types</h3>
<p>Types such as <span class="inline2">Array</span> and <span class="inline2">Id.DsList</span>, which are data structures that contain multiple values, are able to specify a single data type for all of their contents.</p>
<p>This is done using Collection Types, which are appended to the type using angle brackets <span class="inline2">&lt;&gt;</span>.</p>
<p>For example, an array containing strings would be <span class="inline2">Array&lt;String&gt;</span>, and a DS List, containing an Array, containing Reals, would be <span class="inline2">Id.DsList&lt;Array&lt;Real&gt;&gt;</span>.</p>
<h3>Multiple Types</h3>
<p>Multiple data types can also be listed, separated by a comma <span class="inline2">,</span>. For example <span class="inline2">String,Array&lt;String&gt;</span><span class="inline2">Id.Instance,Asset.GMObject</span>, etc.</p>
<h2>Type Validation</h2>
<p>The table below shows what happens if you pass a value of a certain type (rows) into a parameter requiring a data type (column).</p>
<p>For example, specifying <span class="inline2">undefined</span> (first row) for a parameter requiring a string (second column) results in an error.</p>
Expand Down

0 comments on commit b1274a8

Please sign in to comment.