Skip to content

3.5

Choose a tag to compare

@mehah mehah released this 10 May 19:15
· 796 commits to main since this release
7d96402

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

Full Changelog: 3.1...3.5

[Draw Pool 3.0]

image

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:

https://github.com/mehah/otclient/blob/0ac938eefdad6b2613b1293ff3d915d47805d8d3/modules/game_attachedeffects/effects.lua#L108C14-L108C14

[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.