Skip to content

Track intermittent equipment removal after controller inventory Use action #75

Description

@FrontMage

Summary

Intermittent report while testing TurtleWoW + ControllerBridge/CE on Android/Winlator: pressing controller X on a OneBag inventory item appeared to remove multiple equipped items. After adding broader diagnostics, the issue did not reproduce in the latest test, so this is being tracked as an unresolved intermittent issue rather than a confirmed CE action bug.

Current evidence

  • Controller mapping in cursor mode is currently:
    • X -> key 7 -> CE_CURSOR_USE_ITEM
    • B -> key 8 -> CE_CURSOR_CANCEL_HELD
    • equipment slot X should be the only path to CE_CURSOR_UNEQUIP.
  • During the repro attempt that looked suspicious, logs showed X entering CE_UseItem(), not CE_UnequipItem():
    • button key relay X->7 down
    • cursor-use entry button=OneBag0Item3 frame=OneBag0 key7=CE_CURSOR_USE_ITEM
    • resolved type=onebag button=OneBag0Item3 bag=0 slot=3
    • before-use ... link=[日晒水袋]
    • then UseContainerItem(0, 3) behavior followed.
  • No log evidence was seen for:
    • CE_CURSOR_UNEQUIP
    • cursor-unequip
    • PickupInventoryItem() from CE's own unequip path.
  • The item involved in the suspicious path was 日晒水袋 (item:80250), so at least one observed path was ordinary inventory item use, not direct equipment-slot unequip.

Diagnostics currently added locally

A temporary CE diagnostic wrapper has been added locally around global equipment/container APIs and deployed to the Android test client. It logs to Logs/ControllerBridge.log with tag equip-api:

  • PickupInventoryItem(slot)
  • UseInventoryItem(slot)
  • PutItemInBackpack()
  • PutItemInBag(slot)
  • EquipCursorItem(slot)
  • PickupContainerItem(bag, slot)
  • UseContainerItem(bag, slot, onself)
  • ClearCursor()

Each entry records args, current CE cursor button/frame, mouse focus, cursor state, a short stack, and before/after equipment summaries. Existing cursor-use and cursor-use-event logs also record use windows and inventory/equipment events.

Next repro checklist

  1. Keep the diagnostic wrapper enabled.
  2. /reload after deploying CE.
  3. Clear Logs/ControllerBridge.log.
  4. Open inventory, focus the suspect item, press X once.
  5. If equipment disappears, inspect equip-api for calls to PickupInventoryItem, UseInventoryItem, PutItemInBackpack, EquipCursorItem, or other non-CE plugin activity.

Expected decision once reproduced

  • If only UseContainerItem(0, slot) appears and equipment still changes, investigate item/native client behavior or another lower-level hook.
  • If a global equipment API appears, use the stack/current focus log to identify whether CE, SuperMacro/NewMacros, Outfitter, pfUI, or another addon initiated the move.
  • If no repro after repeated tests, remove or gate the high-volume diagnostics before committing CE polish changes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions