Skip to content

Releases: Lactozilla/HatchGameEngine

Version 1.2.2

26 Mar 00:04
Compare
Choose a tag to compare
  • Fixed Directory::GetFiles on Windows
  • Prevent crashes in situations where resources have been disposed of

Version 1.2.1

25 Mar 03:50
Compare
Choose a tag to compare
  • Fixed Matrix4x4::IdentityRotationXYZ not giving correct results
  • Fixed possible crash in OGG::Load

Version 1.2

24 Mar 21:26
Compare
Choose a tag to compare

General

Environment:

  • Updated C++ version to C++17
  • Added libraries Clipper2 and poly2tri

Added:

  • Added optional arguments
  • Added ability to perform element-access on strings (i.e. string[2] = string[1])
  • Added ability to change the palette index of a tileset (see Scene.SetTilesetPaletteIndex and Scene.GetTilesetPaletteIndex)
  • Added ability to change the transparent color when rendering a palette-based sprite, image or tileset (see Palette.GetColorTransparent and Palette.SetColorTransparent)
  • Added classes:
    • Draw3D
    • Geometry
    • Image
    • SceneList
  • Added experimental Hatch model format HMDL

Fixed:

  • Fixed issue with array iterators

Changed:

  • Layers no longer repeat by default. Use Scene.SetLayerHorizontalRepeat and Scene.SetLayerVerticalRepeat to toggle layer repeat.
  • The global palette index table is now disabled by default. To enable it, use Palette.UsePaletteIndexLines. To enable or disable it per-layer, use Scene.SetLayerUsePaletteIndexLines.
  • Improved MD3 (Quake III) model support

Deprecated:

See "Changes to standard library".

Removed:

See "Changes to standard library".

Changes to standard library

List of all changes made to the standard library.

Added:

  • Added classes:
    • Draw3D
      • Draw3D.BindVertexBuffer
      • Draw3D.UnbindVertexBuffer
      • Draw3D.BindScene
      • Draw3D.Model
      • Draw3D.ModelSkinned
      • Draw3D.ModelSimple
      • Draw3D.Triangle
      • Draw3D.Quad
      • Draw3D.Sprite
      • Draw3D.SpritePart
      • Draw3D.Image
      • Draw3D.ImagePart
      • Draw3D.Tile
      • Draw3D.TriangleTextured
      • Draw3D.QuadTextured
      • Draw3D.SpritePoints
      • Draw3D.TilePoints
      • Draw3D.SceneLayer
      • Draw3D.SceneLayerPart
      • Draw3D.VertexBuffer
      • Draw3D.RenderScene
    • Geometry
      • Geometry.Triangulate
      • Geometry.Intersect
      • Geometry.IsPointInsidePolygon
      • Geometry.IsLineIntersectingPolygon
    • Image
      • Image.GetWidth
      • Image.GetHeight
    • SceneList
      • SceneList.Get
      • SceneList.GetEntryID
      • SceneList.GetCategoryID
      • SceneList.GetEntryName
      • SceneList.GetCategoryName
      • SceneList.GetEntryProperty
      • SceneList.GetCategoryProperty
      • SceneList.HasEntryProperty
      • SceneList.HasCategoryProperty
      • SceneList.GetCategoryCount
      • SceneList.GetSceneCount
  • Added functions:
    • Array.Reverse
    • Array.Sort
    • Controller.IsButtonHeld
    • Controller.IsButtonPressed
    • Draw.Quad
    • Draw.TriangleTextured
    • Draw.QuadTextured
    • Palette.GetColorTransparent
    • Palette.SetColorTransparent
    • Palette.UsePaletteIndexLines
    • Scene.GetLayerUsePaletteIndexLines
    • Scene.GetLayerHorizontalRepeat
    • Scene.GetLayerVerticalRepeat
    • Scene.GetTilesetPaletteIndex
    • Scene.SetTilesetPaletteIndex
    • Scene.SetLayerHorizontalRepeat
    • Scene.SetLayerVerticalRepeat
    • Scene.SetLayerUsePaletteIndexLines
    • instance.GetIDWithinClass
  • Added parameters:
    • Added paletteID parameter to Draw.Sprite
    • Added paletteID parameter to Draw.SpritePart
  • Added fields:
    • instance.HitboxLeft
    • instance.HitboxTop
    • instance.HitboxRight
    • instance.HitboxBottom
  • Added enums:
    • GeoBooleanOp_*
      • GeoBooleanOp_Intersection
      • GeoBooleanOp_Union
      • GeoBooleanOp_Difference
      • GeoBooleanOp_ExclusiveOr
    • GeoFillRule_*
      • GeoFillRule_EvenOdd
      • GeoFillRule_NonZero
      • GeoFillRule_Positive
      • GeoFillRule_Negative
    • HitboxSide_*
      • HitboxSide_LEFT
      • HitboxSide_TOP
      • HitboxSide_RIGHT
      • HitboxSide_BOTTOM
    • TimeOfDay_*
      • TimeOfDay_MORNING
      • TimeOfDay_MIDDAY
      • TimeOfDay_EVENING
      • TimeOfDay_NIGHT
    • Weekday_*
      • Weekday_SUNDAY
      • Weekday_MONDAY
      • Weekday_TUESDAY
      • Weekday_WEDNESDAY
      • Weekday_THURSDAY
      • Weekday_FRIDAY
      • Weekday_SATURDAY

