업데이트 2.223
2026. 8. 2.
v2.223.0.0BETAMINOR
Seymour2026년 8월 2일
F7 KEYSTONE WIRED: 네이티브 메뉴에 이제 APPLIES RAM 레버가 추가됨 (즉시 적용 on-screen) + HOOKS-IN-ENGLISH 규칙
- 키스톤 와이어:
NativeMenu_PumpHook(dllmain)은 이제 네이티브 메뉴 결과(g_ourClosed/g_ourResult/g_rowValue)를 처리하고 메뉴를 자동으로 닫습니다. F7의 대화형 행은 REAL in-game 효과를 나타냅니다. F7_LeverApply(dllmain): 즉시 RAM 레버 — Music (F7_MusicPreview— 이제 트랙 재생, 지속 효과 없음), 디버그 무적 (바이트0xD2A8F8+1), 강제 전투 (새F7_ForceFieldBattle(field, group)— 스테퍼의 임의 필드, tick-based), AI 오퍼코드 스왑 (바이트+0xF78을 통해g_BattleEnemyList0xD37634에서 살아있는 첫 번째 적의 오퍼코드 스왑) 및 난이도 (라이트 레버 — 다음 전투 시작 시 적용).F7_ForceFieldBattle(F7InLive.h/.cpp): tick-based과 동일한F7_ForceLastBattle머신으로, 레버의 필드/그룹을 반영합니다(기록된 마지막 전투에 대한 의존성은 없음).- 컴파일 수정:
NativeMenuShell.h가 이제 self-contained로 변경되었습니다(#include <stdio.h>— 해당 헤더 파일의_snprintf_s에서 TU에 대한 포함이 필요했기 때문입니다). - EXTRA RULE (CLAUDE.md): hooks/runtime C++ — 모든 내의 ENGLISH 텍스트(메뉴 레이블, 상태 표시줄, 로그, 내보내기 문자열)를 번역했으며, PT에 남아 있던
ArenaPlusComposePick문자열도 번역했습니다. - 게이트: 릴리스 build 0 오류; 스트이姆 배포 OK (
deploy-arena-plus-compose.ps1). RT2 pending: F7 → 선택 a 을브어 → 확인 즉시 on-screen 효과. ### PATCH
v2.222.2.0
v2.223.1.0BETAPATCH
Seymour2026년 8월 2일
StudioWebServer: POST /api/edits (F3.5 gizmo infra) + PPP DISPATCH TABLE VERIFIED 내 해당 CANONICAL DB (RE)
- POST
/api/edits/<encId>(StudioWebServer) (서버는 GET/HEAD만 허용함): 본문{ slot, position?, heading?, scale? }→SidecarEditsWriter을 통해<serveRoot>/data/FinalFantasyX/edits/<encId>.json로 병합 (data/ 접합부가 실제 noclip 루트에 기록됨). 유효성 검사: 소수점 encId ≤10, 슬롯 0-7, 본문 ≤64KB, 유효한 JSON. 드래그 기즈모의 기초 (F3.5 2부: noclip TS는 fetch POST를 통해 저장됨 — 외부 프로세스 없음, 동일 출처). 4/4개의 새로운 테스트 (쓰기+병합, 잘못된 encId, 잘못된 슬롯, 빈 본문). - RE — PPP 디스패치 테이블이 표준 DB 라이브 버전에서 검증됨 (
ffxoficial.exe.i64, ida-pro-mcp): 바이트+문자열+디컴파일을 통해 입증된 0x28바이트 항목으로 구성된 4개의 테이블 —0xC3A800변형 (name@+0x20, fn@+0x04),0xC3BEC8/0xC3FC88/0xC863F0표준 (name@+0x00, fn@+0x0C); 2026-07-31 MAGIC 문서에 대한 정교화:0xC3A500는 ppp* NAME POINTER VECTOR입니다(메인 테이블이 아님 — main=0, 0xFFFFFFFF 종결자); 실제 의미론: +0x04=fnExtra, +0x0C=fnMain, +0x18=fnCleanup; 273개의 앵커 이름; 재현 가능한 독립형 추출기scripts/ppp_dispatch_extractor.py(자체 PE 구문 분석, IDA/lock 미사용)은scripts/ppp_dispatch_table.json(773개 항목, 모든 테이블에 대해 IDA를 기준으로 슬롯 0-2 검증됨)을 재생성합니다; 적용된 이름 변경 으로 해당 CANONICAL DB (PPP_Table_DrawKe_Variant/DrawKe/MatrixKeDMat/ZCrct). 문서:docs/reverse/PPP_DISPATCH_TABLE_RECONCILED_2026-08-02.md. C2 실제 이름→fn 카탈로그를 사용하여 재개 가능. - 게이트: ViewerHub 테스트 17/17 PASS; build 0 오류.
- 처리 중: 테이블 소비자(테이블을 스캔함 — 직접적인 상호 참조 없음; 후보: HostContextTable 0xC64CE8); 캔버스 드래그 기즈모(위의 POST를 사용); MAGIC-07-31의 이름 변경을 복사본에서 표준 DB로 전파. ### MINOR
v2.223.0.0