Skip to content
Mtax edited this page Jun 2, 2024 · 7 revisions

GameMaker Language Object Overlay Project

Welcome to the GML-OOP Wiki! Here you can find the updated documentation of the project and usage guides.
Please use the sidebar to navigate through the available information.


The purpose of this project

GML-OOP is a free open-source library created in GameMaker Language aiming to use the features introduced in its 2.3 version to integrate the concepts of object-oriented programming into the main features of GameMaker. It is a set of constructors overlaying over the primary functionalities of the engine, each of them referring to their own piece of data. Their functionality is accessed primarily through the methods of that constructor, fundamentally altering the architecture of the written code. This project uses this as an opportunity to further improve and expand their features, while making their usage significantly more intuitive.

This Wiki contains the documentation for each constructor and general information about the project, including examples and overview illustrating the workflow based on GML-OOP.


The current state of this project

This project is considered stable and its releases are fully Unit Tested to ensure their quality. Long-term maintenance is the current development priority.

Contents

Constructors
Container
Angle
Management
isFunctional()
Getters
equals()
difference()
Setters
set()
modify()
Conversion
toString()
Color2
Management
isFunctional()
Setters
reverse()
set()
setAll()
Conversion
toString()
toArray()
Color3
Management
isFunctional()
Setters
reverse()
set()
setAll()
Conversion
toString()
toArray()
Color4
Management
isFunctional()
Setters
reverse()
set()
setAll()
Conversion
toString()
toArray()
split()
DateTime
Management
isFunctional()
Getters
compareDateTime()
compareDate()
compareTime()
spanOfYears()
spanOfMonths()
spanOfWeeks()
spanOfDays()
spanOfHours()
spanOfMinutes()
spanOfSeconds()
getDate()
getTime()
getDaysInYear()
getDaysInMonth()
getWeekOfYear()
getDayOfYear()
getHourOfYear()
getMinuteOfYear()
getSecondOfYear()
getWeekday()
isToday()
isLeapYear()
Setters
modify()
modifyYears()
modifyMonths()
modifyWeeks()
modifyDays()
modifyHours()
modifyMinutes()
modifySeconds()
setCurrent()
setDateTime()
Conversion
toString()
toStringDate()
toStringTime()
toArray()
toArrayDate()
toArrayTime()
Range
Management
isFunctional()
Getters
clampTo()
interpolate()
percent()
randomReal()
randomInt()
getMiddle()
isBetween()
isBoundary()
Conversion
toString()
toArray()
RangedValue
Management
isFunctional()
Getters
equals()
percent()
isBoundary()
isMinimum()
isMaximum()
Setters
modify()
modifyWrap()
modifyBounce()
interpolate()
set()
setMinimum()
setMaximum()
setOriginal()
setMiddle()
Conversion
toString()
Scale
Management
isFunctional()
Getters
contains()
equals()
getMinimum()
getMaximum()
Setters
approach()
grow()
shrink()
mirror()
mirrorX()
mirrorY()
setAll()
setAll()
Conversion
toString()
toArray()
TextAlign
Management
isFunctional()
Setters
mirror()
mirrorX()
mirrorY()
setXLeft()
setXCenter()
setXRight()
setYTop()
setYMiddle()
setYBottom()
Execution
setActive()
Conversion
toString()
toArray()
Vector2
Management
isFunctional()
Getters
contains()
equals()
sum()
difference()
product()
quotient()
dotProduct()
getAngle()
getDistance()
getMinimum()
getMaximum()
getMagnitude()
getNormalized()
getSign()
Setters
add()
substract()
multiply()
divide()
approach()
grow()
shrink()
clampTo()
flip()
mirror()
set()
setAll()
setFloor()
setRound()
setCeil()
setCursor()
Conversion
toString()
toArray()
Vector4
Management
isFunctional()
Getters
contains()
equals()
sum()
difference()
product()
quotient()
dotProduct()
interpolate()
percent()
getAngle()
getDistance()
getClosest()
getMinimum()
getMaximum()
getMiddle()
getMagnitude()
getNormalized()
getSign()
isBetween()
Setters
add()
substract()
multiply()
divide()
approach()
clampTo()
grow()
shrink()
flip()
mirror()
mirrorX()
mirrorY()
sort()
set()
setAll()
setFloor()
setRound()
setCeil()
setCursor()
Conversion
toString()
toArray()
split()
combine()
Data Structure
Grid
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
containsRegion()
containsDisk()
count()
getValue()
getCellNumber()
getRow()
getColumn()
getMinimum()
getMinimumDisk()
getMaximum()
getMaximumDisk()
getMean()
getMeanDisk()
getSum()
getSumDisk()
getValueLocation()
getValueLocationDisk()
Setters
setSize()
Execution
forEach()
set()
setRegion()
setDisk()
setRegionCopied()
add()
addRegion()
addDisk()
addRegionCopied()
multiply()
multiplyRegion()
multiplyDisk()
multiplyRegionCopied()
mirrorX()
mirrorY()
transpose()
sort()
shuffle()
Conversion
toString()
toArray()
fromArray()
toEncodedString()
fromEncodedString()
List
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
count()
getValue()
getFirst()
getLast()
getFirstPosition()
getPositions()
getSize()
isEmpty()
Execution
forEach()
add()
set()
replace()
removePosition()
removeValue()
insert()
sort()
shuffle()
Conversion
toString()
toArray()
fromArray()
toEncodedString()
fromEncodedString()
Map
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
count()
getValue()
getAllValues()
getAllKeys()
getFirst()
getLast()
getPrevious()
getNext()
keyExists()
valueIsBoundList()
valueIsBoundMap()
getSize()
isEmpty()
Execution
forEach()
add()
addBoundList()
addBoundMap()
set()
replace()
remove()
Conversion
toString()
toArray()
fromArray()
toStruct()
fromStruct()
toEncodedString()
fromEncodedString()
secureToFile()
secureFromFile()
secureFromBuffer()
PriorityQueue
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
count()
getFirst()
getLast()
getPriority()
getSize()
isEmpty()
Execution
forEach()
add()
setPriority()
remove()
removeFirst()
removeLast()
Conversion
toString()
toArray()
fromArray()
toEncodedString()
fromEncodedString()
Queue
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
count()
getFirst()
getLast()
getSize()
isEmpty()
Execution
forEach()
add()
remove()
Conversion
toString()
toArray()
fromArray()
toEncodedString()
fromEncodedString()
Stack
Management
isFunctional()
destroy()
clear()
copy()
Getters
contains()
count()
getFirst()
getLast()
getSize()
isEmpty()
Execution
forEach()
add()
remove()
Conversion
toString()
toArray()
fromArray()
toEncodedString()
fromEncodedString()
Debug
ErrorReport
Management
isFunctional()
Execution
report()
Conversion
toString()

