JARVIS-ARENA
Aggiornamento 2.129
16/06/2026
v2.129.0.0MINORJarvis-ARENA
Scaffold BattleEndHook per Battle Multi Dark Aeon Arena+ (Lane 3) + RE della pipeline di teardown della battaglia
- (nuova capacità della DLL: nuovo hook PolyHook2 in sola lettura sul cleanup della battaglia, più RE inedita della pipeline di fine battaglia). RE effettuata tramite IDA + MCP idalib — funzioni rinomate e commentate in
work/reverse/ida/FFX_recon.i64(REGOLA D'ORO applicata):FFX_Battle_EndCleanupDispatcher @ 0x79E650(erasub_79E650),FFX_Battle_EffectFreeAtEnd @ 0x7FB090(erasub_7FB090, emette il log letterale "(op)\top_et_battle_effect_free( battle end )"),FFX_Battle_GetNextEncounterToken @ 0x7C5EE0(erasub_7C5EE0). Catena scoperta:FFX_Btl_MainBattleTick @ 0x790C60chiama il cleanup quandosub_888CE0(0,0,0)ha il bit 0x20 attivato, prima cheFFX_Battle_InitEncounterFromBtlbinrientri nel loop o torni al campo. Nuovi file:RuntimeTools/FfxHooksDll/hooks/BattleEndHook.{h,cpp}(scaffold completo: detour, callback registrabile, debounce per handle, structBattleEndEventconeffectHandle/nextEncounterTok/result/sequenceNo). 5 nuove RVA inshared/ffx_addresses.h:RVA_FFX_BATTLE_END_CLEANUP_DISPATCHER,RVA_FFX_BATTLE_EFFECT_FREE_AT_END,RVA_FFX_BATTLE_GET_NEXT_ENCOUNTER_TOKEN,RVA_FFX_BATTLE_MAIN_TICK,RVA_FFX_BATTLE_END_EFFECT_HANDLE(=dword_1134564[1743]@0x11360A0). Gate:arena_plus_victory_hook.flag(envFFXHOOKS_ENABL E_ARENA_PLUS_VICTORY_HOOK=1); default OFF. Callback defaultArenaPlus_OnBattleEndemdllmain.cppapenas LOGA — NAO grava nospira-arena-progress.jsonainda. 2 TODOs explicitos para RT2 spike com Halyson: (a) distinguir vitoria/derrota/fuga via bitmask desub_888CE0; (b) mapeareffectHandle->progress_flagvia correlacao com ultimoResolverLogHookmatch. Linha de plug-inArenaProgress_RecordCleareddeixada comentada e explicada no codigo. Build PolyHook PASS 12/12 cpp. Doc completa emdocs/reverse/FFX_ARENA_PLUS_BATTLE_END_HOOK_RE_2026-06-16.md. Reversibilidade: remover flag = vanilla instantaneo; hook nao toca memoria/return. [anterior:v2.128.0.1]