맵 애니메이션 0x40 redraw 리뷰

layer1 0x40 플래그 셀에서 실제로 표시되는 layer0 타일을 뽑고, EXE의 redraw/palette consumer 근거와 함께 정리했다.

현재 결론: layer1 0x40 dirty redraw 대상은 확정이지만, 불꽃/폭포/물결의 실제 움직임 stream은 아직 미확정이다. palette-only는 시각적으로 맞지 않는다.

50x40 flag maps
1200animated cells
5connected regions
15same-column source groups
1rectangular source block regions
32animated palette indices
29palette command candidates
10high VM-aligned candidates
0animated resource bindings

EXE consumer evidence

EXE consumers for layer1 0x40, dirty redraw, and palette mutation were found. 0x40 marks cells that must be redrawn because their pixels can change without changing the layer0 tile id at the redraw consumer. Palette-only does not explain the observed spatial motion, so the per-map visible motion stream remains unproven.

confirmed

  • layer1 bit 0x40 is read by EXE during viewport redraw preparation.
  • The 0x40 consumer marks the same map cells dirty every redraw pass; it does not choose alternate tile ids.
  • The map draw path uses the current layer0 tile id directly, while 0x40 only affects redraw invalidation.
  • The EXE has palette VM handlers and a deferred DirectDrawPalette SetEntries path.
  • Generic VM palette opcodes are now length/mode grounded: 0x38 and 0x39 are 8-byte commands, while 0x3a and 0x3b are 4-byte commands.
  • Opcode 0x38 is a palette step family: mode 0 steps a list toward target RGB, mode 1 steps a range toward stream RGB, and mode 2 steps a range toward backup palette bytes.
  • Opcode 0x39 is a palette set family: mode 0 sets current palette list, mode 1 fills current palette range, mode 2 fills backup palette range, and mode 3 sets backup palette list.
  • The non-transparent palette indices used by the current 0x40 layer0 source tiles have been mapped from CNS pixels.
  • A stricter local VM alignment scan promotes a subset of raw 0x38/0x39 byte-pattern hits to VM-shaped palette script candidates.
  • VM-aligned palette script roots are now cross-checked against scene/resource groups and nearby map resource records.
  • The animated fire/waterfall/water regions sit on ordinary layer0 tile ids; 0x40 dirty redraw is grounded, but the visible motion stream is still unbound.

unresolved

  • The exact executed palette command for each map animation has not been bound to a specific map root yet.
  • The palette-cycle timing/order is not fully tied to a specific map root yet.
  • Resource binding is a correlation layer only. A contained or nearby resource group does not by itself prove runtime execution for that map.
  • Broad static palette-command scans contain false positives unless tied to an executed VM command stream; local alignment reduces but does not eliminate this risk.
  • Generic VM tile-write handlers still exist, but current 0x40 map animation evidence does not require them.
address evidence
VAkindevidencemeaning
0x00425494layer1-grid-readreads WORD [0x0058d7d0 + index*2]viewport scan over layer1 collision/flag grid
0x0042549clayer1-0x40-consumertest cl, 0x40flags 0x40 cells into the redraw/dirty byte grid; does not choose alternate frame tiles here
0x0040234cvm-dispatchcall DWORD PTR [opcode*4 + 0x00440538]command stream dispatch table used by the game/event VM
0x00407686tile-write-handlerhandler table entry at 0x00440698; writes WORD to 0x00595af0 or 0x0058d7d0command layout uses layer selector, tile id, x, y; then invalidates the touched tile
0x00408d10active-object-relative-tile-writeiterates active object list and writes tile id at object-relative map coordinatesvariant for object/NPC/event-relative map-grid changes
0x00409f23active-object-list-tile-writeiterates linked active object list and writes tile id at object-relative map coordinatesanother object-list variant for map-grid changes
0x004255ebtile-invalidatecalled after tile-grid mutation with x/ymarks one touched map tile for redraw
0x004060dbpalette-vm-handlerdispatch table 0x00440538 opcode 0x388-byte palette step command: list-step to RGB, range-step to RGB, or range-step to backup palette
0x00406206palette-vm-handlerdispatch table 0x00440538 opcode 0x398-byte palette set command: set current palette list/range or seed backup palette list/range
0x00401036palette-list-setterreads entries until 0xff terminator and writes RGB nibbles into 0x004676e8 palette buffersets palette entries immediately and marks palette dirty at 0x00559d98
0x004010d2palette-list-stepperuses 0x0040118e to increment/decrement RGB bytes toward target valuesgradual palette transition/fade helper
0x00401518palette-range-steppercalled by opcode 0x38 mode 1; walks a palette range toward stream RGB bytesrange fade helper for current palette entries
0x0040146apalette-range-step-to-backupcalled by opcode 0x38 mode 2; walks a palette range toward backup bytes at 0x00559da1..range restore/fade-to-backup helper
0x004015b9palette-current-range-settercalled by opcode 0x39 mode 1; writes one gray/RGB byte to current palette rangedirect current palette range fill helper
0x00401632palette-backup-range-settercalled by opcode 0x39 mode 2; writes one gray/RGB byte to backup palette rangebackup palette range fill helper
0x00401699palette-backup-list-settercalled by opcode 0x39 mode 3; reads 0xff-terminated palette listbackup palette list seed helper
0x00401000deferred-palette-applyif 0x00559d98 is set, calls 0x00416677 with start 0 and count 0x100 then clears the dirty flagapplies changed palette buffer to DirectDraw before presentation/update
0x00416677directdraw-palette-setentriescalls IDirectDrawPalette::SetEntries through vtable offset 0x18pushes a palette range from 0x004676e8 into the active DirectDraw palette

