Chores:
- Build presets updated: unity build enabled by default, macOS debug explicitly disables it.
- Build performance and config tweaks: skip precompiled headers for one renderer file when not using unity builds; protobuf generation now includes explicit dependencies; switch to imported zlib target; Windows 64-bit executable now gets a -x64 suffix and a build-specific compile define; entry point selection now driven at compile time.
Bug Fixes:
- Removed an unnecessary protobuf shutdown call after loading appearance data.
New Features:
- Added a modern OpenGL renderer with batched 2D drawing, textured bitmap text, stippled lines, polygons and a baked font atlas.
Refactor:
- App-wide rendering switched to the new renderer.
- Map and lighting now draw via renderer primitives and sprite lookups use stable sprite IDs.
Bug Fixes:
- Improved texture allocation/invalidation/cleanup and sprite bounds safety.
- Restored/normalized keyboard shortcut behavior (Q/B remap, SHOW_NPCS → Shift+N, Linux shortcut dispatch).
Chores:
- Replaced legacy GLUT with a GL loader and integrated stb.
- Updated build configuration and project files.
New Features:
- Load monsters and NPCs from configurable Lua folders; shows warnings/errors for empty or problematic files and prompts to set folders when missing. Missing-creature dialogs and progress labels updated (“Loading monsters ...”, “Loading NPCs ...”, “Missing Monsters”, “Missing NPCs”).
- Preferences page adds directory pickers for Monsters/NPCs Lua folders; values are saved and applied.
- Brush list and palettes display creature sprites for loaded monsters/NPCs.
Chores:
- Added lightweight Lua parsing helpers to support importing outfits and surface warnings for malformed files.
This commit adds the full Lua scripting API and integrates the Script Manager into the application.
It builds on top of the scripting engine introduced in #158, exposing all the API modules that Lua scripts can use and making everything accessible from the UI.
Changes:
- Added all Lua API modules: map, tile, item, brush, image, position, selection, creature, color, app, dialog, noise, algo, geo, json, http.
- Added map overlay system for scripts to draw on the map view.
- Added event system, context menu registration, persistent storage, and transaction support with undo/redo.
- Added support for package scripts (directory with manifest.lua) and script metadata tags.
- Added Scripts menu to the menubar with per-script execution and reload.
- Connected the Script Manager window to the UI.
- Added missing build dependencies and fixed MSVC compilation errors.
Notes:
- Build dependencies were added for HTTP and noise generation support.
- Some code was adjusted to compile correctly on MSVC.
New Features:
• Lua scripting support: embed and run user scripts.
• Automatic discovery and execution of scripts from a designated scripts directory.
• Included a sample "Hello World" script.
Improvements:
• Sandboxed execution and safety restrictions for scripts.
• Graceful initialization with error logging if scripting fails, and clean shutdown on exit.
• Build/system integration updated to ensure Lua and Sol2 are available.
feat: migrate Remeres to 12.x assets system and modernized item handling
• Migrated old Remeres .dat/.spr system to new 12.x client /assets/ appearance & sprite format
• Removed OTB dependency and outdated client version structures
• Integrated Protobuf-based sprite reader (credit: @nekiro)
• Major refactor on graphics.cpp structure and brush icon handling
• Updated brushes and tags system
• Fixed top order drawing bugs and missing brushes icons
• Fixed outfit color paint and correct offset handling for non-32x32 sprites
• Re-enabled map saving and loading
• Improved creature sprite rendering and brush previews
• Added new item properties window with toggle for legacy/new layout
Co-authored-by: Marcos <66353315+marcosvf132@users.noreply.github.com>
Co-authored-by: Pedro Henrique Alves Cruz <phac@cin.ufpe.br>
* Show indicators for pickupable and moveable items
* Fix: drawing always refreshing ui
* Fix crash on invalid friend for wallbrush
* Option to remove empty spawns
* Draws position indicator, some code cleanup
* Teleport copy/paste improvements
* Fix flood fill
* Add function to get minimap/8bit color
* Small code cleanup
* Cleanup Position
* Code cleanup and small optimizations
* Code cleanup
* Code cleanup and small optimizations (#406)
* Cleanup and cast functions.
* Avoid adding a new Unique ID if it already exists
* Code cleanup and small optimizations
* More changes and cleanup
* Changes and cleanup
* Some changes
* Fix copy position.
* Only show uid/aid alert if it really changed
* Add actions history panel
* Does not draw tooltips on minimap mode
* Use constexpr
* Replace items fix (#408)
* Draw grid small optimization
* Small change in selection box and Fix#409
* Fix some xpm
* Ingame box improvements, add lights support.
* Fix go to previous position (#410)
* Fix depot crash (#411)
* Fix XPMs
* Export minimap as .otmm (otclient format) or .png (#413)
* Fix glitch after drawing secondary map
* fix
* Update about_window.cpp
* sonar
* fix Minimap and progress bar
* fix erro load items.xml
* fix
* fix doodad brush
* fix: slightly more accurate house size estimation
* feat: update items.otb and items.xml
* fix: bad merge
* Revert "feat: update items.otb and items.xml"
This reverts commit 40f1edc70f.
---------
Co-authored-by: Nailson <Mignari@users.noreply.github.com>
Co-authored-by: wtver <51377408+maattch@users.noreply.github.com>
Co-authored-by: Majesty <32709570+majestyotbr@users.noreply.github.com>
Co-authored-by: Luan Santos <github@luan.sh>
Removed boosts (replaced with equivalent on std 14/17/20)
Removed manual json library implementation using boost and added nlohmann-json
So two additional libraries will be needed to compile:
asio, nlohmann-json (see wiki)
Also removed OTGZ support by default and disabled it, making it optional (needs to be enabled). Anyone who wants to use it will need to activate this, I think it's ideal since few should use it, so a majority don't use it, which is fairer that those who need to activate it to use it than those who don't need to have this in their program.
Added GitHub Actions workflow for Windows (vs 2022) and Ubuntu 22.04
Created the complete organization of npcs, that way, it is possible to create own files for npcs, no longer depending on being together with the monsters
this pull request was made to be worked together with the canary project: https://github.com/opentibiabr/canary
The spawns npcs is "yellow" and spawns monsters is "red" (the old)
With this change, the map will automatically create an "npc.xml" the first time it is saved.
It is possible to edit only the xml, it is not necessary to add or modify the npc by opening the editor map
Thus, there is a script for npcs, similar to how it works with old spawns
Rewrote RME Live to use boost asio instead of wxSocket, this seemed to
fix random stops when using the function, some other things were fixed
aswell when using this.
Added 10.10 & 10.21+ (I have not added the otbs and such yet.)
Bug fix and some small cleanups.
Removed libxml2 to use pugixml.
Fixed a bug with the progress bar.
Changed some things in most xml files that pugixml did not like.
Updated the Visual Studio project.
Any NULL symbol has been changed to nullptr.
This most probably broke the CMake that was recently added.
And probably some other things.