Comments that pointed into the maintainer's private reverse-engineering notes (a note by name, a path, a section or finding id, the analysis's own name for a client function, a process word) now carry the fact itself, cited by the reference client's address, by vmangos file and line, or as "the reference". Nobody outside could follow those pointers. Comment text only, plus the test-assert and log strings that carried the same pointers. No claim changes: a comment the notes have since corrected keeps its wording here, and correcting it is separate work. The two reference generators, `scripts/gen-reference-globals.py` and `scripts/gen-reference-verb-events.py`, named the private notes' layout to find their inputs. They now take the input files as arguments (`--capture`, `--framexml`, `--names`, `--extents`, `--disasm`). Run on the same inputs, both write the committed tables row for row; only the two header lines that named the old environment variable change. Checked per file: - the code is identical: each file with its comments stripped compares equal before and after; a changed string literal is compared under a mask that proves only literal text moved and every literal kept its line count; - no client address the old text cited was dropped; - a second reviewer checked every added address against its derivation; - a detector for the notes' names, paths, ids, function names and process words finds none left; - `scripts/gates.sh` is green. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
3.3 KiB
3.3 KiB
| 1 | # The 1.12.1 client's FrameScript events fired from inside a Lua verb, keyed by the verb. | ||||
|---|---|---|---|---|---|
| 2 | # Generated by scripts/gen-reference-verb-events.py from reference/1.12-shapes.tsv, | ||||
| 3 | # reference/1.12-event-firesites.tsv and the maintainer's analysis. | ||||
| 4 | # | ||||
| 5 | # shape body = a fire site inside the verb's own extent. | ||||
| 6 | # helper = a fire site inside a function that only registered verbs call | ||||
| 7 | # (at most 8 of them); `via` is that helper. A helper with any | ||||
| 8 | # non-verb caller produces a state event and is not here. | ||||
| 9 | # sites the fire sites themselves. | ||||
| 10 | # A floor, not a census: a verb with no row may still fire an event. | ||||
| 11 | # A site past its candidate function's extent is left out rather than mis-filed. | ||||
| 12 | # 43 pairs over 41 verbs and 27 events; 2 site(s) past a verified extent. | ||||
| 13 | verb | event | shape | via | sites |
| 14 | AddSkillUp | SKILL_LINES_CHANGED | helper | 0x4d32d0 | 0x4d346f |
| 15 | CancelSkillUps | SKILL_LINES_CHANGED | body | - | 0x4d3e3a |
| 16 | ChangeActionBarPage | ACTIONBAR_PAGE_CHANGED | body | - | 0x4e7655 |
| 17 | ChangeChatColor | UPDATE_CHAT_COLOR | body | - | 0x4a098b |
| 18 | CheckInbox | MAIL_INBOX_UPDATE | body | - | 0x4aeaf8 |
| 19 | ClickAuctionSellItemButton | NEW_AUCTION_UPDATE | body | - | 0x4ce576 |
| 20 | ClickSendMailItemButton | MAIL_SEND_INFO_UPDATE | body | - | 0x4ae0de |
| 21 | ClickTargetTradeButton | TRADE_REPLACE_ENCHANT | helper | 0x496170 | 0x496230 |
| 22 | CloseCraft | CRAFT_CLOSE | helper | 0x4f5fe0 | 0x4f5fef |
| 23 | CloseTrade | PLAYER_TRADE_MONEY | body | - | 0x4bfdce |
| 24 | CloseTradeSkill | TRADE_SKILL_CLOSE | helper | 0x4fc870 | 0x4fc884 |
| 25 | CollapseCraftSkillLine | CRAFT_UPDATE | helper | 0x4f6be0 | 0x4f6bf0 |
| 26 | CollapseQuestHeader | QUEST_LOG_UPDATE | helper | 0x4ded30 | 0x4ded98|0x4dedba|0x4dedd6 |
| 27 | CollapseTradeSkillSubClass | TRADE_SKILL_UPDATE | helper | 0x4fd750 | 0x4fd765 |
| 28 | CollapseTrainerSkillLine | TRAINER_UPDATE | helper | 0x4d8cd0 | 0x4d8ce0 |
| 29 | ConfirmLootRoll | CANCEL_LOOT_ROLL | helper | 0x61bdf0 | 0x61bf2a |
| 30 | ConfirmLootRoll | CONFIRM_LOOT_ROLL | helper | 0x61bdf0 | 0x61be8b |
| 31 | DoTradeSkill | UPDATE_TRADESKILL_RECAST | helper | 0x4fd770 | 0x4fd781 |
| 32 | DropCursorMoney | PLAYER_MONEY | helper | 0x494cc0 | 0x494d10 |
| 33 | ExpandCraftSkillLine | CRAFT_UPDATE | helper | 0x4f6be0 | 0x4f6bf0 |
| 34 | ExpandQuestHeader | QUEST_LOG_UPDATE | helper | 0x4ded30 | 0x4ded98|0x4dedba|0x4dedd6 |
| 35 | ExpandTradeSkillSubClass | TRADE_SKILL_UPDATE | helper | 0x4fd750 | 0x4fd765 |
| 36 | ExpandTrainerSkillLine | TRAINER_UPDATE | helper | 0x4d8cd0 | 0x4d8ce0 |
| 37 | PetDismiss | PET_DISMISS_START | helper | 0x4bd6e0 | 0x4bd722 |
| 38 | PickupPlayerMoney | PLAYER_MONEY | helper | 0x494cc0 | 0x494d10 |
| 39 | PickupTradeMoney | PLAYER_MONEY | helper | 0x494cc0 | 0x494d10 |
| 40 | RemoveSkillUp | SKILL_LINES_CHANGED | helper | 0x4d3480 | 0x4d3598 |
| 41 | RollOnLoot | CANCEL_LOOT_ROLL | helper | 0x61bdf0 | 0x61bf2a |
| 42 | RollOnLoot | CONFIRM_LOOT_ROLL | helper | 0x61bdf0 | 0x61be8b |
| 43 | SelectGossipOption | GOSSIP_ENTER_CODE | helper | 0x4e2320 | 0x4e237e |
| 44 | SendMail | MAIL_SEND_INFO_UPDATE | body | - | 0x4ae98d |
| 45 | SetBinding | UPDATE_BINDINGS | body | - | 0x4b805b |
| 46 | SetCVar | CVAR_UPDATE | body | - | 0x488cd5 |
| 47 | SetGuildRecruitmentMode | UPDATE_CHAT_WINDOWS | body | - | 0x4a00a9 |
| 48 | SetSendMailCOD | SEND_MAIL_COD_CHANGED | helper | 0x4adc70 | 0x4adc88 |
| 49 | SetSendMailMoney | SEND_MAIL_MONEY_CHANGED | helper | 0x4adbe0 | 0x4adc44 |
| 50 | SetTradeSkillInvSlotFilter | TRADE_SKILL_UPDATE | helper | 0x4fd730 | 0x4fd745 |
| 51 | SetTradeSkillSubClassFilter | TRADE_SKILL_UPDATE | helper | 0x4fd710 | 0x4fd725 |
| 52 | SetTrainerServiceTypeFilter | TRAINER_UPDATE | helper | 0x4d8c90 | 0x4d8ca0 |
| 53 | SetTrainerSkillLineFilter | TRAINER_UPDATE | helper | 0x4d8cb0 | 0x4d8cc0 |
| 54 | SortWho | WHO_LIST_UPDATE | body | - | 0x5ad9f2 |
| 55 | TogglePetAutocast | PET_BAR_UPDATE | helper | 0x4bcbb0 | 0x4bcc81 |
| 56 | ToggleSpellAutocast | PET_BAR_UPDATE | helper | 0x4bccb0 | 0x4bcdcb |