diff --git a/luadoc/Animation.doclua b/luadoc/Animation.doclua new file mode 100644 index 000000000..df0c783ca --- /dev/null +++ b/luadoc/Animation.doclua @@ -0,0 +1,88 @@ +------------------------------------------------------------------------------- +-- @module Animation + + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX effect struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myAnimation:mem(0x3C, FIELD_WORD, 4) +-- +-- Example of getting the value of a field with mem: +-- +-- local animationTimer = myAnimation:mem(0x3C, FIELD_WORD) +-- +-- @function [parent=#Animation] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + +------------------------------------------------------------------------------- +-- Returns the amount of running Effects in the level. +-- @function [parent=#Animation] count +-- @return #number The number of running Effects in the level. + +------------------------------------------------------------------------------- +-- Returns running Effects of the level. +-- @function [parent=#Animation] get +-- @param ids [Optional] The ids to be filtered. Can be a single number or a table with numbers of ids to be filtered out. +-- @return #list<#Animation> Returns a table with all Effects in the level. + +------------------------------------------------------------------------------- +-- Spawns/Runs a new Effect. +-- @function [parent=#Animation] spawn +-- @param #number effectID The id of the new Effect, which should be spawned. +-- @param #number x The x position of the new Effect. +-- @param #number y The y position of the new Effect. +-- @param #number animationFrame The selected animation frame of new effect.
This Animation frame (as parameter) is not the same as Animation.animationFrame! +-- @return #Animation The spawned Effect-Object. This can be used to modify additional behaviour. + +------------------------------------------------------------------------------- +-- The id of the Effect. +-- @field [parent=#Animation] #number id + +------------------------------------------------------------------------------- +-- The x coordinate of the Animation. +-- @field [parent=#Animation] #number x + +------------------------------------------------------------------------------- +-- The y coordinate of the Animation. +-- @field [parent=#Animation] #number y + +------------------------------------------------------------------------------- +-- The x-speed of the Animation. +-- @field [parent=#Animation] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the Animation. +-- @field [parent=#Animation] #number speedY + +------------------------------------------------------------------------------- +-- The width of the Animation. +-- @field [parent=#Animation] #number width + +------------------------------------------------------------------------------- +-- The height of the Animation. +-- @field [parent=#Animation] #number height + +------------------------------------------------------------------------------- +-- The timer of the Animation. This value might be ignored, depending on the type of effect. +-- @field [parent=#Animation] #number timer + +------------------------------------------------------------------------------- +-- The current animation frame. This might be used also as a timer. +-- @field [parent=#Animation] #number animationFrame + +------------------------------------------------------------------------------- +-- The included npc id of the effect. This value is used for effects like yoshis egg. +-- @field [parent=#Animation] #number npcID + +------------------------------------------------------------------------------- +-- A boolean flag if only the mask should be drawn. This value is used for the cheat 'shadowmario'. +-- @field [parent=#Animation] #boolean drawOnlyMask + + +return nil diff --git a/luadoc/BGO.doclua b/luadoc/BGO.doclua new file mode 100644 index 000000000..3d648c730 --- /dev/null +++ b/luadoc/BGO.doclua @@ -0,0 +1,74 @@ +------------------------------------------------------------------------------- +-- @module BGO + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX BGO struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myBGO:mem(0x04, FIELD_WORD, -1) +-- +-- Example of getting the value of a field with mem: +-- +-- local bgoIsHidden = myBGO:mem(0x04, FIELD_WORD) +-- +-- @function [parent=#BGO] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + +------------------------------------------------------------------------------- +-- Returns the amount of BGO in the level. +-- @function [parent=#BGO] count +-- @return #number The number of BGOs in the level. + +------------------------------------------------------------------------------- +-- Returns BGO of the level. +-- @function [parent=#BGO] get +-- @param ids [Optional] The ids to be filtered. Can be a single number or a table with numbers of ids to be filtered out. +-- @return #list<#BGO> Returns a table with all BGOs in the level. + +------------------------------------------------------------------------------- +-- The id of the BGO. +-- @field [parent=#BGO] #number id + +------------------------------------------------------------------------------- +-- Boolean flag if the BGO is invisible. +-- @field [parent=#BGO] #number isHidden + +------------------------------------------------------------------------------- +-- The x coordinate of the BGO. +-- @field [parent=#BGO] #number x + +------------------------------------------------------------------------------- +-- The y coordinate of the BGO. +-- @field [parent=#BGO] #number y + +------------------------------------------------------------------------------- +-- The x-speed of the BGO. +-- @field [parent=#BGO] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the BGO. +-- @field [parent=#BGO] #number speedY + +------------------------------------------------------------------------------- +-- The width of the BGO. +-- @field [parent=#BGO] #number width + +------------------------------------------------------------------------------- +-- The height of the BGO. +-- @field [parent=#BGO] #number height + +------------------------------------------------------------------------------- +-- The layer object of the BGO. +-- @field [parent=#BGO] #Layer layer + +------------------------------------------------------------------------------- +-- The layer name of the BGO. +-- @field [parent=#BGO] #string layerName + + +return nil diff --git a/luadoc/Block.doclua b/luadoc/Block.doclua new file mode 100644 index 000000000..f5f2cbabb --- /dev/null +++ b/luadoc/Block.doclua @@ -0,0 +1,77 @@ +------------------------------------------------------------------------------- +-- @module Block + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX Block struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myBlock:mem(0x1C, FIELD_WORD, -1) +-- +-- Example of getting the value of a field with mem: +-- +-- local bgoIsHidden = myBlock:mem(0x1C, FIELD_WORD) +-- +-- @function [parent=#Block] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + +------------------------------------------------------------------------------- +-- Returns the amount of blocks in the level. +-- @function [parent=#Block] count +-- @return #number The number of blocks in the level. + +------------------------------------------------------------------------------- +-- Returns blocks of the level. +-- @function [parent=#Block] get +-- @param ids [Optional] The ids to be filtered. Can be a single number or a table with numbers of ids to be filtered out. +-- @return #list<#Block> Returns a table with all blocks in the level. + +------------------------------------------------------------------------------- +-- Makes a collision check and returns the side of the collision. +-- @function [parent=#Block] collidesWith +-- @param self +-- @param #Player player The player where the collison check should be done. +-- @return #number The side of the collision.
0 = no collision
1 = Player on top of block
2 = Player touching right side
3 = Player touching bottom
4 = Player touching left side + +------------------------------------------------------------------------------- +-- The x coordinate of the block. +-- @field [parent=#Block] #number x + +------------------------------------------------------------------------------- +-- The y coordinate of the block. +-- @field [parent=#Block] #number y + +------------------------------------------------------------------------------- +-- The x-speed of the block. +-- @field [parent=#Block] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the block. +-- @field [parent=#Block] #number speedY + +------------------------------------------------------------------------------- +-- The id of the block. +-- @field [parent=#Block] #number id + +------------------------------------------------------------------------------- +-- Boolean flag if the block is invisible. +-- @field [parent=#Block] #number invisible + +------------------------------------------------------------------------------- +-- Boolean flag if the block is slippery. +-- @field [parent=#Block] #number slippery + +------------------------------------------------------------------------------- +-- [READONLY] The layer name of the npc. +-- @field [parent=#Block] #VBStr layerName + +------------------------------------------------------------------------------- +-- [READONLY] The layer object of the npc. +-- @field [parent=#Block] #Layer layerObj + + +return nil diff --git a/luadoc/Data.doclua b/luadoc/Data.doclua new file mode 100644 index 000000000..1288f889f --- /dev/null +++ b/luadoc/Data.doclua @@ -0,0 +1,70 @@ +------------------------------------------------------------------------------- +-- @module Data + + +------------------------------------------------------------------------------- +-- This data will be saved in the level custom folder and can be only accessed by the current level. +-- @field [parent=#Data] #number DATA_LEVEL + +------------------------------------------------------------------------------- +-- This data will be saved in the episode folder and can be only accessed by the current world or level. +-- @field [parent=#Data] #number DATA_WORLD + +------------------------------------------------------------------------------- +-- This data will be saved in the {SMBX-Path}/worlds folder and can be accessed from every world or level. +-- @field [parent=#Data] #number DATA_GLOBAL + +------------------------------------------------------------------------------- +-- Constructs a new Data class. +-- @callof #Data +-- @param self +-- @param #number dataLocation This value can be Data.DATA_LEVEL, Data.DATA_WORLD or Data.DATA_GLOBAL +-- @param #string sectionName The sectionName of the data file. +-- @param #boolean useSaveSlot This boolean flags decides if the data file depends on the save slot. +-- @return #Data The new Data class. + + +------------------------------------------------------------------------------- +-- Will set a value in the dataset. +-- @function [parent=#Data] set +-- @param self +-- @param #string key The key for the value +-- @param #string value The value which should be set + +------------------------------------------------------------------------------- +-- Will return one or all values. +-- If no argument is passed then a table with [key] = value is returned: +-- +-- local allData = myData:get() +-- local aValue = allData["aKey"] +-- +-- or if you pass an argument: +-- +-- local aValue = myData:get("aKey") +-- +-- @function [parent=#Data] get +-- @param self +-- @param #string key The key for the value +-- @return #string The value of the key. +-- @return #map<#string, #string> A table with [key] = value + +------------------------------------------------------------------------------- +-- Saves the data. +-- @function [parent=#Data] save +-- @param self +-- @param #string sectionName [OPTIONAL] A new section name. + +------------------------------------------------------------------------------- +-- The save location of the data. +-- @field [parent=#Data] #number dataType Can be Data.DATA_LEVEL, Data.DATA_WORLD or Data.DATA_GLOBAL + +------------------------------------------------------------------------------- +-- The section name of the data. +-- @field [parent=#Data] #string sectionName + +------------------------------------------------------------------------------- +-- If the save slot number should be used when saving. +-- @field [parent=#Data] #boolean useSaveSlot + + +return nil diff --git a/luadoc/Graphics.doclua b/luadoc/Graphics.doclua new file mode 100644 index 000000000..22dd81324 --- /dev/null +++ b/luadoc/Graphics.doclua @@ -0,0 +1,29 @@ +------------------------------------------------------------------------------- +-- @module Graphics + +------------------------------------------------------------------------------- +-- Toggels the hud on/off +-- @function [parent=#Graphics] activate +-- @param #boolean showHud If true, then the hud will be shown. + +------------------------------------------------------------------------------- +-- Loads a image in the resource memory at resourceNumber. You can also set the transparent Color. +-- @function [parent=#Graphics] loadImage +-- @param #string filename The filename of the image file relative to the custom folder. Can be also a absolute path. +-- @param #number resourceNumber The ID for the resource number. Can be selected freely. +-- @param #number transparentColor The color-code, which should be transparent. + +------------------------------------------------------------------------------- +-- Places a sprite from the resource memory and places it at xPos, yPos +-- @function [parent=#Graphics] placeSprite +-- @param #number type If true, then the hud will be shown.
1 = Static / HUD sprite
2 = "In level" sprite
3 = Collectible item
4 = Progress bar
5 = Phanto +-- @param #number imgResource The resource number where the image is loaded. +-- @param #number xPos The x position the image should be placed on. (relative/absolute position depends on type) +-- @param #number yPos The y position the image should be placed on. (relative/absolute position depends on type) +-- @param #string extra [Optional] Extra value, depends on the given type.
On type 4 this value is used for the event when it is collected by the player. +-- @param #number time [Optional] The lifetime of the placed sprite. If not set then the sprite is placed forever. + + + + +return nil diff --git a/luadoc/Layer.doclua b/luadoc/Layer.doclua new file mode 100644 index 000000000..156ab5704 --- /dev/null +++ b/luadoc/Layer.doclua @@ -0,0 +1,69 @@ +------------------------------------------------------------------------------- +-- @module Layer + +------------------------------------------------------------------------------- +-- Returns all Layers or one Layer of the level. +-- For example: +-- +-- local myLayer = Layer.get("myLayer") +-- +-- or if you want all layers: +-- +-- local tableOfLayers = Layer.get() +-- +-- However, if you only want the amout of layers then you can use: +-- +-- local amountOfLayers = #Layer.get() +-- +-- +-- @function [parent=#Layer] get +-- @param #string layerName [Optional] The name of the layer. +-- @return #Layer Returns the first match of layerName. +-- @return #list<#Layer> Returns all layers. Only if layerName is not passed. + +------------------------------------------------------------------------------- +-- Returns all layers containg the text layerName. +-- @function [parent=#Layer] find +-- @param #string layerName The string which the layers should contain +-- @return #list<#Layer> Returns all layers where layerName is contained in the layer. + +------------------------------------------------------------------------------- +-- Stops the layer's movement +-- @function [parent=#Layer] stop +-- @param self + +------------------------------------------------------------------------------- +-- Shows the layer. +-- @function [parent=#Layer] show +-- @param self +-- @param #boolean noSmoke If true, then no smoke will be displayed. + +------------------------------------------------------------------------------- +-- Hides the layer. +-- @function [parent=#Layer] hide +-- @param self +-- @param #boolean noSmoke If true, then no smoke will be displayed. + +------------------------------------------------------------------------------- +-- Toggles (Showing/Hiding) the layer. +-- @function [parent=#Layer] toggle +-- @param self +-- @param #boolean noSmoke If true, then no smoke will be displayed. + +------------------------------------------------------------------------------- +-- [READONLY] A boolean flag if the layer is hidden or not. This can be controlled by the show, hide, toggle function. +-- @field [parent=#Layer] #boolean isHidden + +------------------------------------------------------------------------------- +-- [READONLY] The layer name. +-- @field [parent=#Layer] VBStr#VBStr layerName + +------------------------------------------------------------------------------- +-- The x-speed of the layer. +-- @field [parent=#Layer] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the layer. +-- @field [parent=#Layer] #number speedY + +return nil diff --git a/luadoc/Level.doclua b/luadoc/Level.doclua new file mode 100644 index 000000000..a8f18eca8 --- /dev/null +++ b/luadoc/Level.doclua @@ -0,0 +1,29 @@ +------------------------------------------------------------------------------- +-- @module Level + +------------------------------------------------------------------------------- +-- Exit the level. +-- @function [parent=#Level] exitLevel + +------------------------------------------------------------------------------- +-- Returns the filename of the level. +-- @function [parent=#Level] filename +-- @return #string The filename of the current level. + +------------------------------------------------------------------------------- +-- Returns the Title/Name of the level. +-- @function [parent=#Level] name +-- @return #string The name/title of the current level. + +------------------------------------------------------------------------------- +-- The current state of hitting the goal. If currently not winning then this value is 0. +-- If no argument is passed, then the value will be retured. +-- If the value is set the the winState will be modified. +-- @function [parent=#Level] winState +-- @param #number value If this value is set, then the winState will be modified. +-- @return #number The current win state. + + + + +return nil diff --git a/luadoc/Misc.doclua b/luadoc/Misc.doclua new file mode 100644 index 000000000..b79bc5b2a --- /dev/null +++ b/luadoc/Misc.doclua @@ -0,0 +1,41 @@ +------------------------------------------------------------------------------- +-- This namespace contains misc. functions for SMBX. +-- @module Misc + +------------------------------------------------------------------------------- +-- Converts every npc on screen to coins. +-- (Like you would hit the exit.) +-- @function [parent=#Misc] npcToCoins + + +------------------------------------------------------------------------------- +-- Starts the "POW"-Effect +-- (like if the POW-Block hits the floor) +-- @function [parent=#Misc] doPOW + +------------------------------------------------------------------------------- +-- Gets or sets the cheat buffer text. +-- If you don't pass an parameter to cheatBuffer, then the cheat buffer will be returned. +-- @function [parent=#Misc] cheatBuffer +-- @param #string cheatBufferText Sets the current cheat buffer text. +-- @return #string A copy of the cheat string buffer. + +------------------------------------------------------------------------------- +-- Returns a list of files in the given path. +-- The paths starts from the SMBX-Directory. +-- If path is an empty string, then the files in the SMBX-Directory are returned. +-- @function [parent=#Misc] listFiles +-- @param #string path The relative or absolute path to the files to be listed. If this argument is an empty string then the SMBX root directory is listed and returned. +-- @return #table The files in the directory. (Does not contain the full path) + +------------------------------------------------------------------------------- +-- Returns a list of files in the given path. +-- The paths starts from the custom folder of the level (when in a level) or the current episode folder (when in the overworld). +-- If path is an empty string, then the files in the custom folder (or episode folder when in overworld) are returned. +-- If you want to access the episode folder from the level code you can use Misc.listLocalFiles(".."). +-- @function [parent=#Misc] listLocalFiles +-- @param #string path The relative or absolute path to the files to be listed. +-- @return #table The files in the directory. (Does not contain the full path) + + +return nil diff --git a/luadoc/NPC.doclua b/luadoc/NPC.doclua new file mode 100644 index 000000000..273a3168c --- /dev/null +++ b/luadoc/NPC.doclua @@ -0,0 +1,112 @@ +------------------------------------------------------------------------------- +-- @module NPC + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX NPC struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myNPC:mem(0xE2, FIELD_WORD, 77) +-- +-- Example of getting the value of a field with mem: +-- +-- local npcID = myNPC:mem(0xE2, FIELD_WORD) +-- +-- @function [parent=#NPC] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + +------------------------------------------------------------------------------- +-- Returns the amount of NPCs in the level. +-- @function [parent=#NPC] count +-- @return #number The number of NPCs in the level. + +------------------------------------------------------------------------------- +-- Returns NPCs of the level. +-- @function [parent=#NPC] get +-- @param ids [Optional, use -1 to skip this filter] The ids to be filtered. Can be a single number or a table with numbers of ids to be filtered out. +-- @param sections [Optional, use -1 to skip this filter] The sections to be filtered. Can be a single number or a table with numbers of ids to be filtered out. +-- @return #list<#NPC> Returns a table with all NPCs in the level. + +------------------------------------------------------------------------------- +-- Spawns a new NPC. +-- @function [parent=#NPC] spawn +-- @param #number npcID The id of the NPC, which should be spawned. +-- @param #number x The x position of the spawned NPC. +-- @param #number y The y position of the spawned NPC. +-- @param #number sectionNumber The section number (0-20) where the NPC belongs to. (Check coordinates).
Note that sectionNumber is from 0-20 (-> Section 1 would be Section 0) +-- @param #boolean respawn [OPTIONAL] If the npc should keep respawning. +-- @param #boolean centered [OPTIONAL] If the x, y coordinates represenets the center position of the NPC. +-- @return #NPC The spawned NPC-Object. This can be used to modify additional behaviour. + +------------------------------------------------------------------------------- +-- @function [parent=#NPC] kill +-- @param self +-- @param #number killAnimation [OPTIONAL] If the kill animation should be specific. (For example spin-jump kill)
Default value is 1. + +------------------------------------------------------------------------------- +-- The id of the NPC. +-- @field [parent=#NPC] #number id + +------------------------------------------------------------------------------- +-- The x coordinate of the NPC. +-- @field [parent=#NPC] #number x + +------------------------------------------------------------------------------- +-- The y coordinate of the NPC. +-- @field [parent=#NPC] #number y + +------------------------------------------------------------------------------- +-- The x-speed of the NPC. +-- @field [parent=#NPC] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the NPC. +-- @field [parent=#NPC] #number speedY + +------------------------------------------------------------------------------- +-- The direction of the NPC. +-- Setting the direction of a npc, resets the momentum of the npc. +-- You can modify the speedX value if you want to set your own momentum. +-- @field [parent=#NPC] #number direction + +------------------------------------------------------------------------------- +-- The message of the npc. +-- @field [parent=#NPC] VBStr#VBStr msg + +------------------------------------------------------------------------------- +-- [READONLY] The attached layer. +-- @field [parent=#NPC] VBStr#VBStr attachedLayerName + +------------------------------------------------------------------------------- +-- [READONLY] The event name of the activate-event. +-- @field [parent=#NPC] VBStr#VBStr activateEventName + +------------------------------------------------------------------------------- +-- [READONLY] The event name of the death-event. +-- @field [parent=#NPC] VBStr#VBStr deathEventName + +------------------------------------------------------------------------------- +-- [READONLY] The event name of the "No more objects in layer"-event. +-- @field [parent=#NPC] VBStr#VBStr noMoreObjInLayer + +------------------------------------------------------------------------------- +-- [READONLY] The event name of the talk-event. +-- @field [parent=#NPC] VBStr#VBStr talkEventName + +------------------------------------------------------------------------------- +-- [READONLY] The layer name of the npc. +-- @field [parent=#NPC] VBStr#VBStr layerName + +------------------------------------------------------------------------------- +-- [READONLY] The layer object of the npc. +-- @field [parent=#NPC] Layer#Layer layerObj + +------------------------------------------------------------------------------- +-- [READONLY] The attached layer object. +-- @field [parent=#NPC] Layer#Layer attachedLayerObj + +return nil diff --git a/luadoc/Player.doclua b/luadoc/Player.doclua new file mode 100644 index 000000000..72e4b443a --- /dev/null +++ b/luadoc/Player.doclua @@ -0,0 +1,82 @@ +------------------------------------------------------------------------------- +-- @module Player + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX Player struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myNPC:mem(0x16, FIELD_WORD, 3) +-- +-- Example of getting the value of a field with mem: +-- +-- local heartsOfPlayer = myNPC:mem(0x16, FIELD_WORD) +-- +-- @function [parent=#Player] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + + +------------------------------------------------------------------------------- +-- Kills the player. +-- @function [parent=#Player] kill +-- @param self + +------------------------------------------------------------------------------- +-- Harms the player. +-- If this is the player's last hp (either small or only one heart) then the player will be killed. +-- @function [parent=#Player] harm +-- @param self + +------------------------------------------------------------------------------- +-- The x coordinate of the Player. +-- @field [parent=#Player] #number x + +------------------------------------------------------------------------------- +-- The y coordinate of the Player. +-- @field [parent=#Player] #number y + +------------------------------------------------------------------------------- +-- The x-speed of the Player. +-- @field [parent=#Player] #number speedX + +------------------------------------------------------------------------------- +-- The y-speed of the Player. +-- @field [parent=#Player] #number speedY + +------------------------------------------------------------------------------- +-- Returns the distances from the player's coordinates to the screen boundaries of player camera. +-- Note that this means width is 'right' + 'left', and not 'right' - 'left', etc. +-- @field [parent=#Player] RECT#RECT screen + +------------------------------------------------------------------------------- +-- The current section number of the player. +-- @field [parent=#Player] #number section + +------------------------------------------------------------------------------- +-- The current section object of the player. +-- @field [parent=#Player] Section#Section sectionObj + +------------------------------------------------------------------------------- +-- The current powerup state the player is in. +-- @field [parent=#Player] #number powerup + + +------------------------------------------------------------------------------- +-- The npc-id in the powerup box of the player. +-- @field [parent=#Player] #number reservePowerup + +------------------------------------------------------------------------------- +-- The npc which the player is holding. +-- If the player holds nothing then nil is returned. +-- @field [parent=#Player] NPC#NPC holdingNPC + +------------------------------------------------------------------------------- +-- Checks if the player is acutally valid. +-- With this method you can check if a second player is in the level. +-- @field [parent=#Player] #boolean isValid + +return nil diff --git a/luadoc/RECT.doclua b/luadoc/RECT.doclua new file mode 100644 index 000000000..d956e35d7 --- /dev/null +++ b/luadoc/RECT.doclua @@ -0,0 +1,18 @@ +------------------------------------------------------------------------------- +-- @module RECT + +------------------------------------------------------------------------------- +-- @field [parent=#RECT] #number bottom + +------------------------------------------------------------------------------- +-- @field [parent=#RECT] #number left + +------------------------------------------------------------------------------- +-- @field [parent=#RECT] #number right + +------------------------------------------------------------------------------- +-- @field [parent=#RECT] #number top + + + +return nil diff --git a/luadoc/Text.doclua b/luadoc/Text.doclua new file mode 100644 index 000000000..c608da393 --- /dev/null +++ b/luadoc/Text.doclua @@ -0,0 +1,29 @@ +------------------------------------------------------------------------------- +-- This namespace provides functions for displaying Text and messages. +-- @module Text + +------------------------------------------------------------------------------- +-- Writes debugText in a message box and shows it to the user. +-- @function [parent=#Text] windowDebug +-- @param #string debugText The text which should be displayed on the MessageBox. + +------------------------------------------------------------------------------- +-- Prints text at x, y with font-type type +-- @function [parent=#Text] print +-- @param #string text The text which should be drawn. +-- @param #number type The text-style which should be draw. +-- @param #number x The x coordinate +-- @param #number y The y cooridnate + +------------------------------------------------------------------------------- +-- Displays a SMBX Message Box. +-- @function [parent=#Text] showMessageBox +-- @param #string text The text which should be displayed in the message box. + + + + + + + +return nil diff --git a/luadoc/VBStr.doclua b/luadoc/VBStr.doclua new file mode 100644 index 000000000..9b9966838 --- /dev/null +++ b/luadoc/VBStr.doclua @@ -0,0 +1,19 @@ +------------------------------------------------------------------------------- +-- This class contains a reference to a SMBX String. +-- The name "VB" comes from the orignal Development Enviroment "Visual Basic 6". +-- @module VBStr + +------------------------------------------------------------------------------- +-- @field [parent=#VBStr] #string str The stored string. + +------------------------------------------------------------------------------- +-- @field [parent=#VBStr] #number length The length of the string + +------------------------------------------------------------------------------- +-- @function [parent=#VBStr] clear +-- @param self + + + + +return nil diff --git a/luadoc/Warp.doclua b/luadoc/Warp.doclua new file mode 100644 index 000000000..efede70c1 --- /dev/null +++ b/luadoc/Warp.doclua @@ -0,0 +1,52 @@ +------------------------------------------------------------------------------- +-- @module Warp + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX Warp struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- myWarp:mem(0x7C, FIELD_WORD, 3) +-- +-- Example of getting the value of a field with mem: +-- +-- local warpNumber = myWarp:mem(0x7C, FIELD_WORD) +-- +-- @function [parent=#Player] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory offset will be set. +-- @return The value of the struct offset + +------------------------------------------------------------------------------- +-- Returns the amount of Warps in the level. +-- @function [parent=#Warp] count +-- @return #number The number of running Effects in the level. + +------------------------------------------------------------------------------- +-- Returns all Warps of the level. +-- @function [parent=#Warp] get +-- @return #list<#Warp> Returns a table with all Effects in the level. + +------------------------------------------------------------------------------- +-- The x cooridate of the entrance. +-- @field [parent=#Warp] #number entranceX + +------------------------------------------------------------------------------- +-- The y cooridate of the entrance. +-- @field [parent=#Warp] #number entranceY + +------------------------------------------------------------------------------- +-- The x cooridate of the exit. +-- @field [parent=#Warp] #number exitX + +------------------------------------------------------------------------------- +-- The y cooridate of the exit. +-- @field [parent=#Warp] #number exitY + +------------------------------------------------------------------------------- +-- The level filename of the warp. +-- @field [parent=#Warp] #string levelFilename + +return nil diff --git a/luadoc/World.doclua b/luadoc/World.doclua new file mode 100644 index 000000000..387d1a6d7 --- /dev/null +++ b/luadoc/World.doclua @@ -0,0 +1,84 @@ +------------------------------------------------------------------------------- +-- @module World + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory by the offset of the SMBX world struct. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- world:mem(0x64, FIELD_DOUBLE, 10) +-- +-- Example of getting the value of a field with mem: +-- +-- local playerPosX = world:mem(0x64, FIELD_DOUBLE) +-- +-- @function [parent=#global] mem +-- @param self +-- @param #number address The Memory offset of the struct to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory address will be set. +-- @return The value of the struct offset + + +------------------------------------------------------------------------------- +-- The x coordinate of the player on the world map. +-- @field [parent=#World] #number playerX + +------------------------------------------------------------------------------- +-- The y coordinate of the player on the world map. +-- @field [parent=#World] #number playerY + +------------------------------------------------------------------------------- +-- Gets/Sets the current walking direction. +-- Following walking direction values:
+-- 0 - Idle
+-- 1 - Walking Up
+-- 2 - Walking Left
+-- 3 - Walking Down
+-- 4 - Walking Right +-- @field [parent=#World] #number playerWalkingDirection + +------------------------------------------------------------------------------- +-- Gets/Sets the current walking timer. +-- This value will increment from 0 to 32 by 2 each frame. +-- It is an indicator if the player reached the tile. +-- If the value is 32 then the player reached the tile. +-- @field [parent=#World] #number playerWalkingTimer + +------------------------------------------------------------------------------- +-- Gets/Sets the current walking frame. +-- Following frame values:
+-- 0 or 1 - Walking Frames Down
+-- 2 or 3 - Walking Frames Right
+-- 4 or 5 - Walking Frames Left
+-- 6 or 7 - Walking Frames Up +-- @field [parent=#World] #number playerWalkingFrame + +------------------------------------------------------------------------------- +-- Gets/Sets the current walking frame timer. +-- This value will increment from 0 to 8 by 1 each frame. +-- If the value is 8 then the playerWalkingFrame is swapped.
+-- For example: If walking down and the value is 0 then the value will be chaged to 1. +-- @field [parent=#World] #number playerWalkingFrameTimer + +------------------------------------------------------------------------------- +-- If the player is currently walking/moving the this field is set to true. Otherwise the field is set to false +-- @field [parent=#World] #boolean playerIsCurrentWalking + +------------------------------------------------------------------------------- +-- If the player stands under a level the level title will be returned. Otherwise nil is returned. +-- @field [parent=#World] VBStr#VBStr levelTitle + +------------------------------------------------------------------------------- +-- Similar to world.playerWalkingDirection but does return the direction values even if the player is not walking. +-- Following walking direction values:
+-- 1 - Looking Up
+-- 2 - Looking Left
+-- 3 - Looking Down
+-- 4 - Looking Right
+-- @field [parent=#World] #number playerCurrentDirection + + + + +return nil diff --git a/luadoc/global.doclua b/luadoc/global.doclua new file mode 100644 index 000000000..832a0423c --- /dev/null +++ b/luadoc/global.doclua @@ -0,0 +1,168 @@ +------------------------------------------------------------------------------- +-- @module global + + +-- Values: + + + +-- TODO Hardcoded funcs/fields +-- -- Fields + +------------------------------------------------------------------------------- +-- + +-- -- Functions + +------------------------------------------------------------------------------- +-- Creates a new RECT-struct. This class can hold integer values for left, right, bottom and top. +-- @function [parent=#global] newRECT +-- @return RECT#RECT A new RECT-Struct + +------------------------------------------------------------------------------- +--Creates a new RECT-struct. This class can hold double values for left, right, bottom and top. +-- @function [parent=#global] newRECTd +-- @return RECT#RECT A new RECTd-Struct + + + +-- Hardcoded namespaces + +------------------------------------------------------------------------------- +-- This namespace contains text functions for SMBX. +-- @field[parent = #global] Text#Text Text + +------------------------------------------------------------------------------- +-- This namespace contains level functions for SMBX. [Level only] +-- @field[parent = #global] Level#Level Level + +------------------------------------------------------------------------------- +-- This namespace contains misc. functions for SMBX. +-- @field[parent = #global] Misc#Misc Misc + +------------------------------------------------------------------------------- +-- This namespace contains graphics functions for SMBX. +-- @field[parent = #global] Graphics#Graphics Graphics + +-- Hardcoded classes +-- -- SMBX Classes + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX Block. +-- @field[parent = #global] Block#Block Block + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX BGO. +-- @field[parent = #global] BGO#BGO BGO + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX NPC. +-- @field[parent = #global] NPC#NPC NPC + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX Effects. +-- @field[parent = #global] Animation#Animation Animation + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX Layer. +-- @field[parent = #global] Layer#Layer Layer + +------------------------------------------------------------------------------- +-- This is the class for interacting with the SMBX Warp. +-- @field[parent = #global] Warp#Warp Warp + +------------------------------------------------------------------------------- +-- This is a pre-defined field for the player. +-- @field [parent=#global] Player#Player player + +------------------------------------------------------------------------------- +-- This is a pre-defined field for the overworld. +-- @field [parent=#global] World#World world + + + +------------------------------------------------------------------------------- +-- This is a pre-defined field for the second player. +-- Please note that this field is not set in single player. + + +-- -- Misc Classes + +------------------------------------------------------------------------------- +-- With this class you can share Data between levels, worlds and even episodes. +-- @field [parent=#global] Data#Data Data + + + + + +-- Hardcoded funcs + +------------------------------------------------------------------------------- +-- Gets or sets a value of the SMBX Memory. +-- If you write the third parameter, then you will set the value.
+-- Example of setting a field with mem: +-- +-- mem(0x00B2C5AC, FIELD_WORD, 10) +-- +-- Example of getting the value of a field with mem: +-- +-- local lifes = mem(0x00B2C5AC, FIELD_WORD) +-- +-- @function [parent=#global] mem +-- @param #number address The Address of the value to fetch or set. +-- @param #number fieldtype The field type of the value. +-- @param value If this value is passed, then the value of this memory address will be set. +-- @return The value of the address + + + + + + +-- Softcoded funcs/fields + +------------------------------------------------------------------------------- +-- Register an event. ONLY FOR API MODULES +-- @function [parent=#global] registerEvent +-- @param #table apiTable The api table itself, where the event will be executed. +-- @param #string event The event to be hooked to. +-- @param #string eventHandler The function name which should be called. Default value is the event name. +-- @param #boolean beforeMainCall True, if the event should be called before the main calls. Default value is true. + +------------------------------------------------------------------------------- +-- Unregister an event. ONLY FOR API MODULES +-- @function [parent=#global] unregisterEvent +-- @param #table apiTable The api table itself, where the event is executed. +-- @param #string event The eventname of the hooked function. +-- @param #string eventHandler The function name which is called. Default value is the event name. + +------------------------------------------------------------------------------- +-- Loads the given API. +-- +-- Following paths will be checked for an API: +-- +-- @function [parent=#global] loadAPI +-- @param #string apiName The API Name +-- @return #table The loaded API-table + +------------------------------------------------------------------------------- +-- Loads the given API shared. +-- If the API is already loaded, then the already loaded copy of the API will be returned. +-- +-- Following paths will be checked for an API: +-- +-- @function [parent=#global] loadSharedAPI +-- @param #string apiName The API Name +-- @return #table The loaded API-table + + +return nil