Renamed:

  • Renamed functions:
    • Draw.BindVertexBuffer -> Draw3D.BindVertexBuffer
    • Draw.UnbindVertexBuffer -> Draw3D.UnbindVertexBuffer
    • Draw.BindScene3D -> Draw3D.BindScene
    • Draw.Model -> Draw3D.Model
    • Draw.ModelSkinned -> Draw3D.ModelSkinned
    • Draw.ModelSimple -> Draw3D.ModelSimple
    • Draw.Triangle3D -> Draw3D.Triangle
    • Draw.Quad3D -> Draw3D.Quad
    • Draw.Sprite3D -> Draw3D.Sprite
    • Draw.SpritePart3D -> Draw3D.SpritePart
    • Draw.Image3D -> Draw3D.Image
    • Draw.ImagePart3D -> Draw3D.ImagePart
    • Draw.Tile3D -> Draw3D.Tile
    • Draw.TriangleTextured -> Draw3D.TriangleTextured
    • Draw.QuadTextured -> Draw3D.QuadTextured
    • Draw.SpritePoints -> Draw3D.SpritePoints
    • Draw.TilePoints -> Draw3D.TilePoints
    • Draw.SceneLayer3D -> Draw3D.SceneLayer
    • Draw.SceneLayerPart3D -> Draw3D.SceneLayerPart
    • Draw.VertexBuffer -> Draw3D.VertexBuffer
    • Draw.RenderScene3D -> Draw3D.RenderScene

Deprecated:

  • Deprecated functions:
    • Controller.GetButton: use Controller.IsButtonHeld instead
    • Controller.SetLargeMotorFrequency: use Controller.Rumble instead
    • Controller.SetSmallMotorFrequency: use Controller.Rumble instead
    • Model.GetFrameCount: use Model.GetAnimationLength instead
    • Scene.GetListPos
    • Scene.GetCategoryCount: use SceneList.GetCategoryCount instead
    • Scene.GetStageCount: use SceneList.GetSceneCount instead
    • Scene.CheckValidScene
    • Scene.CheckSceneFolder
    • Scene.CheckSceneID
    • Scene.SetListPos
    • Scene.SetActiveCategory
    • Scene.SetScene

Removed:

  • Removed functions:
    • Draw.InitArrayBuffer
    • Draw.SetArrayBufferDrawMode
    • Draw.SetProjectionMatrix
    • Draw.SetViewMatrix
    • Draw.SetAmbientLighting
    • Draw.SetDiffuseLighting
    • Draw.SetSpecularLighting
    • Draw.SetFogDensity
    • Draw.SetFogColor
    • Draw.SetClipPolygons
    • Draw.SetPointSize
    • Draw.BindArrayBuffer
    • Draw.RenderArrayBuffer
    • Input.GetControllerCount
    • Input.GetControllerAttached
    • Input.GetControllerHat
    • Input.GetControllerAxis
    • Input.GetControllerButton
    • Input.GetControllerName
    • Scene.GetTileSize

Full Changelog: v1.1...v1.2

Version 1.1

15 Dec 02:05
Compare
Choose a tag to compare
v1.1

Fix Application::MakeEngineVersion

Version 1.0

14 Dec 20:40
Compare
Choose a tag to compare
v1.0

Update documentation