Commit graph

5130 commits

Author SHA1 Message Date
João Pedro M. C. Hluchan
dd5641492a
fix(game_bot): defensive nil checks in looting/analyzer and fix money exchange (#1809)
Bug Fixes:
- Prevented errors when creature or player positions are unavailable during looting.
- Improved handling of malformed loot and waste messages with safer fallback text.
- Prevented loot processing when message data is incomplete.

Improvements:
- Money exchange now recognizes additional Magic Gold Converter items.
- Supports numeric or structured money item entries.
- Uses the appropriate converter when available and handles multi-use currency items correctly.
- Retains direct money-item exchange when no converter is found.
2026-08-15 13:03:55 -03:00
João Pedro M. C. Hluchan
3312c752b2
fix(game_interface): use safe position table check in createThingMenu (#1808) 2026-08-14 20:12:36 -03:00
João Pedro M. C. Hluchan
df85bfdcbc
fix(corelib): prevent duplicate child insertion in UIMiniWindowContainer (#1807)
Bug Fixes
- Improved mini-window placement when moving widgets between containers.
- Prevented widgets from remaining attached to an outdated parent during scheduled insertion.
- Preserved reliable insertion as target positions become available.
2026-08-14 20:11:41 -03:00
João Pedro M. C. Hluchan
3a049b36b3
fix(platform): add XIM fallback with @im=none on Linux (#1806)
Bug Fixes:
- Improved input-method initialization on X11 by retrying with a fallback backend when the initial connection fails.
- Preserved clear error handling if both connection attempts are unsuccessful.
2026-08-14 20:11:07 -03:00
João Pedro M. C. Hluchan
8f55d88980
fix(sound): initialize effectSlot and fix OpenAL EFX slot binding (#1805)
Bug Fixes:
- Improved audio effect handling when effects or sound sources are unavailable.
- Ensured removing an audio effect safely updates the sound source and avoids invalid audio operations.
- Preserved error reporting for failed audio effect operations.
2026-08-14 20:09:53 -03:00
João Pedro M. C. Hluchan
67874d6694
fix(protocol): parse missing client events & warn on unknown event (#1804)
New Features:
- Added notifications for bounty tasks, weekly tasks, and spell unlocks.
- Added support for displaying these new event types in the game client.

Bug Fixes:
- Unknown event types are now safely ignored and logged instead of interrupting event processing.
2026-08-14 20:07:54 -03:00
karlo
2aa279edc5
fix: some draw order bugs (#1801)
Bug Fixes:
- Improved tile rendering order for more consistent visual layering.
- Ground elements, creatures, items, and visual effects now appear in the correct sequence.
- Updated scenes should display overlapping objects more naturally, reducing visual inconsistencies during gameplay.
2026-08-14 20:06:23 -03:00
mimus-assa
9bc2612cc5
fix: client crashes when logging back in after an AFK kick (#1799)
Bug Fixes:
- Improved map floor visibility updates when no tiles are available.
- Prevented invalid floor-range calculations during map refreshes.
- Ensured cached visible tiles are cleared consistently across all floors.
2026-08-14 20:05:41 -03:00
Eduardo Dantas
cec65014fc
docs(agents): document instruction loading budget (#1810)
Document the repository AGENTS.md loading budget and keep detailed workflows outside the always-loaded instruction file.

Main changes:
- Add an AGENTS.md Loading Budget section.
- Keep the root AGENTS.md focused on repository-wide invariants and precise routing gates.
- Direct detailed workflows to versioned documentation or reusable skills instead of expanding the root instruction file.
- Document that Codex applies a combined instruction budget across global, root, and nested guidance.
- Record the default 32 KiB instruction limit and recommend preserving headroom for narrower scoped instructions.
- Keep mandatory gates near the beginning of the instruction chain.
- Recommend removing duplicated guidance and routing conditional details before increasing project_doc_max_bytes.
- Preserve the existing client-assets routing contract and documentation reference unchanged.

Validation:
- Audited the effective global and repository instruction chain at 11,106 bytes.
- Verified the instruction chain remains below the 24 KiB maintenance target and default Codex limit.
- Verified the existing client-assets documentation route remains valid.
- Reviewed the complete committed diff.
- Ran Git whitespace validation successfully.
- No build was run because this is a documentation-only change.

This keeps repository instructions concise and scalable while preserving room for nested guidance and avoiding unnecessary duplication in the always-loaded AGENTS.md.
2026-08-14 19:18:54 -03:00
Eduardo Dantas
d2e7b0f049
ci(vcpkg): keep baseline updates synchronized and auto-mergeable (#1803)
ci(vcpkg): keep baseline updates synchronized and auto-mergeable

Improve the vcpkg baseline updater so automated dependency PRs stay synchronized with main and can be queued for native GitHub auto-merge.

Main changes:
- Fetch full repository history before updating the baseline branch.
- Synchronize the updater branch with the latest origin/main before applying baseline changes.
- Rebase existing updater branches onto main.
- Create missing updater branches directly from origin/main.
- Use force-with-lease when refreshing bot-managed branches.
- Restrict existing PR lookup to open baseline PRs targeting main.
- Queue both existing and newly created baseline PRs for native GitHub squash auto-merge.
- Set a consistent squash commit subject and body for automated baseline merges.
- Validate PR numbers before attempting to enable auto-merge.
- Warn and leave the PR open when auto-merge cannot be queued.
- Continue triggering CI when the requested baseline is already present.
- Update CI path filters so changes to update_vcpkg_baseline.yml trigger Windows, macOS, Android, Docker, and browser validation.

Safety:
- The updater does not approve reviews.
- The updater does not bypass branch protection.
- Auto-merge remains subject to required reviews and status checks.
- Branch rewrites use force-with-lease instead of an unconditional force push.

Validation:
- actionlint passed.
- YAML parsing passed.
- Extracted updater shell script passed bash -n.
- git diff --check passed.

This makes automated vcpkg baseline maintenance more reliable by preventing stale update branches and allowing GitHub to complete the merge once all repository requirements are satisfied.
2026-08-14 17:57:51 -03:00
Eduardo Dantas
4a2de8de5f
fix(cache): canonicalize manifest line endings (#1802)
fix(cache): canonicalize vcpkg manifest line endings

Normalize manifest line endings when generating shared build-cache fingerprints so equivalent vcpkg configurations use the same dependency pool regardless of Git checkout settings.

Root cause:
- Equivalent Git content can be checked out using CRLF or LF depending on core.autocrlf and local Git configuration.
- The previous shared-cache resolver hashed raw manifest bytes.
- Two otherwise equivalent worktrees could therefore resolve to different dependency fingerprints and separate vcpkg pools.

Main changes:
- Normalize CRLF and LF when fingerprinting vcpkg.json.
- Normalize CRLF and LF when fingerprinting vcpkg-configuration.json.
- Keep registry, overlay, port, patch, and arbitrary payload trees byte-signatured because their contents may be line-ending-sensitive.
- Advance the shared-cache contract from schema v3 to schema v4.
- Retain recognition of schemas v1 through v3 for auditing and transient cleanup.
- Require an exact full-fingerprint metadata match before cleaning fingerprint-specific transient data.
- Keep shortened cache directory names backed by full SHA-256 identity metadata.
- Update shared-cache setup and cleanup tooling for the v4 layout.
- Update documentation with v4 fingerprinting behavior, migration rules, cleanup procedures, and cache paths.

Windows build updates:
- Move Windows CI to the Visual Studio 2026 hosted runner.
- Verify that Visual Studio 2026 provides the native C++ v145 toolset.
- Configure MSBuild discovery specifically for the Visual Studio 18.x prerelease range.
- Remove the previous Chocolatey-based Visual Studio toolset installation path.

Validation:
- Reproduced the Release x64 dependency contract in two worktrees with different manifest line endings.
- Verified both worktrees now resolve to the same schema v4 dependency fingerprint.
- Ran SharedBuildCache.cmake in CMake script mode.
- Verified the windows-release preset listing.
- Ran PowerShell parser checks.
- Ran JSON parsing checks.
- Ran documentation portability checks.
- Ran git diff --check.

This keeps shared vcpkg cache identity stable across CRLF and LF checkouts while preserving byte-sensitive hashing for dependency content where physical file representation can affect behavior.
2026-08-14 17:56:59 -03:00
Eduardo Dantas
44a980b07e
build(cache): share vcpkg dependencies across CMake and Visual Studio (#1800)
Add shared vcpkg dependency cache for CMake and Visual Studio builds

This commit adds a content addressed vcpkg dependency cache that can be reused across compatible Git worktrees independent forks CMake presets and Visual Studio Solution builds.

The goal is to reduce repeated dependency installation and rebuild time while keeping build outputs isolated per worktree. The cache only shares dependency artifacts that are proven compatible through a complete dependency contract. Project build outputs such as object files PCH files PDB files generated sources intermediate files and executables remain local to each checkout.

The shared cache is opt in. When the cache is not configured or when the resolver cannot prove that reuse is safe both CMake and Visual Studio fall back to local worktree specific vcpkg roots.

Main behavior added

• Shares vcpkg downloads globally

• Shares vcpkg binary packages globally

• Shares expanded vcpkg installed trees only when the dependency fingerprint matches

• Shares vcpkg buildtrees and packages only when the dependency fingerprint matches

• Keeps CMake build trees local to each worktree

• Keeps Visual Studio output directories local to each worktree

• Keeps generated files intermediate files executables PCH files PDB files and object files local

• Allows compatible Git worktrees to reuse dependency artifacts

• Allows compatible forks to reuse dependency artifacts

• Allows compatible CMake presets and Visual Studio configurations to converge on the same dependency cache

• Falls back to local vcpkg storage when shared cache safety cannot be verified

CMake integration

The new CMake shared cache module runs before project initialization and resolves the vcpkg dependency contract before the normal configure flow continues.

The resolver validates the manifest registries overlays triplets features vcpkg revision compiler toolset SDK and cache implementation before selecting fingerprinted dependency roots. This prevents incompatible configurations from sharing the same expanded dependency tree.

If the CMake version is too old for the shared cache module and shared cache variables are present the build warns and continues with build local vcpkg storage instead.

CMake preset changes

• Removes hardcoded VCPKG_INSTALLED_DIR values from presets

• Lets the shared cache resolver select the installed root when safe

• Keeps local fallback behavior available

• Replaces the previous preset binary source override with clean packages and clean buildtrees options

• Prevents Visual Studio CMake presets from inheriting Ninja compiler overrides where they should not

• Keeps CMake build outputs under their configured build preset directories

Visual Studio integration

The Visual Studio bridge uses the same dependency resolver as CMake. It evaluates each Solution configuration through MSBuild, generates a machine local ignored SharedVcpkgCache props file and revalidates the complete contract before vcpkg manifest installation.

Different Visual Studio configurations receive separate consumer fingerprints. They can still share an expanded dependency tree when their dependency inputs are identical, but their consumer contracts remain separate so MSBuild specific details cannot corrupt CMake or another Solution configuration.

The Visual Studio project now imports vcpkg props more reliably, supports the generated shared cache props, and validates the generated contract through SharedVcpkgCache targets before dependency installation and build preparation.

Visual Studio changes included

• Adds SharedVcpkgCache targets

• Adds generated SharedVcpkgCache props support

• Adds vcpkg bootstrap property resolution from VCPKG ROOT

• Keeps local fallback when the shared Solution cache is inactive

• Validates manifest root target triplet host triplet configuration toolset SDK and install options before using the shared cache

• Pins the Visual Studio instance used by vcpkg for the shared Solution contract

• Requires the dependency CMake tool used by the generated contract

• Revalidates the generated contract before vcpkg manifest install

• Uses fingerprinted installed buildtrees and packages roots for compatible Solution builds

• Keeps Solution outputs local

Shared cache safety boundaries

The shared cache is intentionally conservative. It only activates when the environment and contract can be fully validated.

Safety rules enforced

• The shared pool must be on a verified local fixed filesystem

• The shared pool must live outside every registered checkout

• UNC paths are rejected for the shared cache root

• Reparse points and symlink escapes are rejected in sensitive paths

• Mutable dependency roots are isolated by full contract fingerprint

• vcpkg and shared cache operation locks protect mutable cache operations

• Existing authenticated VCPKG BINARY SOURCES values are preserved

• Existing authenticated binary source values are never printed

• Existing authenticated binary source values are never persisted by the helper

• Cleanup fails closed when validation is incomplete

• Cleanup refuses to run while build related processes are active

• Cleanup validates repositories configure trees generated contracts paths identities and locks before removing transient data

• CI containers runtime data deployment paths and release behavior remain unchanged unless shared cache is explicitly enabled

PowerShell tooling

This commit adds setup audit cleanup repository registration and Solution contract generation tools.

The main shared cache setup script configures the cache root registers the current Git repository family manages relevant user environment variables configures vcpkg downloads and binary cache locations updates managed sccache base directories and can invoke the Solution bridge when applicable.

The Solution cache script evaluates MSBuild properties resolves the shared dependency contract through the CMake resolver writes the generated props file and supports audit only and validate only modes.

Both PowerShell tools require PowerShell 7 2 and run under strict mode.

Tooling added

• tools configure shared build cache ps1

• tools configure shared solution cache ps1

• setup mode for shared cache configuration

• audit only mode for validating existing shared cache state

• guarded transient vcpkg cleanup

• guarded fingerprint specific transient cleanup

• repository registration and unregister support

• generated Solution props creation

• generated Solution props validation

• generated Solution props audit

• MSBuild property based contract evaluation

• local fixed filesystem validation

• active build process protection before cleanup

Protobuf and Solution build fixes

This branch also includes follow up fixes around protobuf generation and Solution build behavior.

Protobuf and Solution changes

• Fixes Solution protobuf generation by using one normalized absolute proto root

• Uses the host triplet protoc path for protobuf generation

• Adds incremental inputs and outputs to the ProtoCompile target

• Excludes generated protobuf compile items when protobuf support is disabled

• Keeps protobuf generated source handling tied to RunProtoCompile

• Lets both CMake and Solution builds honor configured global vcpkg binary sources

• Avoids leaking Ninja compiler overrides into Visual Studio CMake presets

Documentation and repository updates

• Adds shared build cache documentation

• Documents setup and migration flow

• Documents CMake and Visual Studio integration

• Documents cache contract rules

• Documents concurrency and locking behavior

• Documents fallback behavior

• Documents recovery and cleanup procedures

• Documents cross fork compatibility rules

• Updates README with shared cache guidance

• Updates gitignore for generated local shared cache files

• Updates CI path filters so vcpkg configuration overlay and cache related changes trigger the correct workflows

Validation performed

• PowerShell parser validation for both cache tools

• PowerShell 5 1 prerequisite failure verified

• CMake preset validation

• JSON validation

• Visual Studio project XML validation

• Evaluated MSBuild property and item checks

• Checked protobuf enabled mode

• Checked protobuf disabled mode

• Local shared cache Solution build validation

• GitHub Actions Windows CMake matrix

• GitHub Actions Windows Solution matrix

Overall this commit adds a safe content addressed shared dependency cache for OTClient builds. It lets compatible CMake and Visual Studio configurations reuse expensive vcpkg dependency artifacts while keeping all build outputs local and falling back to worktree local storage whenever the shared contract cannot be fully validated.
2026-08-13 18:47:47 -03:00
mimus-assa
1f5df26144
feat(cyclopedia): implement the Magical Archive tab (#1798)
New Features:
- Added a Magical Archives spell browser with search and vocation filtering.
- Added alphabetical spell sorting and support for promoted vocations.
- Added detailed spell information, including icon, name, formula, vocation, group, and cooldown.
- Added localized labels and improved spell list and detail presentation.
2026-08-05 11:29:44 -03:00
mimus-assa
478522f36c
fix: XP bar renders full and the tooltip reads "-5500 percent to go" (#1797)
Bug Fixes:
- Improved experience and level progress accuracy when handling level-change updates.
- Prevented analyser updates when no local player is available.
- Normalized level percentages for newer protocols, ensuring progress bars and tooltips display correct values.
2026-08-05 11:28:56 -03:00
mimus-assa
e6bcb1f2f6
fix: Wheel fragment counters show the bank balance instead of fragments (#1796)
Bug Fixes:
- Corrected fragment resource tracking to use the proper resource identifiers.
- Improved accuracy when checking lesser and greater fragment balances in the game wheel and workshop.
2026-08-05 11:28:20 -03:00
mimus-assa
d978b8e14e
fix: NPC dialog window shows the wrong NPC when several are in talk range (#1795)
Bug Fixes:
- NPC conversations now open with the currently active NPC instead of the oldest listed NPC.
2026-08-05 11:28:00 -03:00
karlo
46ec6f13de
fix: incorrect draw order of creature when walking diagonally (#1793)
Bug Fixes:
- Improved creature positioning while walking across tiles, including diagonal movement.
- Corrected rendering order so walking creatures appear properly relative to non-walkable ground objects.
- Improved display of stationary creatures and local-player positioning.
- Removed visual inconsistencies caused by outdated virtual-tile rendering behavior.
2026-08-05 11:27:09 -03:00
karlo
5a33b4a166
fix: player diagonal walk cost now looks at the value from config (#1792)
Bug Fixes:
- Improved diagonal pathfinding accuracy by applying the configured diagonal movement speed when calculating routes.
- Ensured path costs consistently reflect player movement settings.
2026-08-05 11:26:45 -03:00
Renan Miyashiro
9bfac7719f
feat(dev_otui): visual .otui screen editor inside the client (#1782)
New Features:
- Added a visual OTUI editor for previewing and editing .otui files, including live preview, widget selection, and editing of properties, anchors, geometry and states.
- Supports adding/removing widgets and properties, creating new screens, and saving back with safety checks and backups.
- Included file/style/anchor pickers and a style gallery with live samples.
- Added an OTML parser/writer to preserve and apply line-accurate edits.

Documentation:
- Added comprehensive editor documentation, workflows and operational notes.
2026-07-31 19:01:14 -03:00
Eduardo Dantas
6d8b69730a
fix(protocol): update 15.25 tactics payload (#1789)
New Features:
• Added support for a new game protocol mode that allows tactics
settings to function without transmitting fight mode.
• Updated compatibility handling for supported client versions.

Bug Fixes:
• Improved reading and sending of chase, safe-fight, and PvP mode
settings when the new protocol mode is enabled.
2026-07-30 18:30:30 -03:00
mimus-assa
4bee667ed4
fix: read the full MonkData Virtue payload (count u8 + virtue id u16) (#1788)
Bug Fixes:
- Improved handling of monk virtue data so multiple virtues are read and processed correctly.
- Prevented incorrect parsing of game messages containing multiple virtue entries.
2026-07-29 19:53:15 -03:00
Syntax
af447efa36
fix(browser): set HttpResponse.connected in the emscripten HTTP login path (#1784)
Bug Fixes:
- Improved web-based login request handling by correctly recognizing successfully established connections.
2026-07-29 19:25:26 -03:00
karlo
9ad67c4473
fix: creature information draw position when elevated (#1783)
Bug Fixes:
- Improved the positioning of creature information during rendering, including diagonal movement and elevated areas.
- Ensured creature details align correctly with the creature’s visual elevation.
2026-07-29 19:23:23 -03:00
karlo
5636f95e36
fix: decouple map and foreground rendering (#1781)
Performance:
- Reduced unnecessary foreground redraws when attached widgets have not changed.
- Improved rendering efficiency during map and interface updates.

Bug Fixes:
- Improved coordination between map rendering and foreground interface elements.
- Adjusted rendering behavior while the game is offline to prevent unnecessary draw and preload activity.
- Improved handling of foreground UI rendering during map display.
2026-07-28 08:39:06 -03:00
karlo
f4825cbd87
fix: creature draw order when walking (#1779)
Bug Fixes:
- Improved rendering of diagonally moving creatures (NE/SW) with corrected draw order and smoother transitions.
- Updated walking-creature rendering so diagonal walkers aren’t double-drawn and tile/object layering remains consistent, including for the local player.
- Reworked floor rendering for walking tiles to batch/flush them at map edges and when appropriate upper-right tiles have no walking creatures.
- Preserved per-tile transparency behavior while rendering queued walking tiles.
2026-07-28 08:38:11 -03:00
mimus-assa
d26206536a
fix: NPC trade sell window shows one item but sells another (+ restore legacy sell UX) (#1777)
Bug Fixes:
- Fixed trade selection after the list is re-sorted or refreshed, ensuring the correct item is selected.
- Selling now defaults to the full available stack instead of a single item.
- Automatically clears selections for items that are no longer available to sell.
- Updated the amount control to reflect the selected selling quantity.
2026-07-26 13:56:57 -03:00
mimus-assa
e1a1ff1503
fix: gem atelier lock/destroy act on the wrong gem and show the inverted lock state (#1774) 2026-07-25 10:20:07 -03:00
mimus-assa
4f04a3cb8b
fix: stale loot-value frames in containers on in-place item updates (#1773) 2026-07-25 10:19:35 -03:00
mimus-assa
50e59a07f6
fix(protocol): consume the Cyclopedia Map Data subtype byte in parseAutomapFlag (Tibia 12+) (#1772) 2026-07-25 10:19:13 -03:00
mimus-assa
275abf6362
fix: do not start the local countdown for equipped items with expirestop (#1771) 2026-07-25 10:18:57 -03:00
mimus-assa
ef80e7f5dc
fix(ui): clip selection background rects to the widget's visible area (#1770) 2026-07-25 10:18:38 -03:00
tobiastrafego
36f4595793
feat: Tibia-like temporary chat (single Enter to send and return to WASD) (#1769)
New Features:
- Added temporary chat mode while walking or using WASD controls.
- Chat now indicates when it will automatically turn off after sending a message.
- Pressing Enter can send the message and immediately return to movement controls.

Bug Fixes:
- Temporary chat indicators are cleared when chat is manually disabled or exited.
2026-07-25 10:18:05 -03:00
karlo
0a940559b6
fix: flickering of creature information when walking (#1768)
Bug Fixes:
- Improved creature information rendering across map tiles, including scaled display modes.
- Ensured creature names, health, mana, and harmony indicators render according to map display settings.
- Improved lighting and elevation handling for creature visuals.
- Prevented map rendering conflicts while creature information is being displayed.
2026-07-25 10:16:45 -03:00
Eduardo Gallifa
6adf7ba121
fix: stop peekBytes from truncating its length to 8 bits (#1767)
Bug Fixes:
- Fixed an issue where peeking for more than 255 bytes could return an incorrectly sized result.
- Peek operations now correctly clamp requested sizes to the amount of data actually available, ensuring returned buffers match the available data and avoiding edge-case miscalculations.
2026-07-25 10:15:57 -03:00
Eduardo Dantas
465b7a217e
fix: select client asset archives by version (#1766)
Bug Fixes:
- Improved release archive selection by scoring candidate assets against the client version for more accurate matches.
- Added macOS-archive-path detection to exclude incompatible .app.zip/macos-variant archives from selection.
- Refined the no-match behavior so the system cleanly falls back to the standard zip download when no best archive is available.
2026-07-18 20:52:38 -03:00
mimus-assa
8af3aa4bc4
fix: NPC trade greys out sellable items when an imbued copy is equipped (#1765)
Bug Fixes:
- Improved NPC trading quantity calculations for items with active imbuements.
- Prevented equipped imbuement items from being counted twice when determining sellable quantities.
- Ensured sellable item quantities never display as negative.
- Improved tracking cleanup when closing NPC trade windows.
2026-07-18 16:50:21 -03:00
karlo
caba9cef63
feat: add 'resume' and 'pause' functions to Stats class (#1764)
New Features:
- Added the ability to pause and resume statistics collection.
- While paused, new statistics are no longer recorded; previously gathered statistics remain intact.
- Lua scripts can now control statistics collection using new pause and resume commands.
2026-07-18 16:49:34 -03:00
karlo
350e506aa7
fix: call draw preLoad before rendering foreground (#1763)
Bug Fixes:
- Improved rendering sequencing so preload work runs before any foreground interface draw tasks, reducing timing-related inconsistencies.
- Refined foreground UI rendering logic: it now renders immediately only when appropriate for offline play, and otherwise enqueues foreground UI updates when map rendering is available—removing the prior fallback that could render at the wrong time.
2026-07-18 16:46:59 -03:00
Sherrat
225ce4d5b5
fix: outfit animation speed ignoring Animator when always animated (#1761)
Bug Fixes:
- Improved animation timing for creatures with attached animators.
- Ensured animator-driven phases are used when available, while preserving existing behavior for other creatures.
2026-07-18 16:46:15 -03:00
scarneiromarcelo-pixel
89e7898a78
fix: center NPC trade window and fix chat console/toggle overlap (#1759)
Style:
- Updated the NPC trade and chat window layout for improved positioning.
- Adjusted console sizing and spacing for a more balanced appearance.
- Centered the trade window and refined chat mode toggle placement.
2026-07-18 16:45:41 -03:00
Kizuno18
cee2851016
fix: restore modules.game_interface.lastManualWalk for game_bot (#1757) 2026-07-18 16:44:43 -03:00
Kizuno18
dedc7378e8
fix: add --user-dir flag to isolate configs and profiles (#1756) 2026-07-18 16:44:11 -03:00
Kizuno18
a7d1b3961e
fix: useInventoryItemWith source stackpos on pre-780 protocols (7.6 usewith) (#1755)
Bug Fixes:
- Improved compatibility when using inventory items on older client versions, reducing silent failures.
- The game now correctly identifies the matching inventory item and uses accurate slot/stack information for the action.
- If the item isn’t found in the player’s inventory, the game will check nearby containers and proceed when available.
2026-07-18 16:43:24 -03:00
Kizuno18
fec1cca042
fix: expose TargetBot.Danger() in cavebot_1.3 for cave scripts (#1754)
New Features:
- Added a new target danger readout, making the current danger value available during gameplay.
- Danger information now tracks consistently with each macro cycle, improving real-time visibility into risk level.
2026-07-18 16:42:37 -03:00
Eduardo Gallifa
cd4441ed99
fix: stop busy loop / OOM on unknown opcodes in parseMessage (#1752)
Bug Fixes:
- Fixed client message parsing when encountering unknown or unsupported opcodes, so the client correctly stops at the end of the current message instead of continuing to read.
- Prevented cases where malformed/unknown data could cause the client to loop indefinitely and degrade performance or memory usage.
2026-07-18 16:41:45 -03:00
Kizuno18
de0af304fa
fix: webgl crash on chrome 149+ (growable memory = resizable sharedarraybuffer) (#1751)
Bug Fixes:
- Updated the browser/WebAssembly build to use a fixed heap size instead of growable memory.
- Improves compatibility with newer Chrome versions and helps prevent WebGL upload failures and related runtime issues.
2026-07-18 16:28:33 -03:00
mimus-assa
a28fc1cf4a
fix: allow ground-border items as use-with targets in Tile::getTopMultiUseThing (#1750)
Bug Fixes:
- Adjusted tile interaction behavior so certain items on a tile can now be selected more consistently.
- Improved the fallback selection logic to better recognize eligible multi-use objects, including some items that were previously skipped.
2026-07-18 16:27:41 -03:00
Kizuno18
e0092f012b
fix: few modules that fail to load on the browser/wasm build (#1749)
Bug Fixes:
- Improved stability and consistency in wheel, gem, workshop, and action selection flows.
- Fixed UI behavior so graph-related controls are now available in all supported builds.
- Updated glow rendering to work reliably across more graphics environments.
2026-07-18 16:26:55 -03:00
mimus-assa
76a3260fba
fix(rewardwall): send the daily reward source byte Canary expects (#1748)
Bug Fixes:
- Improved daily reward collection behavior so shrine rewards are handled correctly.
- Shrine-based rewards now collect immediately for free and return users to the reward wall UI.
- Non-shrine reward confirmations now send the proper reward flag, preventing incorrect reward requests.
2026-07-18 16:25:54 -03:00
mimus-assa
a4cbf1a575
fix(platform): compute mouseMoved delta in Cocoa mouse move events (#1747)
Bug Fixes:
- Mouse movement input now reports the correct movement delta when the cursor moves, improving responsiveness and accuracy for pointer-based interactions.
2026-07-18 16:22:26 -03:00