Releases: opentibiabr/otclient
4.0 + hotfix(1)
Release 4.0 – Paperdoll System
Hotfix(1) Included
fix(#1596): rect of creature drawInformation bar(#1597)
This release marks a major milestone for the project, highlighted by the introduction of the long-awaited Paperdoll System, alongside a broad set of improvements, performance optimizations, refactors, and bug fixes across the client.
Paperdoll System
The new Paperdoll feature brings a modern, flexible, and visually accurate way to render character equipment and appearance. It lays the foundation for richer customization, better visual consistency, and future feature expansion related to outfits, items, and effects.
Preview
2023-05-12_14-30-35_3.mp4
Highlights
UI, Rendering & Graphics
- Major shader improvements across UI components (items, creatures, missiles, effects).
- Stabilized UI creature rendering, sizing, and clipping behavior.
- Atlas rendering enabled in UI, including support for large spritesheets.
- Significant DrawPool and rendering pipeline optimizations.
- New CSS-compatible text engine with precise width calculation.
HTML / CSS Engine
- Continuous evolution of the embedded HTML/CSS system:
- Table support, initial flexbox support, placement attributes, absolute positioning fixes.
- Improved text rules, white-space handling, width/height support.
- Better compatibility with older modules.
- Modal dialogs now accept HTML strings correctly.
Gameplay & Systems
- New/expanded systems: Paperdoll, Forge, Prey, Stash, Market, Cyclopedia, and Game Market.
- Monk vocation support: spells, stat bars, cooldowns, health/mana circles.
- Improved mouse control modes and smarter click handling.
- Enhanced action bars with multiple bars support.
- Numerous fixes for battle list, cooldowns, skills, outfits, walking logic, and minimap behavior.
Performance & Stability
- Extensive performance optimizations in text layout, glyph positioning, spectator retrieval, and draw pipeline.
- Reduced memory usage in underline handling.
- Parallelized rendering stages for improved frame times.
- Dozens of crash fixes, nil-guard additions, and memory leak resolutions.
Tooling, Build & CI
- Updated and pinned vcpkg baselines and workflows.
- Faster Debug builds with
/DEBUG:FASTLINK. - Improved Linux, Android, Emscripten, and non-Unity build support.
- New CLI tool for DAT dumping.
- Refactors and codebase modernization for long-term maintainability.
Contributors
Returning Contributors
Thanks to everyone who contributed to this release:
- @mehah
- @libergod
- @SkullzOTS
- @kokekanon
- @Juanzitooh
- @surfaceflinger
- @dudantas
- @nekiro
- @Nottinghster
- @Zbizu
- @divinity76
- @andreoam
- @glecko
- @vllsystems
- @luanluciano93
- @grepwood
- @InnerCircleTFS
- @Petrus321
- @dominiksmolinski3
- @AvajiOT
- @javiertringol
- @gabrielew
New Contributors
A special welcome to first-time contributors in this release:
- @gabrielew (first contribution: #1327)
- @dominiksmolinski3 (first contribution: #1450)
- @AvajiOT (first contribution: #1499)
- @javiertringol (first contribution: #1503)
- @grepwood (first contribution: #1508)
- @Copilot (first contribution: #1525)
- @Petrus321 (first contribution: #1583)
Full Changelog
4.0 Beta 4 (UI Improve)
What's Changed
- improve: add smooth texture padding to atlas to prevent bleeding by @mehah in #1272
- fix: apply wrap (S/T) set before creation in create() by @luanluciano93 in #1275
- fix: textLength typo in bitmap font by @luanluciano93 in #1278
- fix: unsafe string_view concatenation in logger by @luanluciano93 in #1273
- fix: message mode logging in parseTextMessage by @luanluciano93 in #1274
- fix: packets 0x87 (Trappers vs forge) by @kokekanon in #1281
- improve: ensure Image::loadPNG handles failed APNG load by @luanluciano93 in #1279
- fix: correct behavior of the ReadOnlyTab when logout by @kokekanon in #1285
- fix: warning destroy widget 'hotkeysButton' two times by @kokekanon in #1286
- improve: Client background particles by @Juanzitooh in #1287
- fix: check transparency by @mehah in #1288
- improve: UI, Styles, MiniWindow General, see Roadmap by @libergod in #1261
New Contributors
- @Juanzitooh made their first contribution in #1287
Full Changelog: 4.0b3...4.0b4
4.0 Beta 3 (Texture Atlas/Async Texture Loading)
🚀 Improvements
-
🔥 Major Performance Upgrade – Texture Atlas System
- Implemented and optimized Texture Atlas to reduce texture binds, improve GPU batching, and boost rendering performance.
- Impact: Up to 1.4x–3x FPS boost in heavy rendering scenarios.
-
⚡ Async Texture Loading (SPR/DAT) Performance Boost
-
Android
- Update Android Project – #1217 (by @SkullzOTS)
- Fix Android startup – #1218 (by @SkullzOTS)
-
System & Performance
-
Features
- Add protocol 14.00 ~ 14.12 support + features – #1171 (by @kokekanon)
- Add Windows title bar color customization – #1258 (by @libergod)
🐛 Fixes
-
UI & Interface
- Fix map resizing in extended view when toggling topmenu (Ctrl+Shift+T) – #1220 & #1225 (by @vllworldbuilding)
- Fix vBot analyzer button – #1223 (by @BastardofWinterfell)
- Fix
game_actionbarsending text to the correct channel – #1228 (by @kokekanon) - Properly animate items in outfits – #1241 (by @nekiro)
- Fix battlelist widget with Object Pool – #1260 (by @kokekanon)
- Container window like RL Tibia (miniborder) – #1262 (by @Nottinghster)
- Text window like RL Tibia – #1263 (by @Nottinghster)
- Fix
m_effectsordering – #1267 (by @kokekanon) - “Clear messages” works with readonly mode – #1268 (by @Nottinghster)
-
Shop
- Fix negative balance in
game_shop– #1239 (by @Nottinghster) - Adjust shop history display – #1247 (by @Nottinghster)
- Fix negative balance in
-
Console
- Read-only tab now clears and closes correctly – #1246 (by @Nottinghster)
-
Gameplay
- Fix Prey Actions – #1249 (by @AndreFaramir)
- Fix
boundKeyPressCombos[#1000, #1251, #1231, #738] – #1253 (by @kokekanon)
-
Rendering & Sprites
-
Miscellaneous
- Prevent textedit crash – #1271 (by @hugoj-goncalves)
🧹 Code Cleanup
👥 New Contributors
- @vllworldbuilding – #1220
- @AndreFaramir – #1249
- @libergod – #1258
- @hugoj-goncalves – #1271
Full Changelog: 4.0b2 → 4.0b3
4.0 Beta 2
What's Changed
Creature Scale
Otclient.-.Redemption.2025-06-27.18-45-50.mp4
Battle Optimization
459005215-33524496-68ce-4e51-bafa-1f48ae7d4d2d.mp4
Peformance Test (VSYNC 144hz)
Otclient.-.Redemption.2025-06-30.19-39-47.mp4
✨ Features
- feat: Allow to disable animation for Thing #1021
- feat: Support adding items to any slot in containers #1033
- feat: Boosted creature, staticdata from assets, bestiary races rework #1064
- feat: Latency-adaptive camera (Beta) #1090
- feat: Checkbox for quickloot accepted items #1105
- feat: Quickloot through bestiary #1112
- feat: Cyclopedia back button #1115
- feat: Thing scale #981
- feat: Cam system by kondra #1116
- feat: Create accounts with API MyACC #1131
- feat: Daily Reward in HTML/CSS #1143
- feat: Quest Log tracker and Style 14.10 in HTML/CSS #1144
- feat: Options control buttons #1148
- feat: New shop (based on store) #1151
- feat: Add Lua functions
getAnchorsandgetAnchor(anchorType)#1207 - feat: Player / monster icons 12.81 #973
- feat: Texture cache for drawpool #1216
- feat: "Read-only Tab" in game_console #1189
- feat: Load sounds with protobuf #1074
🛠 Improvements
- improve: Walking system independent of server response #1087
- improve: UIGraph line smoothing #1016
- improve: Refactor walking for better responsiveness #1028
- improve: Remove duplicate include #1006
- improve: Encryption system #1075
- improve: Game walk uses controller system #1055
- improve: QuickLoot features #1096
- improve: Crypt #1089
- improve: Utils #1092
- improve: String #1117
- improve: Rect/Point/Size #1118
- improve: Color #1120
- improve: New game shop #1153
- improve: Optimization of new shop (store) #1159
- improve: Encryption #1138
- improve: Add macOS CMake presets #1083
- improve: GameLoadSprInsteadProtobuf #1204
- improve: Add support to fmt format to logger class #1169
- improve: Textures/Matrix Cache/Camera/Pre-Draw optimization #1170
🐛 Bug Fixes
- fix: Incorrect usage of
const ref shared_ptr#1010 - fix: Freezing walking #1069
- fix: Fluid colors #1110, #1167
- fix: Texture flickering #1188
- fix: Make some things thread-safe to resolve crashes #1165
- fix: Loading textures without transparency in DirectX #1213
- fix: Use
weak_ptrin connection callbacks #1177 - fix: Animated foreground #1181
- fix: Updater texture #1211
- fix: And many more small bug fixes (see changelog for full list)
⚙️ Performance
- perf: Support multithreading in
updateVisibleTiles#1082 - perf: Battle and general layout update optimized #1193, #1212
🧹 Cleanup
- Cleanup: Prevent errors and warnings in Lua code #1179
🔧 CI / Build
- fix: Build workflows #1139
- ci/cl: Improved caching, concurrency, and trigger control #1178
- fix: Browser build + Emscripten Build Workflow #1124
🆕 New Contributors
- @lucasoares → #1036
- @BastardofWinterfell → #1057
- @eduardojunio → #1065
- @matheus-bona → #1097
- @jan7c6 → #1095
- @DanielChabrowski → #1102
- @bdzicc → #1105
- @andreoam → #1119
- @GooseWithAKnife → #1190
- @caioavidal → #1196
- @alysoncode → #1207
- @Oen44 → #1213
📄 Full Changelog: Compare v4.0b → v4.0b2
4.0 Beta
Summary
Creature Information by UIWidget
widget_creature_information.mp4
Html syntax beta v0.1
html1.mp4
htnl2.mp4
Hud Scale
hud.mp4
Pulse and fade in Attached Effect
pulse.mp4
What's Changed
-
3D Sound and Sound Effects! by @Codinablack in #774
-
Add config option to show status messages of other players/monsters in server log by @glecko in #767
-
Add User-Agent header to HTTP requests by @rafaeru97 in #836
-
allow disabling "Hunting Rounds Limit" by @divinity76 in #880
-
dockerignore - ignore Windows build files by @gesior in #994
-
Feat: Add StatsBars on bottom and refactor whole statsbars management by @matheussf in #797
-
feat: Blessings by @kokekanon in #844
-
feat: browser support by @OTArchive in #894
-
feat: compatibility with 13.32 by @luanluciano93 in #751
-
feat: compatibility with 13.40 by @kokekanon in #840
-
feat: display tier UI (GameThingUpgradeClassification) by @kokekanon in #895
-
feat: extractTexture in framebuffer, Arch SS2 by default and cleanup by @mehah in #883
-
feat: full cyclopedia module by @luanluciano93 in #868
-
feat: Game_store compatible with 13.32 by @kokekanon in #838
-
feat: highscores module by @kokekanon in #809
-
feat: imbuement tracker by @reyaleman in #814
-
feat: item charges display UI (GameThingCounter) by @kokekanon in #976
-
feat: item duration display UI (GameThingClock) by @kokekanon in #834
-
feat: keybinds by oen | (limited) Part 1 by @InnerCircleTFS in #996
-
feat: menu hide action bar and hide spell cooldown group by @matheussf in #793
-
feat: Minimap GM teleport ( ctrl +shift + click on minimap) by @kokekanon in #885
-
feat: new layout by @Nottinghster in #749
-
feat: NpcSaleData by @kokekanon in #951
-
feat: parse creature data in protocolgame by @luanluciano93 in #800
-
feat: QuickLoot by @kokekanon in #842
-
feat: Screenshot by @kokekanon in #812
-
feat: update background image, startup sound and options buttons by @MUN1Z in #865
-
feat: Vips Groups | fix issue: #730 by @kokekanon in #908
-
Fix black and red squares behaviors by @OTArchive in #902
-
fix compile error due to commit 3e93a1d by @Nottinghster in #856
-
Fix Interface Anchors by @SkullzOTS in #862
-
fix: [new-layout] Add Pvp Mode + fix: chase and fight by @kokekanon in #811
-
fix: #867 by @SkullzOTS in #876
-
Fix: #901 by @SkullzOTS in #910
-
fix: #939 uint16_t in "getNumLines()" of UIGridLayout by @kokekanon in #940
-
fix: #952 | game_skill : incorrect interpretation of critical hit by @kokekanon in #953
-
fix: #955 | game_outfit fix packet in 13.40 "hasMount" by @kokekanon in #957
-
fix: 13.32 compatibility tweaks by @luanluciano93 in #789
-
fix: bot by @kokekanon in #843
-
fix: bot item ondrop and analyzer loot channel by @kokekanon in #887
-
fix: check if container is store inbox id by @luanluciano93 in #778
-
fix: clean cache + Change language in options by @InnerCircleTFS in #983
-
fix: client_bottommenu webscraping login.php myacc by @kokekanon in #956
-
fix: CMake build libs ogg, phmap and missing absl for protobuf by @jopadan in #938
-
fix: compile error due to commit 3e93a1d by @Nottinghster in #856
-
fix: compiling error by @Nottinghster in #1002
-
fix: containers name by @Nottinghster in #942
-
fix: crash getItems by @luanluciano93 in #892
-
fix: cyclopedia characters skills wrong order of vector by @kokekanon in #977
-
fix: Cyclopedia TFS 13.10 by @kokekanon in #926
-
fix: Destroy previewCreature widget and free variable. by @Vysius in #967
-
fix: do
-
fix: don't require vorbis config and fix linking by @surfaceflinger in #923
-
fix: early return on dimensions or placement == hide by @matheussf in #804
-
fix: enable chat mode on/off by @matheussf in #792
-
fix: everything related to magicLevel changed to u16 by @kokekanon in #990
-
fix: forge in old protocol by @luanluciano93 in #784
-
fix: forge skills by @luanluciano93 in #779
-
fix: game_outfit Adjust outfit size and prevent "ERROR: invalid thing type" by @kokekanon in #884
-
fix: game_store bugs. fix: #873 by @kokekanon in #874
-
fix: GamePVPMode in old protocol / fix: KeyDown toggleFullMap / fix: Cooldown Anchor by @kokekanon in #815
-
fix: issues in protocolgameparse.cpp and standardized loops by @luanluciano93 in #795
-
fix: limitsFloorView incorrect thing check when calculating visible floor by @nekiro in #920
-
fix: market in TFS 10.98 and canary 11.00 | fix issue : #911 by @kokekanon in #912
-
fix: onTerminate WARNING: attempt to destroy widget topmenu two times by @InnerCircleTFS in #995
-
fix: optional display rarity colors in items . feature GameColorizedLootValue 12.00 by @kokekanon in #896
-
fix: packet addCreatureIcon issues : #971 by @kokekanon in #972
-
fix: packets in game_questlog and game_outfit by @kokekanon in #958
-
fix: parseItemClasses adjustment for version 13.10 by @luanluciano93 in #808
-
fix: prey version by @luanluciano93 in #823
-
fix: properly handle ctrl + backspace in UITextEdit by @nekiro in #919
-
fix: protobuf ITEM_CATEGORY in 13.40 by @kokekanon in #950
-
fix: protocolgameparse prey protocol 11x by @luanluciano93 in https://github.co...
3.5
What's Changed
- GHA: Update Docker and Ubuntu workflows by @Costallat in #659
- build: add shellapi and timeapi includes to fix visual studio solution by @Giorox in #611
- build: compile fix by @mehah in #637
- ci: Use GITHUB_OUTPUT envvar instead of set-output command by @arunsathiya in #696
- feat: Added Local Lua Debugger support for VSCode! by @BenDol in #671
- feat: Attached particles for creature, tiles and items by @conde2 in #634
- feat: Creature Information by UIWidget by @mehah in #737
- feat: Drawpool 3.0 by @mehah in #641
- feat: GameCountU16 by @SkullzOTS in #581
- feat: GameNegativeOffset by @mehah in #727
- feat: Opacity effect and missile in options by @kokekanon in #676
- feat: QR Code support, with auto generate it from string by @conde2 in #593
- feat: Shader with framebuffer by @mehah in #633
- feat: Smooth Walk Elevation by @SkullzOTS in #663
- feat: Tile Widget by @mehah in #579
- feat: ToolstipsV8 for inventory items by @kokekanon in #740
- feat: Typing Icon by @SkullzOTS in #582
- feat: attachable widgets by @conde2 in #645
- feat: attached effects on tile and possible to change draw order by @conde2 in #628
- feat: character list window by @majestyotbr in #602
- feat: colored text by @conde2 in #580
- feat: compatibility with 13.20 and 13.21 by @marcosvf132 in #592
- feat: game stash window by @pennaor in #695
- feat: imageSourceBase64 by @SkullzOTS in #584
- feat: otimize build time using unity build tool from cmake by @dudantas in #573
- feat: possible to highlight objects by @conde2 in #648
- feat: toggle on/off console using ENTER and toggle off console using ESC by @yrpen in #549
- feat: v8 Bot by @mehah in #621
- fix: 'getMapWidget': is not a member of 'UIManager' by @luanluciano93 in #673
- fix: Android build by @SkullzOTS in #629
- fix: Build with ENABLE_DISCORD_RPC by @SkullzOTS in #678
- fix: Ctrl+Shift+M show and hide minimap by @conde2 in #682
- fix: Effects.cpp for consistent behavior when rendering special patterns by @LeandroLibanio28H in #734
- fix: Enter Game window when setUniqueServer is activated by @Nottinghster in #719
- fix: GameCountU16 by @IcaroPimentel654 in #618
- fix: Highlighted items by @Nottinghster in #709
- fix: Improve updater api for different versions of php by @conde2 in #589
- fix: Move setEffectAlpha and setMissileAlpha from "framework" to "client" (luafunctions) by @kokekanon in #677
- fix: Outfit Window by @Nottinghster in #699
- fix: Prevent crashes caused by client_entergame and other minor bugs. by @kokekanon in #736
- fix: UIWidget::setIcon crash by @Kamenuvol in #555
- fix: Using top ground item not working! by @Nottinghster in #697
- fix: [game_entergame] loadBox in old protocol by @kokekanon in #743
- fix: action bar spells progress bars ignoring group cooldowns by @glecko in #748
- fix: android build by @SkullzOTS in #639
- fix: android initialization crash by @tuliomagalhaes in #554
- fix: artifact name conflict (ubuntu) by @Costallat in #715
- fix: artifact name conflict (windows) by @Costallat in #716
- fix: attached effect looping more than it should by @conde2 in #626
- fix: attached widgets flickering by @conde2 in #670
- fix: avoid potential crash when layout is not created yet by @conde2 in #692
- fix: battlelist error | first time you open the client by @SkullzOTS in #566
- fix: botserver updates by @Nottinghster in #722
- fix: center text message like Tibia by @Nottinghster in #711
- fix: center text private message like Tibia by @Nottinghster in #726
- fix: charges/duration parsing by @Zbizu in #543
- fix: compilation error due to PR #573 by @Nottinghster in #575
- fix: compiling in windows (Visual Studio) by @conde2 in #597
- fix: crash when trying to attach a non existing attachedEffect by @conde2 in #625
- fix: debug build by @SkullzOTS in #635
- fix: delay when moving widgets by @csantbr in #590
- fix: disable rpc android by @SkullzOTS in #631
- fix: draw particles only once, when not highlight or marked by @conde2 in #651
- fix: framework_editor compile by @mehah in #567
- fix: function getItemCountOrSubType does not exist. by @luanluciano93 in #643
- fix: hotkeys not working when any analyzers options by @Nottinghster in #649
- fix: invisible outfit (utana vid or stealth ring) by @Nottinghster in #710
- fix: isSightClear wrong check for block projectile by @conde2 in #693
- fix: item id on look at by @ramon-bernardo in #725
- fix: local client attachable object effects and some clean up by @BenDol in #674
- fix: long messages was lasting more than 25 seconds on screen by @Nottinghster in #745
- fix: market browsing broken in pre-12.51 protocols by @glecko in #746
- fix: market issues by @alfuveam in #576
- fix: max/min height width not working by @conde2 in #642
- fix: multiple errors produced in # 621 by @kokekanon in #712
- fix: not drawing attachable widgets for creatures by @conde2 in #668
- fix: onLook is selecting incorrect floor as (first) reference by @Nottinghster in #708
- fix: onTextMessage message mode 50 by @luanluciano93 in #612
- fix: panels/widgets saving positions by @Nottinghster in #720
- fix: parse packets for protocol 13.20 by @Zbizu in #683
- fix: protocol error in NPC trade by @luanluciano93 in #701
- fix: qr code compilation error by @Nottinghster in #600
- fix: real fix for Using top ground item not working! by @Nottinghster in #698
- fix: resize chat panel by @Nottinghster in #685
- fix: spells cooldown if UINT16 is expected by @yrpen in #542
- fix: temporary framebuffer by @mehah in #640
- fix: uiprogress draw by @mehah in #556
- fix: use function isDead() instead of getHealthPercent() <= 0 by @Nottinghster in #713
- fix: use port for http login and allow custom URL by @Costallat in #606
- fix: walking 2 tiles when only pressing key 1 time by @conde2 in #680
- fix: walking issue #560 by @mehah in #562
- fix: windows build by @taelg in #714
- improve: Attached Effect by @mehah in #702
- improve: Framework Cleanup (no more client code in fw) by @BenDol in #666
- improve: add almost all missing spell group cooldown; add missing spells from … by @yrpen in #552
- improve: add deferEvent in dispatcher to fix UI Draw by @mehah in #669
- improve: async dispatcher now use asio / cleanup by @mehah in https://github.com/meha...
3.1
What's Changed
- build: fix vcpkg builtin-baseline for enable GHA builds by @dudantas in #498
- cleanup: remove unused CMake modules by @ranisalt in #487
- feat: attachedeffect with apng by @mehah in #490
- feat: client auto updater by @conde2 in #529
- feat: compatibility with 13.16 by @marcosvf132 & @mehah in #538
- feat: config default font to creature/static-text/animated-text/widget text by @mehah in #534
- feat: data/setup.otml by @mehah in #535
- feat: font-scale by @mehah in #485
- feat: module features by @mehah in #533
- feat: new prop image-individual-animation by @mehah in #508
- feat: otmod[scripts] now support * to find all lua files by @mehah in #536
- feat: server map shader support #512 by @mehah in #521
- feat: uiwidget::[recursiveGetChildrenByStyleName/getChildrenByStyleName/getChildByStyleName] by @mehah in f4d6bb6
- feat: widget shader support by @mehah in #519
- fix: enable vip groups feature by default by @marcosvf132 in #495
- fix: in read items in older versions and use GameItemShader by @poxis in #518
- fix: mapmarks images order by @yrpen in #539
- fix: mouse buttons by @Riverlance in #489
- fix: typo by @Nottinghster in #483
- fix: walk animation with only two frames by @Nottinghster in #484
- improve: Attached Effect (Server Support) by @mehah in #501
- improve: module controller by @mehah in #532
- improve: particle and title sample by @mehah in #488
- improve: remove tinyxml and add pugixml instead by @dudantas in #520
- improve: walking system by @mehah in #531
- refactor: drawpool (emplace to try_emplace) by @mehah in #494
New Contributors
- @Riverlance made their first contribution in #489
- @yrpen made their first contribution in #539
Full Changelog: 3.0.2...3.1
[Widget Shader Support]
widget_shader_support.mp4
[Attached Effect (Server Support)]
attached_effect_server_support.mp4
[Attached Effect with apng]
Attachedeffectwithapng.mp4
[Font Scale]
font-scale.mp4
[Particle and Title with scale sample]
particle_title_sample.mp4
3.0.2
3.0.1
Hotfix
fix: lighting bug with creature information scale @mehah
What's Changed
- feat: Task Module by @dewral in #457
- feat: adaptive ui loading by @BenDol in #451
- feat: text scale options by @mehah in #466
- fix: Outfits as item id does not works with Creature widget by @mehah #472
- fix: Player diagonal direction lag by @mehah #469
- fix: Target texture unloads (red square) by @mehah #468
- fix: [Highlight] Disappears on relog by @mehah #476
- fix: [Highlight] Select top item of stack, instead them all by @mehah #474
- fix: [Highlight] Wrongly updated mouse position on floor change by @mehah #475
- fix: android sound crash by @tuliomagalhaes in #461
- fix: crash and UI mobile by @beats-dh in #465
- fix: for alot of OTC's to not display health properly in circle bars. by @themaoci in #463
- fix: for custom asserts, where ids are not sorted. by @mehah
- fix: highlight stop to work on change outfit](1bfa892)
- fix: m_glyphsTextRectCache random crash by @mehah #470
- improve: Attached Effect (new props) by @mehah in #460
- improve: autowalk by @mehah
- improve: density pixel (mobile) by @mehah in #462
- perf: lighting optimization up to 39% by @mehah in #459
- rework: remove client code from framework (fps & ASYNC_DISPATCHER_MAX_THREAD) by @BenDol in #458
New Contributors
Full Changelog: 3.0b...3.0
Message Scale Options
Otclient.-.Redemption.2023-03-16.17-16-23-1.mp4
Attached Effect (New Props)
loop(number): quantity of loop that the effect will remain active.
duration(number): duration of effect.
transform(bool): Instead of attaching, the character will change the outfit.
hideOwner(bool): Hide the owner where the effect was attached.
2023-03-06_19-43-16-1.mp4
Android [Density Pixel]
3.0b
What's Changed
- clean: move client SPRITE_SIZE out of the framework by @BenDol in #448
- clean: shader clean up and remove client code from the framework by @BenDol in #444
- feat: add always-show-count to UIItem by @BenDol in #445
- feat: add module enabled setting, useful when testing by @BenDol in #446
- feat: thing texture garbage collection by @mehah in 9d1b5c5
- fix missing byte on change outfit by @alfuveam in #406
- fix missing import of by @ranisalt in #439
- fix: add missing ThingAttrMarket to thingtype.cpp by @h4b00 in #423
- fix: added missing CMake module for asio library by @ranisalt in #430
- fix: android startup crash and input events by @BenDol in #440
- fix: clang compilation for android build - added QueueEntry construct by @BenDol in #433
- fix: clang warning/errors by @mehah in #441
- fix: crash, division by zero by @conde2 in #422
- fix: monsters with invisible name and health bar not showing in battle list by @Nottinghster in #443
- fix: outfit render picker scaling issues #405 by @mehah in #407
- improve: Async texture loading / Rewrite Mark System / AutoRepeatDelay to 50 / cleanup by @mehah in #417
- improve: HTTP.download by @Mrpox in #425
- improve: bool to bitwise and int to uint8/16 by @mehah in #426
- improve: lighting system replaced by that of the V8 by @mehah in #447
- improve: rewrite Drawpool by @mehah in #415
- improve: update GHA to read builtin-baseline from vcpkg.json by @beats-dh in #403
- improve: walk response when changing direction by @conde2 in #409
New Contributors
- @h4b00 made their first contribution in #423
- @ranisalt made their first contribution in #430
- @BenDol made their first contribution in #433
Full Changelog: 2.8...3.0b