Palette command static scan

animated source tile palette index range: 0x02-0x2e · candidates 29

local VM alignment: vm-aligned-local-high: 10, vm-aligned-local-medium: 10, vm-aligned-local-weak: 9

resource binding: map-binding-unproven: 9, near-animated-scene-record-unverified: 2, resource-group-contained-nonanimated: 18

effect scope: broad-screen-palette-transition: 22, localized-palette-candidate: 7 · near animated broad transitions: 4

This is a broad static scan over .data for palette VM command forms. It proves matching command shapes exist, not that a specific map root executes them.

candidate palette commands touching animated tile indices
VAopcode/modekindrangeeffect scopepayload/listlocal VM alignmentresource binding
0x0043d9200x38 / mode 1range-step-to-rgb0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
00 00 00 20vm-aligned-local-high
0x0043d904 idx 5 / cmds 32
refs: 0x0043cd9c:.data, 0x0043ced8:.data, 0x0043d354:.data, 0x0043d43c:.data
0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x30+192 rgb=(0, 0, 0) repeat=64 / 0x06 -> 0x0043d904 / 0x05 00 00 00 / 0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x10+224 rgb=(0, 0, 0) repeat=32
near-animated-scene-record-unverified
0x0043d904
near scene: map1_01a*@0x0043e798 +3732; map1_02b*@0x0043e7f0 +3820
near group: scene-text-group-004 +9048; scene-text-group-005 +28992
The VM root is close to an animated scene/resource record, but not inside a selector-root range.
0x0043d96c0x38 / mode 2range-step-to-backup0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
20 00 00 00vm-aligned-local-high
0x0043d91c idx 14 / cmds 28
refs: 0x0043d458:.data, 0x0043d4f8:.data, 0x0043d8d8:.data, 0x0043d92c:.data
0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x10+224 rgb=(0, 0, 0) repeat=32 / 0x06 -> 0x0043d91c / 0x05 00 00 00 / 0x01 00 00 00 / 0x38/m2 range-step-to-backup 0x30+192 repeat=64
near-animated-scene-record-unverified
0x0043d91c
near scene: map1_01a*@0x0043e798 +3708; map1_02b*@0x0043e7f0 +3796
near group: scene-text-group-004 +9024; scene-text-group-005 +28968
The VM root is close to an animated scene/resource record, but not inside a selector-root range.
0x00440bb80x38 / mode 0list-step-to-rgb0x00-0xe8broad-screen-palette-transition
entries: 233
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x00440c08vm-aligned-local-medium
0x00440bb8 idx 0 / cmds 5
refs: -
0x38/m0 list-step ptr=0x00440c08 repeat=0 / 0x65 03 69 00 39 00 00 00 08 0c 44 00 / 0x65 03 69 00 3a 00 00 00 08 0c 44 00 / 0x65 03 69 00 3b 00 00 00 08 0c 44 00 / 0x65 03 17 00 00 00 00 00 18 0c 44 00
resource-group-contained-nonanimated
0x00440bb8
contains scene-text-group-004 56:0 · animated: - · maps: -
near scene: map2_01c*@0x00440f90 +984; map2_13c*@0x00440fc8 +1040
near group: scene-text-group-005 +16012; scene-text-group-006* +40728
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x00440bc40x39 / mode 0list-set-current0x00-0xe8broad-screen-palette-transition
entries: 233
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x00440c08vm-aligned-local-medium
0x00440bc4 idx 0 / cmds 4
refs: -
0x39/m0 list-set-current ptr=0x00440c08 / 0x65 03 69 00 3a 00 00 00 08 0c 44 00 / 0x65 03 69 00 3b 00 00 00 08 0c 44 00 / 0x65 03 17 00 00 00 00 00 18 0c 44 00
resource-group-contained-nonanimated
0x00440bc4
contains scene-text-group-004 56:0 · animated: - · maps: -
near scene: map2_01c*@0x00440f90 +972; map2_13c*@0x00440fc8 +1028
near group: scene-text-group-005 +16000; scene-text-group-006* +40716
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004443c80x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449b4vm-aligned-local-medium
0x004443c8 idx 0 / cmds 12
refs: -
0x39/m0 list-set-current ptr=0x004449b4 / 0x65 03 0d 00 39 00 00 00 b4 49 44 00 / 0x65 03 0e 00 39 00 00 00 b4 49 44 00 / 0x65 03 34 00 0d 00 00 00 c4 49 44 00 / 0x65 03 35 00 0d 00 00 00 c4 49 44 00 / 0x65 03 36 00 0d 00 00 00 c4 49 44 00
map-binding-unproven
0x004443c8
near scene: map2_03l@0x00441000 +13256; map2_13c*@0x00440fc8 +13312
near group: scene-text-group-005 +1660; scene-text-group-004 +4040
No resource group or scene record currently binds this VM root to a specific animated map.
0x004443d40x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449b4vm-aligned-local-medium
0x004443d4 idx 0 / cmds 11
refs: -
0x39/m0 list-set-current ptr=0x004449b4 / 0x65 03 0e 00 39 00 00 00 b4 49 44 00 / 0x65 03 34 00 0d 00 00 00 c4 49 44 00 / 0x65 03 35 00 0d 00 00 00 c4 49 44 00 / 0x65 03 36 00 0d 00 00 00 c4 49 44 00 / 0x65 03 0c 00 0d 00 00 00 d4 49 44 00
map-binding-unproven
0x004443d4
near scene: map2_03l@0x00441000 +13268; map2_13c*@0x00440fc8 +13324
near group: scene-text-group-005 +1648; scene-text-group-004 +4052
No resource group or scene record currently binds this VM root to a specific animated map.
0x004443e00x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449b4vm-aligned-local-medium
0x004443e0 idx 0 / cmds 10
refs: -
0x39/m0 list-set-current ptr=0x004449b4 / 0x65 03 34 00 0d 00 00 00 c4 49 44 00 / 0x65 03 35 00 0d 00 00 00 c4 49 44 00 / 0x65 03 36 00 0d 00 00 00 c4 49 44 00 / 0x65 03 0c 00 0d 00 00 00 d4 49 44 00 / 0x65 03 0d 00 0d 00 00 00 d4 49 44 00
map-binding-unproven
0x004443e0
near scene: map2_03l@0x00441000 +13280; map2_13c*@0x00440fc8 +13336
near group: scene-text-group-005 +1636; scene-text-group-004 +4064
No resource group or scene record currently binds this VM root to a specific animated map.
0x004444340x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449e4vm-aligned-local-weak
0x00444434 idx 0 / cmds 3
refs: -
0x39/m0 list-set-current ptr=0x004449e4 / 0x65 03 35 00 39 00 00 00 e4 49 44 00 / 0x65 03 36 00 39 00 00 00 e4 49 44 00
map-binding-unproven
0x00444434
near scene: map2_03l@0x00441000 +13364; map2_13c*@0x00440fc8 +13420
near group: scene-text-group-005 +1552; scene-text-group-004 +4148
No resource group or scene record currently binds this VM root to a specific animated map.
0x004444400x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449e4vm-aligned-local-weak
0x00444440 idx 0 / cmds 2
refs: -
0x39/m0 list-set-current ptr=0x004449e4 / 0x65 03 36 00 39 00 00 00 e4 49 44 00
map-binding-unproven
0x00444440
near scene: map2_03l@0x00441000 +13376; map2_13c*@0x00440fc8 +13432
near group: scene-text-group-005 +1540; scene-text-group-004 +4160
No resource group or scene record currently binds this VM root to a specific animated map.
0x0044444c0x39 / mode 0list-set-current0x00-0xfcbroad-screen-palette-transition
entries: 253
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004449e4vm-aligned-local-weak
0x0044444c idx 0 / cmds 1
refs: -
0x39/m0 list-set-current ptr=0x004449e4
map-binding-unproven
0x0044444c
near scene: map2_03l@0x00441000 +13388; map2_13c*@0x00440fc8 +13444
near group: scene-text-group-005 +1528; scene-text-group-004 +4172
No resource group or scene record currently binds this VM root to a specific animated map.
0x0045c5220x38 / mode 1range-step-to-rgb0x11-0x90broad-screen-palette-transition
entries: 128
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
94 00 40 00vm-aligned-local-medium
0x0045c516 idx 3 / cmds 5
refs: -
0x08 00 04 c5 / 0x45 00 12 80 / 0x1c 00 00 00 / 0x38/m1 range-step-to-rgb 0x11+128 rgb=(148, 0, 64) repeat=0 / 0x00 00 02 00
resource-group-contained-nonanimated
0x0045c516
contains scene-text-group-008 22:0 · animated: - · maps: map7_09k, map7_10k, map7_11k, map7_12k
near scene: map7_09k@0x0045cb58 +1602; map7_10k@0x0045cbb0 +1690
near group: scene-text-group-009* +4746; scene-text-group-007 +10066
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0045c56e0x38 / mode 1range-step-to-rgb0x03-0x26localized-palette-candidate
entries: 36
Touches a relatively small palette range; still needs map-root execution binding before promotion.
00 00 00 00vm-aligned-local-medium
0x0045c56e idx 0 / cmds 4
refs: -
0x38/m1 range-step-to-rgb 0x03+36 rgb=(0, 0, 0) repeat=0 / 0x70 fe 03 84 00 00 00 00 / 0x30 00 02 94 04 00 02 8e / 0x00 40 03 2c
resource-group-contained-nonanimated
0x0045c56e
contains scene-text-group-008 22:0 · animated: - · maps: map7_09k, map7_10k, map7_11k, map7_12k
near scene: map7_09k@0x0045cb58 +1514; map7_10k@0x0045cbb0 +1602
near group: scene-text-group-009* +4658; scene-text-group-007 +10154
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0045c5d20x38 / mode 1range-step-to-rgb0x12-0x91broad-screen-palette-transition
entries: 128
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
84 00 00 00vm-aligned-local-weak
0x0045c5d2 idx 0 / cmds 1
refs: -
0x38/m1 range-step-to-rgb 0x12+128 rgb=(132, 0, 0) repeat=0
resource-group-contained-nonanimated
0x0045c5d2
contains scene-text-group-008 22:0 · animated: - · maps: map7_09k, map7_10k, map7_11k, map7_12k
near scene: map7_09k@0x0045cb58 +1414; map7_10k@0x0045cbb0 +1502
near group: scene-text-group-009* +4558; scene-text-group-007 +10254
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0046c5400x38 / mode 1range-step-to-rgb0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
00 00 00 10vm-aligned-local-high
0x0046c4f0 idx 14 / cmds 37
refs: -
0x72 c4 54 00 84 00 00 00 / 0x29 1b 00 00 / 0x3f 00 00 00 24 c6 46 00 / 0x47 00 00 00 / 0x6d 01 00 00 / 0x01 00 00 00
resource-group-contained-nonanimated
0x0046c4f0
contains scene-text-group-010 16:0 · animated: - · maps: map5_01f, map5_02h, map5_03h, map5_04h +4
near scene: map5_39h@0x0046c0b8 +1080; map5_10h@0x0046c080 +1136
near group: scene-text-group-009* +14808; scene-text-group-011 +31956
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0046c58c0x38 / mode 2range-step-to-backup0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
10 00 00 00vm-aligned-local-high
0x0046c53c idx 14 / cmds 24
refs: 0x0046c4e8:.data, 0x0046c54c:.data
0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x10+224 rgb=(0, 0, 0) repeat=16 / 0x06 -> 0x0046c53c / 0x05 00 00 00 / 0x01 00 00 00 / 0x38/m2 range-step-to-backup 0x30+192 repeat=64
resource-group-contained-nonanimated
0x0046c53c
contains scene-text-group-010 16:0 · animated: - · maps: map5_01f, map5_02h, map5_03h, map5_04h +4
near scene: map5_39h@0x0046c0b8 +1156; map5_10h@0x0046c080 +1212
near group: scene-text-group-009* +14884; scene-text-group-011 +31880
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004a6fa80x38 / mode 1range-step-to-rgb0x10-0x2flocalized-palette-candidate
entries: 32
Touches a relatively small palette range; still needs map-root execution binding before promotion.
00 00 00 10vm-aligned-local-high
0x004a6f4c idx 17 / cmds 31
refs: 0x004a6f60:.data
0x2d 09 00 00 / 0x01 00 00 00 / 0x11 82 8c 00 00 04 00 00 / 0x06 -> 0x004a6f4c / 0x2d 09 00 00 / 0x40 00 00 00
map-binding-unproven
0x004a6f4c
near scene: map4_07h@0x004a5a34 +5400; map4_06h@0x004a59ec +5472
near group: scene-text-group-016 +1440; scene-text-group-015 +12640
No resource group or scene record currently binds this VM root to a specific animated map.
0x004a6fc00x38 / mode 2range-step-to-backup0x10-0x2flocalized-palette-candidate
entries: 32
Touches a relatively small palette range; still needs map-root execution binding before promotion.
10 00 00 00vm-aligned-local-high
0x004a6f64 idx 17 / cmds 27
refs: -
0x2d 09 00 00 / 0x40 00 00 00 / 0x01 00 00 00 / 0x13 -> 0x004a6f6c / 0x2d 09 00 00 / 0x01 00 00 00
map-binding-unproven
0x004a6f64
near scene: map4_07h@0x004a5a34 +5424; map4_06h@0x004a59ec +5496
near group: scene-text-group-016 +1464; scene-text-group-015 +12664
No resource group or scene record currently binds this VM root to a specific animated map.
0x004b07900x38 / mode 0list-step-to-rgb0x00-0xd8broad-screen-palette-transition
entries: 217
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004b07e0vm-aligned-local-medium
0x004b0790 idx 0 / cmds 5
refs: -
0x38/m0 list-step ptr=0x004b07e0 repeat=0 / 0x65 03 69 00 39 00 00 00 e0 07 4b 00 / 0x65 03 69 00 3a 00 00 00 e0 07 4b 00 / 0x65 03 69 00 3b 00 00 00 e0 07 4b 00 / 0x65 03 17 00 00 00 00 00 f0 07 4b 00
resource-group-contained-nonanimated
0x004b0790
contains scene-text-group-017 18:0 · animated: - · maps: map2_04l, map2_05e, map2_06e, map2_07e +4
near scene: map6_23e@0x004b042c +868; map6_11e@0x004b0384 +1036
near group: scene-text-group-016 +40420; scene-text-group-015 +51620
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004b079c0x39 / mode 0list-set-current0x00-0xd8broad-screen-palette-transition
entries: 217
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004b07e0vm-aligned-local-medium
0x004b079c idx 0 / cmds 4
refs: -
0x39/m0 list-set-current ptr=0x004b07e0 / 0x65 03 69 00 3a 00 00 00 e0 07 4b 00 / 0x65 03 69 00 3b 00 00 00 e0 07 4b 00 / 0x65 03 17 00 00 00 00 00 f0 07 4b 00
resource-group-contained-nonanimated
0x004b079c
contains scene-text-group-017 18:0 · animated: - · maps: map2_04l, map2_05e, map2_06e, map2_07e +4
near scene: map6_23e@0x004b042c +880; map6_11e@0x004b0384 +1048
near group: scene-text-group-016 +40432; scene-text-group-015 +51632
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004d28800x38 / mode 0list-step-to-rgb0x01-0xc5broad-screen-palette-transition
entries: 197
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
0x004d3eb2vm-aligned-local-medium
0x004d2864 idx 4 / cmds 6
refs: -
0x3a 3e 4d 00 / 0x0d 00 05 00 / 0x58 3e 4d 00 36 00 05 00 / 0x76 3e 4d 00 37 00 05 00 94 3e 4d 00 / 0x38/m0 list-step ptr=0x004d3eb2 repeat=5 / 0x0d 00 05 00
map-binding-unproven
0x004d2864
near scene: map7_05h@0x004d16b8 +4524; map7_02f@0x004d1650 +4628
near group: scene-text-group-020 +4224; scene-text-group-019 +26712
No resource group or scene record currently binds this VM root to a specific animated map.
0x004de3e80x38 / mode 1range-step-to-rgb0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
00 00 00 10vm-aligned-local-high
0x004de388 idx 17 / cmds 35
refs: 0x004de36c:.data
0x13 -> 0x004de240 / 0x26 40 00 00 / 0x43 00 00 00 / 0x10 c0 6e 00 / 0x40 00 00 00 / 0x03 -> 0x004de240
resource-group-contained-nonanimated
0x004de388
contains scene-text-group-021 29:0 · animated: - · maps: -
near scene: map2_04l@0x004e17e8 +13408; map2_05e@0x004e1820 +13464
near group: scene-text-group-022 +16364; scene-text-group-023 +24576
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004dea9c0x38 / mode 1range-step-to-rgb0x10-0xefbroad-screen-palette-transition
entries: 224
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
00 00 00 40vm-aligned-local-high
0x004dea90 idx 3 / cmds 31
refs: -
0x24 01 00 01 / 0x3b 10 e0 00 / 0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x10+224 rgb=(0, 0, 0) repeat=64 / 0x06 -> 0x004dea98 / 0x10 f0 10 39
resource-group-contained-nonanimated
0x004dea90
contains scene-text-group-021 29:0 · animated: - · maps: -
near scene: map2_04l@0x004e17e8 +11608; map2_05e@0x004e1820 +11664
near group: scene-text-group-022 +14564; scene-text-group-023 +22776
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004dfe1c0x39 / mode 1range-set-current-gray0x10-0xdfbroad-screen-palette-transition
entries: 208
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
ff 00 00 00vm-aligned-local-high
0x004dfde8 idx 9 / cmds 30
refs: 0x004df71c:.data, 0x004df748:.data, 0x004df76c:.data, 0x004df7f8:.data
0x6d 01 00 00 / 0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x30+192 rgb=(0, 0, 0) repeat=64 / 0x06 -> 0x004dfdec / 0x05 00 00 00 / 0x01 00 00 00
resource-group-contained-nonanimated
0x004dfde8
contains scene-text-group-021 29:0 · animated: - · maps: -
near scene: map2_04l@0x004e17e8 +6656; map2_05e@0x004e1820 +6712
near group: scene-text-group-022 +9612; scene-text-group-023 +17824
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x004dfe600x38 / mode 2range-step-to-backup0x10-0xdfbroad-screen-palette-transition
entries: 208
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
20 00 00 00vm-aligned-local-high
0x004dfe04 idx 16 / cmds 25
refs: 0x004dfe14:.data, 0x004dfea8:.data, 0x004e0060:.data, 0x004e01c8:.data
0x01 00 00 00 / 0x38/m1 range-step-to-rgb 0x30+192 rgb=(0, 0, 0) repeat=64 / 0x06 -> 0x004dfe04 / 0x05 00 00 00 / 0x39/m1 range-set-current-gray 0x10+208 value=255 / 0x05 00 00 00
resource-group-contained-nonanimated
0x004dfe04
contains scene-text-group-021 29:0 · animated: - · maps: -
near scene: map2_04l@0x004e17e8 +6628; map2_05e@0x004e1820 +6684
near group: scene-text-group-022 +9584; scene-text-group-023 +17796
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0052021a0x38 / mode 1range-step-to-rgb0x28-0x29localized-palette-candidate
entries: 2
Touches a relatively small palette range; still needs map-root execution binding before promotion.
52 00 20 00vm-aligned-local-weak
0x0052021a idx 0 / cmds 2
refs: -
0x38/m1 range-step-to-rgb 0x28+2 rgb=(82, 0, 32) repeat=0 / 0x00 00 b0 02
resource-group-contained-nonanimated
0x0052021a
contains scene-text-group-032 36:2 · animated: - · maps: -
near scene: map5_21i@0x00523a50 +14390; map5_22i@0x00523aa8 +14478
near group: scene-text-group-033 +16694; scene-text-group-031 +17366
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x005202fe0x39 / mode 1range-set-current-gray0x0c-0x0elocalized-palette-candidate
entries: 3
Touches a relatively small palette range; still needs map-root execution binding before promotion.
52 00 20 00vm-aligned-local-weak
0x005202fe idx 0 / cmds 2
refs: -
0x39/m1 range-set-current-gray 0x0c+3 value=82 / 0x00 00 64 03
resource-group-contained-nonanimated
0x005202fe
contains scene-text-group-032 36:2 · animated: - · maps: -
near scene: map5_21i@0x00523a50 +14162; map5_22i@0x00523aa8 +14250
near group: scene-text-group-033 +16466; scene-text-group-031 +17594
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0052be720x38 / mode 2range-step-to-backup0x24-0x24localized-palette-candidate
entries: 1
Touches a relatively small palette range; still needs map-root execution binding before promotion.
00 29 20 00vm-aligned-local-weak
0x0052be72 idx 0 / cmds 2
refs: -
0x38/m2 range-step-to-backup 0x24+1 repeat=0 / 0x00 00 b4 be
resource-group-contained-nonanimated
0x0052be72
contains scene-text-group-034 49:0 · animated: - · maps: -
near scene: map8_19p@0x0052d670 +6142; map8_20p@0x0052d6b8 +6214
near group: scene-text-group-035 +7398; scene-text-group-033 +14282
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0052bf060x39 / mode 2range-set-backup-gray0x14-0xd2broad-screen-palette-transition
entries: 191
Touches a broad palette range; treat as screen fade/transition evidence, not a localized map animation loop by itself.
52 00 20 00vm-aligned-local-weak
0x0052bf06 idx 0 / cmds 2
refs: -
0x39/m2 range-set-backup-gray 0x14+191 value=82 / 0x00 00 84 bf
resource-group-contained-nonanimated
0x0052bf06
contains scene-text-group-034 49:0 · animated: - · maps: -
near scene: map8_19p@0x0052d670 +5994; map8_20p@0x0052d6b8 +6066
near group: scene-text-group-035 +7250; scene-text-group-033 +14430
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
0x0052bf420x39 / mode 2range-set-backup-gray0x24-0x24localized-palette-candidate
entries: 1
Touches a relatively small palette range; still needs map-root execution binding before promotion.
00 29 20 00vm-aligned-local-weak
0x0052bf42 idx 0 / cmds 2
refs: -
0x39/m2 range-set-backup-gray 0x24+1 value=0 / 0x00 00 84 bf
resource-group-contained-nonanimated
0x0052bf42
contains scene-text-group-034 49:0 · animated: - · maps: -
near scene: map8_19p@0x0052d670 +5934; map8_20p@0x0052d6b8 +6006
near group: scene-text-group-035 +7190; scene-text-group-033 +14490
The VM root falls inside a selector-root group, but that group does not reference the currently known 0x40 animated maps/tilesets.
mapsource tilesetcoverageflagged regionlayer0 source / animation redraw footprint
map1_01amap_a1
map_a1, map_a2
12 cells
1 components
12 layer0 tiles
(15,16)-(18,18) 4x3 · 12 cells
same-column-static-source-cluster col 36
#396x1#436x1#476x1

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 37
#397x1#437x1#477x1

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 38
#398x1#438x1#478x1

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 39
#399x1#439x1#479x1

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

