Field Battle Resource Boundary Review
resource command VM 호출점 5개는 모두 분류됐다. 고정 global root, stream immediate resource root, active object +0xec payload 경로로 나뉘며, 현재 어느 것도 field step/trigger -> encounter RNG -> btl/monster package 선택을 증명하지 않는다.
runner0x00423a2f
direct calls5
entry proof0
battle candidates21
save branch hits0
statusfield-battle-resource-consumer-boundary-route-blocked
Decisions
| id | status | decision | evidence |
|---|---|---|---|
resource-runner-call-sites | grounded | direct calls to 0x00423a2f are fully enumerated and classified. | 5 direct calls; 0 unclassified |
opcode10-map-load | grounded-not-entry | resource opcode 0x10 remains a map-load consumer, not the field encounter selector. | 173 opcode10 map records; selector producer still unresolved |
battle-adjacency-candidates | candidate-only | battle-like event/resource candidates are kept as adjacency candidates. | 21 candidate rows, no direct field step entry proof |
save-selector-encounter-state-note | not-hit-in-current-traces | the old encounter-state branch note is not a current proof row. | 0 rows with handler 0x0040fa6d/encounter-state note in save selector traces |
field-battle-entry | blocked | do not promote random field battle entry yet. | movement core has no RNG/btl/monster refs, active trigger bridge has no route/map CNS operands, and resource-runner callers are generic resource consumers |
Direct Resource Runner Calls
| call | consumer | source | root | entry proof | evidence |
|---|---|---|---|---|---|
0x00405f1a | active opcode 0x33 mode 0 | fixed global resource root | 0x0047e3540x0047e9cc | False | handler 0x00405ef8 reads stream[1], mode 0 loads dword [0x0047e354], then calls 0x00423a2f and advances +4 |
0x00405f2d | active opcode 0x33 mode 1 | fixed global resource root | 0x0047e3500x0047e954 | False | handler 0x00405ef8 reads stream[1], mode 1 loads dword [0x0047e350], then calls 0x00423a2f and advances +4 |
0x004063e8 | generic active/script resource command | stream immediate dword | | False | handler 0x004063d8 pushes dword [context+0x40+4], calls 0x00423a2f, then advances +8 |
0x00407a37 | active opcode 0x5e mode 0 | current object +0xec payload +4 | | False | handler 0x004079ff uses existing object [0x59dda8]+0xec, pushes payload dword at +4, calls resource runner, and resets object script state |
0x00407ae2 | active opcode 0x5e mode 1 | new object +0xec payload +0 | | False | handler 0x004079ff creates an object, stores stream+4 into +0xec, sets object+0x40 from payload +8, then pushes payload dword at +0 and calls resource runner |
Save Selector “Encounter-state” Note
| stream | row | handler | note |
|---|---|---|---|
| current traces contain no encounter-state branch rows | |||
Next Frontier
- Find a producer that selects a battle/formation resource package after successful walking steps.
- Separate event-driven battle resources from random field encounter formation tables.
- Search for monster formation IDs or btl_* selector values near step counter / per-field state, not inside already-closed movement mutation helpers.