ErrorReport.ReportData
Management
isFunctional()
Getters
equals()
formatLocation()
formatDetail()
formatCallstack()
formatTime()
Conversion
toString()
Handler
ArrayParser
Management
isFunctional()
setParser()
create()
clear()
copy()
merge()
Getters
contains()
containsAll()
containsCondition()
equals()
getValue()
getUniqueValues()
getSharedValues()
getFirst()
getLast()
getFirstPosition()
getLastPosition()
getPositions()
getPositionsCondition()
getReduction()
getColumn()
getSize()
isEmpty()
Setters
setSize()
Execution
forEach()
add()
set()
insert()
removePosition()
removeValue()
sort()
Conversion
toString()
SpriteRenderer
Management
isFunctional()
Execution
render()
Conversion
toString()
toArray()
StringParser
Management
isFunctional()
setParser()
Getters
contains()
containsAll()
startsWith()
endsWith()
charEquals()
charIsWhitespace()
split()
getFirst()
getLast()
getBetween()
getByte()
getByteLength()
getChar()
getOrd()
getPart()
getSubstringCount()
getLetters()
getDigits()
getLettersAndDigits()
getSubstringPosition()
getSize()
getPixelSize()
Setters
remove()
formatNumber()
insert()
duplicate()
replace()
reverse()
trim()
setByte()
setLowercase()
setUppercase()
Execution
forEach()
displayOutput()
displayMessageBox()
Conversion
toString()
toNumber()
toArray()
fromArray()
SurfaceRenderer
Management
isFunctional()
Execution
render()
Conversion
toString()
TextRenderer
Management
isFunctional()
Getters
getBoundaryOffset()
Execution
render()
Conversion
toString()
Resource
Buffer
Management
isFunctional()
destroy()
copy()
Getters
getSeekPosition()
getType()
getAlignment()
getPointer()
getSize()
Setters
setSeekPosition()
Execution
write()
fill()
read()
compress()
decompress()
getValue()
Conversion
toString()
toHashMD5()
toHashSHA1()
toHashCRC32()
toEncodedString()
fromEncodedString()
secureFromMap()
fromSurface()
toFile()
fromFile()
fromFilePart()
Font
Management
isFunctional()
destroy()
Getters
getTexture()
getTexel()
getUV()
isActive()
Execution
setActive()
Conversion
toString()
Layer
Management
isFunctional()
destroy()
Getters
hasInstance()
getElements()
Setters
setLocation()
setSpeed()
setVisible()
setDepth()
setShader()
setFunctionDrawBegin()
setFunctionDrawEnd()
Execution
createBackground()
createInstance()
createTilemap()
createSprite()
createParticleSystem()
destroyInstance()
setInstancePause()
Conversion
toString()

