Field Step Encounter Boundary Review
이동 성공과 충돌 판정은 actor controller/collision helper까지 확정됐지만, core movement 경계 안에서는 인카운트 RNG, battle background, monster CNS 직접 참조가 검출되지 않았다. per-frame script/timer 창에 shared RNG 1건이 있으나 이미 장면 랜덤 게이트로 분리된 호출이다. 따라서 전투 진입 판정은 알려진 이동 좌표 갱신 함수 내부가 아니라 별도 active-object callback, field/event script, 또는 아직 분리되지 않은 후속 소비처에서 찾아야 한다.
movement groundedTrue
core movement RNG0
known non-enc RNG1
battle CNS refs0
monster CNS refs0
battle entry promotedFalse
Movement Tile Mutation Surface
확정된 이동 좌표 갱신 경계입니다. 여기까지는 “걸어서 한 타일 이동했다”를 원본 EXE 기준으로 설명할 수 있습니다.
| mutation | VA |
|---|---|
| downYIncrement | 0x00430b5b |
| upYDecrement | 0x00430b74 |
| leftXDecrement | 0x00430b8d |
| rightXIncrement | 0x00430ba6 |
Known Window Scan
아래 창에서 shared RNG 0x00427730, btl_*.cns, monster/battle actor CNS 직접 참조를 찾았습니다.
| window | role | calls | RNG | btl refs | monster refs | known globals |
|---|---|---|---|---|---|---|
main update loop0x00411476..0x0041157e | per-frame wrapper; calls input, active-object callback, script/timer updates | 18 0x00417cfe, 0x00401000, 0x00422d74, 0x00435c04, 0x00432ff0, 0x00425403, 0x0041157e, 0x00424a2a, 0x00424b9d, 0x00411677, 0x00425067, 0x00417426 ... +6 | 0 | 0 | 0 | - |
input/action mask update0x00422d74..0x00422f30 | packs keyboard/pad state into continuous and pressed-edge masks | 8 0x0042f4ee, 0x0042f6d2, 0x0042f8cf, 0x00422e18, 0x004235df, 0x00423a01, 0x00423a01, 0x004238eb | 0 | 0 | 0 | continuous input mask, pressed-edge input mask |
active object callback update0x00435c04..0x00435d80 | iterates active object callbacks | 1 0x00436fb0 | 0 | 0 | 0 | - |
object script/timer update0x00432ff0..0x00433380 | runs object frame scripts; contains known scene random-gate surface | 8 0x00402321, 0x00427730, 0x00435b5b, 0x00402360, 0x00402360, 0x00436fb0, 0x33438822, 0x-75bc77b1 | 1 | 0 | 0 | - |
actor controller / tile mutation0x0043022d..0x004319f4 | reads input mask, collision helper result, mutates actor tile fields +0xe8/+0xea and trail ring | 54 0x-7abcb84c, 0x3b4347e5, 0x00424cd6, 0x3343036f, 0x00497461, 0x004319f8, 0x034304c5, 0x004319f8, 0x004319f8, 0x004319f8, 0x004319f8, 0x004319f8 ... +42 | 0 | 0 | 0 | active actor count, active actor pointer table, active actor slot table, continuous input mask, layer1 collision flag grid, map height, map width, party trail cursor ring, party trail direction table, party trail tile X table, party trail tile Y table |
collision helper0x004319f8..0x00432020 | tests layer1 collision flag grid 0x0058d7d0/0x0058d7ce against actor footprint | 20 0x03431aac, 0x03431b4a, 0x-7abce47b, 0x03431bc5, 0x3b431c0d, 0x03431c5a, 0x03431d56, 0x3b431d65, 0x03431d84, 0x3b431d93, 0x03431e0d, 0x3b431e1c ... +8 | 0 | 0 | 0 | active actor count, active actor pointer table, active actor slot table, layer1 collision edge helper grid, layer1 collision flag grid, map height, map width |
input action packer0x0042f6d2..0x0042f800 | translates key table state to action bitmasks | 0 - | 0 | 0 | 0 | - |