palette indices used by 0x40 source tiles

23 non-transparent indices · 0x02-0x04, 0x06-0x07, 0x0b-0x0d, 0x10-0x15, 0x1b, 0x20, 0x23-0x25, 0x28, 0x2c-0x2e

top pixel counts: 0x03(550), 0x0c(521), 0x04(489), 0x07(404), 0x2d(220), 0x0b(119), 0x11(113), 0x10(99), 0x0d(94), 0x2c(68)

0x40 placement grid: flagged map cells and current layer0 tile ids

region 1: (15,16)-(18,18)

396397398399436437438439476477478479
source footprint: current layer0 block or grouped tiles

region 1: static source footprint (36,9) 4x3

#396current layer0 block

현재 맵에 놓인 정적 layer0 블록이다. 대체 프레임 rect 후보가 아니라 animation redraw 대상 footprint로 본다.

map1_02bmap_b1
map_b1, map_b2
900 cells
1 components
19 layer0 tiles
(32,0)-(43,74) 12x75 · 900 cells
single-layer0-tile col 5
#85x3

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 6
#86x6

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 7
#87x3

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 13
#293x6

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 14
#294x6

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 15
#295x12

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 18
#58x9

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 19
#59x15

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 20
#60x12

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

same-column-static-source-cluster col 34
#394x242#434x209#474x242

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 35
#395x22#435x19#475x22

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