Layer.SpriteElement
Management
isFunctional()
changeParent()
destroy()
Setters
setSprite()
setScale()
setColor()
setAlpha()
setFrame()
setSpeed()
Conversion
toString()
Layer.BackgroundElement
Management
isFunctional()
changeParent()
destroy()
Setters
setSprite()
setScale()
setColor()
setAlpha()
setFrame()
setSpeed()
setStretch()
setTiled()
setVisible()
Conversion
toString()
Layer.TilemapElement
Management
isFunctional()
destroy()
clear()
changeParent()
Getters
getFrame()
getMask()
getTileInCell()
getTileAtPoint()
getCellAtPoint()
Setters
setMask()
setTileset()
setSize()
Execution
render()
setTileInCell()
setTileAtPoint()
Conversion
toString()

Layer.TilemapElement.TileData
Management
isFunctional()
clear()
Getters
getTilesetIndex()
isEmpty()
isMirroredX()
isMirroredY()
isRotated()
Setters
setTilesetIndex()
setMirrorX()
setMirrorY()
setRotate()
Execution
render()
Conversion
toString()
Layer.ParticleSystem
Management
isFunctional()
destroy()
clear()
changeParent()
Getters
getParticleCount()
Setters
setLocation()
setDrawOrder()
setAutomaticUpdate()
setAutomaticRender()
Execution
createEmitter()
render()
update()
Conversion
toString()

Layer.ParticleSystem.ParticleEmitter
Management
isFunctional()
destroy()
clear()
Setters
setRegion()
setStreamEnabled()
setStreamCount()
Execution
burst()
stream()
Conversion
toString()
ParticleType
Management
isFunctional()
destroy()
clear()
Setters
setShape()
setSprite()
setScale()
setSize()
setSpeed()
setDirection()
setAngle()
setGravity()
setLife()
setColor()
setColorMix()
setColorRGB()
setColorHSV()
setBlend()
setAlpha()
setStep()
setDeath()
Execution
create()
createShape()
Conversion
toString()
Room
Management
isFunctional()
copy()
Getters
isActive()
Setters
setSize()
setPersistent()
Execution
createInstance()
setActive()
Conversion
toString()

Room.AddedInstance
Management
isFunctional()
Conversion
toString()
Shader
Management
isFunctional()
Getters
getSampler()
isActive()
Setters
setUniformFloat()
setUniformInt()
setUniformMatrix()
updateUniforms()
Execution
setActive()
Conversion
toString()
Sprite
Management
isFunctional()
destroy()
replace()
merge()
Getters
getNineslice()
getTexture()
getTexel()
getUV()
Setters
setNineslice()
setOrigin()
setSpeed()
setCollisionMask()
Execution
render()
renderTiled()
renderPerspective()
load()
generateAlphaMap()
Conversion
toString()
toFile()
Surface
Management
isFunctional()
create()
destroy()
clear()
copy()
Getters
getPixel()
getTexture()
getTexel()
isActive()
Setters
setSize()
Execution
render()
renderTiled()
setActive()
Conversion
toString()
toFile()
fromBuffer()
Shape
Arrow
Management
isFunctional()
Execution
render()
Conversion
toString()
Circle
Management
isFunctional()
Getters
collision()
containsPoint()
cursorOver()
cursorHold()
cursorPressed()
cursorReleased()
Execution
render()
Conversion
toString()
Ellipse
Management
isFunctional()
Getters
collision()
Execution
render()
Conversion
toString()
Line
Management
isFunctional()
Getters
collision()
Execution
render()
__createPixelSprite()
Conversion
toString()
Point
Management
isFunctional()
Getters
collision()
cursorOver()
cursorHold()
cursorPressed()
cursorReleased()
Execution
render()
__createPixelSprite()
Conversion
toString()
Rectangle
Management
isFunctional()
Getters
collision()
containsPoint()
cursorOver()
cursorHold()
cursorPressed()
cursorReleased()
Execution
render()
__createPixelSprite()
Conversion
toString()
RoundRectangle
Management
isFunctional()
Getters
collision()
containsPoint()
cursorOver()
cursorHold()
cursorPressed()
cursorReleased()
Execution
render()
Conversion
toString()
Triangle
Management
isFunctional()
Getters
containsPoint()
cursorOver()
cursorHold()
cursorPressed()
cursorReleased()
Execution
render()
Conversion
toString()
Clone this wiki locally