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 #638
- improve: better parse message exception for print the opcode byte by @dudantas in #574
- improve: change stdext::map to std::unordered_map in some cases. by @mehah in #650
- improve: creature information in multithreading by @mehah in #688
- improve: creature information logic by @mehah in #691
- improve: framebuffer / shader by @mehah in #661
- improve: https/http login by @Costallat in #647
- improve: lighting system by @mehah in #577
- improve: lighting system multithreading by @mehah in #570
- improve: preloading map info by @mehah in #687
- improve: remove unnecessary spaces from mod/ folder by @luanluciano93 in #644
- improve: remove unnecessary spaces from mod/ folder by @luanluciano93 in #658
- improve: rework dispatcher by @mehah in #636
- improve: use std::vector instead of DataBuffer by @ranisalt by @mehah in #510
- perf: event onPropertyChange is disabled by default by @mehah in #705
- refactor: auto reload module rewritten from lua to c++ by @mehah in #564
New Contributors
- @Kamenuvol made their first contribution in #555
- @csantbr made their first contribution in #590
- @majestyotbr made their first contribution in #602
- @Giorox made their first contribution in #611
- @luanluciano93 made their first contribution in #612
- @IcaroPimentel654 made their first contribution in #618
- @Costallat made their first contribution in #652
- @kokekanon made their first contribution in #676
- @pennaor made their first contribution in #695
- @arunsathiya made their first contribution in #696
- @taelg made their first contribution in #714
- @ramon-bernardo made their first contribution in #725
- @LeandroLibanio28H made their first contribution in #734
- @glecko made their first contribution in #748
Full Changelog: 3.1...3.5
[Draw Pool 3.0]
Drawpool.3.0.mp4
[Improve Attached Effect]
Improve.Attached.Effect.mp4
- support dynamic effect
- add move method
- add set & get direction
- bounce system parameters: (Min Height, Height, speed)
[Example]
- Dynamic Attached Effect:
[Tile Widget]
Tile.Widget.mp4
local tile = g_map.getTile(g_game.getLocalPlayer():getPosition())
local widget = g_ui.createWidget('Panel')
widget:setSize({width = 90,height = 22})
widget:setText("Yes you can Deux!!! ;)!!! ;)")
widget:setFont("terminus-10px")
widget:setBackgroundColor('#111111cc')
widget:setMarginBottom(40)
widget:setTextAutoResize(true)
tile:attachWidget(widget)
local widget = g_ui.createWidget('Panel')
widget:setTextAutoResize(true)
widget:setText("Yes you can Deux!!! ;)")
widget:setFont("terminus-10px")
widget:setBackgroundColor('red')
widget:setColor('black')
widget:setMarginBottom(40)
widget:setFontScale(3)
g_game.getLocalPlayer():attachWidget(widget)
[Creature Information By Widget]
Creature.Information.By.Uiwidget.mp4
It is now possible to customize creature information using the UIWidget.
To enable, just go to setup.otml and set true in draw-information-by-widget-beta
The files to customize the creature's information are found in 'module\game_creatureinformation'
Note: There is a performance degradation compared to direct programming with Draw Pool, by about ~20%, testing was performed with 60 monsters attacking each other.