single-layer0-tile col 36
#436x3

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 37
#437x30

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 38
#438x3

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

single-layer0-tile col 39
#439x36

0x40 cell source tile; 0x40 marks redraw coverage; final motion source is not proven here

palette indices used by 0x40 source tiles

15 non-transparent indices · 0x10, 0x20-0x2b, 0x2d-0x2e

top pixel counts: 0x2d(988), 0x2e(623), 0x20(509), 0x21(422), 0x29(385), 0x2a(357), 0x27(316), 0x22(275), 0x23(240), 0x24(213)

0x40 placement grid: flagged map cells and current layer0 tile ids

region 1: (32,0)-(43,74)

395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394436437437437437437437437437437437438585960596058595960585960858629586293294295295293294295874394394394394394394394394394394394394754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944354344344344344344344344344344344344754744744744744744744744744744744743953943943943943943943943943943943944364374374374374374374374374374374385859605960585959605859608586295862932942952952932942958743943943943943943943943943943943943947547447447447447447447447447447447439539439439439439439439439439439439443543443443443443443443443443443443447547447447447447447447447447447447439539439439439439439439439439439439443543443443443443443443443443443443447547447447447447447447447447447447439539439439439439439439439439439439443543443443443443443443443443443443447547447447447447447447447447447447439539439439439439439439439439439439443543443443443443443443443443443443447547447447447447447447447447447447439539439439439439439439439439439439443543443443443443443443443443443443447547447447447447447447447447447447439539439439439439439439439439439439443643743743743743743743743743743743858596059605859596058596085862958629329429529529329429587439439439439439439439439439439439439475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474395394394394394394394394394394394394435434434434434434434434434434434434475474474474474474474474474474474474
source footprint: current layer0 block or grouped tiles

