Skip to content
Mtax edited this page Mar 27, 2025 · 10 revisions

GameMaker Language Object Overlay Project

Welcome to the GML-OOP Wiki! Here, you can find the 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
Home ● Preface ● Overview
Examples ● Contributing
Ignored Directories List

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