Skip to content

CometEngine_2.2

Choose a tag to compare

@OriolCS2 OriolCS2 released this 09 May 19:22
· 3 commits to main since this release
8cd3383

[2.2] - 2026-05-09

Added

  • Added cntrl+c and cntrl+v at PanelSpriteEditor to copy and paste the sprite rect while editing the sprites of a texture.
  • Added support to set Antigravity as the default code editor.
  • Updated the inspector's array display to support item reordering.
  • PanelAnimationTimeline accepts the shortcut Supr to delete the selected keyframe.
  • CometEngine::Json::JsonObject has now more methods to save/load more object types such as Vector2i, Vector3i, Color...
  • PanelGraphEditor now has utility options at its menu bar and also shows the name of the current opened graph.
  • New CometEngine::Compression namespace methods and enums:
    • Format enum: ZLIB, GZIP.
    • Level enum: DEFAULT, BEST_SPEED, BALANCED, BEST_COMPRESSION.
    • string Compress(string, format, level): Compresses a string using the specified format and level.
    • string Decompress(string, format): Decompresses a string using the specified format.
    • string ToBase64(string): Encodes a string to Base64.
    • string FromBase64(string): Decodes a Base64 encoded string.
  • New CometEngine::Encryption namespace methods:
    • string Encrypt(string, password): Encrypts a string using a password (AES-256-CBC). Returns a Base64 encoded string.
    • string Decrypt(string, password): Decrypts a Base64 encoded string using a password.
  • New CometEngine::FileSystem namespace methods exposed to AngelScript:
    • string GetFileName(path): Returns the file name without extension.
    • string GetFileExtension(path): Returns the extension including the dot (e.g. .png).
    • string GetFileExtensionWithoutDot(path): Returns the extension without the dot (e.g. png).
    • string GetFileNameWithExtension(path): Returns the file name including its extension.
    • string GetFileFolderName(path): Returns the name of the immediate parent folder.
    • string GetFileFolder(path): Returns the full folder path without the file name.
    • string GetPathWithoutExtension(path): Returns the full path without the file extension.
    • bool PathContainsFolder(path, folder): Checks whether the path contains the specified folder name.
    • string GetPathWithoutAssetsNorExtension(path): Strips the Assets/ prefix and the extension from a path.
    • uint64 GetFileSize(path): Returns the size in bytes of a file.
    • string NormalizePath(path): Returns a copy of the path with backslashes converted to forward slashes.
    • string DesNormalizePath(path): Returns a copy of the path with forward slashes converted to backslashes.
    • bool IsDirectoryEmpty(path): Returns true if the directory exists and contains no entries.
  • CometEditor::AssetDataBase new methods:
    • SetClean(Resource/SubResource): Usuful to save the changes applied when SetDirty was called before.
    • Highlight(Resource/SubResource): Shows the given Resource/SubResource at the PanelProject.
    • Load(path, type): Loads a resource from the Assets/ directory.
    • LoadAll(path, type, recursive): Loads all resources of a specific type in a directory.
    • LoadEntity(path): Loads a prefab and returns its root Entity.
    • LoadAllEntities(path, recursive): Loads all prefabs in a directory.
    • Unload(Resource/Entity): Decrements the reference count of the given resource or prefab.
    • UnloadAll(array<Resource/Entity>): Batch unloads resources or entities.
    • Create(path, type, highlight, focusRename): Creates a new resource asset at the given path (relative to Assets/, without extension). Supported types: Material, PhysicMaterial, SpriteAtlas, Animation, AnimatorController, AnimatorControllerOverride, AudioMixer and Shader. Returns the created Resource or null on failure.
    • AddCometObject(CometObject): Wraps an existing CometObject instance into the editor.
    • Destroy(Resource, askUser): Deletes a resource asset. If askUser is true, shows a confirmation popup; otherwise schedules deletion for the next frame.
    • Destroy(SubResource, askUser): Deletes a sub-resource. If askUser is true, shows a confirmation popup; otherwise schedules deletion for the next frame.
    • Destroy(array<Resource>, askUser): Deletes an array of resource assets. If askUser is true, shows a confirmation popup; otherwise schedules deletion for the next frame.
    • Destroy(array<SubResource>, askUser): Deletes an array of sub-resources. If askUser is true, shows a confirmation popup; otherwise schedules deletion for the next frame.
  • CometEditor::GUI new functionalities:
    • Selectable: Size can be modified.
    • Tooltip: Allows personalizing it with flags.
    • SparatorText(string): Adds a separator line with a text at the middle.
    • float GetStyleVarFloat(StyleVar): Gets var as float.
    • Vector2 GetStyleVarVector(StyleVar): Gets var as Vector2.
    • Color GetStyleColor(Col): Get the color of a specified type.

Fixed

  • Fixed a crash that occurred when a collision or trigger callback was performed on an Entity with a missing script.
  • Rendering issue where tiles were losing pixels or appear distorted at low resolutions.
  • Editing a capsule collider was incorrectly moving all handles simultaneously. Now, only the selected handle is moved.
  • Fixed an issue where the Advanced Settings fields for renderers were not visible when inspecting an InstanciableEntity asset.
  • Fixed animations never ending when they had just 1 frame.
  • Editing manually the properties of a sprite at the PanelSpriteEditor was sometimes creating new sprites.
  • Generating a SpriteAtlas was filling empty spaces with uninitialized data.
  • Fixed an issue where closing the editor while a popup was active prevented assets from being saved.
  • Button "+" and "-" of the SpriteAtlas works again.
  • Improved variable name formatting to correctly remove the "m" prefix. For example, "mMyVariable" is now transformed into "My Variable" instead of "M My Variable".
  • Moving a behaviour index of a non InstanciableEntity triggers a wrong error popup.