region 1

이 영역은 소스 타일셋의 단일 직사각형 블록으로 떨어지지 않는다. 폭포처럼 넓은 영역은 여러 정적 layer0 tile을 0x40 redraw 대상으로 묶는다.

map2_01cmap_c1
map_c1, map_c2
96 cells
1 components
6 layer0 tiles
(25,0)-(27,31) 3x32 · 96 cells
same-column-static-source-cluster col 37
#437x16#477x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 38
#438x16#478x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 39
#439x16#479x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

palette indices used by 0x40 source tiles

3 non-transparent indices · 0x12, 0x1c-0x1d

top pixel counts: 0x1c(1140), 0x1d(286), 0x12(110)

0x40 placement grid: flagged map cells and current layer0 tile ids

region 1: (25,0)-(27,31)

437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479
source footprint: current layer0 block or grouped tiles

region 1

이 영역은 소스 타일셋의 단일 직사각형 블록으로 떨어지지 않는다. 폭포처럼 넓은 영역은 여러 정적 layer0 tile을 0x40 redraw 대상으로 묶는다.

map2_13cmap_c1
map_c1, map_c2
96 cells
1 components
6 layer0 tiles
(25,0)-(27,31) 3x32 · 96 cells
same-column-static-source-cluster col 37
#437x16#477x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 38
#438x16#478x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 39
#439x16#479x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

palette indices used by 0x40 source tiles

3 non-transparent indices · 0x12, 0x1c-0x1d

top pixel counts: 0x1c(1140), 0x1d(286), 0x12(110)

0x40 placement grid: flagged map cells and current layer0 tile ids

region 1: (25,0)-(27,31)

437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479
source footprint: current layer0 block or grouped tiles

region 1

이 영역은 소스 타일셋의 단일 직사각형 블록으로 떨어지지 않는다. 폭포처럼 넓은 영역은 여러 정적 layer0 tile을 0x40 redraw 대상으로 묶는다.

map6_26cmap_c1
map_c1, map_c2
96 cells
1 components
6 layer0 tiles
(25,0)-(27,31) 3x32 · 96 cells
same-column-static-source-cluster col 37
#437x16#477x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 38
#438x16#478x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

same-column-static-source-cluster col 39
#439x16#479x16

same source-column layer0 tiles inside 0x40 cells; this is static tile coverage, not an animation frame list

palette indices used by 0x40 source tiles

3 non-transparent indices · 0x12, 0x1c-0x1d

top pixel counts: 0x1c(1140), 0x1d(286), 0x12(110)

0x40 placement grid: flagged map cells and current layer0 tile ids

region 1: (25,0)-(27,31)

437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479437438439477478479
source footprint: current layer0 block or grouped tiles

region 1

이 영역은 소스 타일셋의 단일 직사각형 블록으로 떨어지지 않는다. 폭포처럼 넓은 영역은 여러 정적 layer0 tile을 0x40 redraw 대상으로 묶는다.