Code: Select all
seg002:06E1 83 3E 9E 0F 04 cmp current_level, 4 ; Special event: mirror music
seg002:06E6 75 1D jnz locret_3D85
seg002:06E8 80 3E 27 3D 00 cmp char.curr_row, 0 ; only if he is in the top row
seg002:06ED 75 16 jnz locret_3D85
seg002:06EF 80 3E 2B 3D 0B cmp char.room, 11
seg002:06F4 75 0F jnz locret_3D85
Search: 83 3E 9E 0F 04 75 1D 80 3E 27 3D 00 75 16 80 3E 2B 3D 0B 75 0F
Change: 04 to level number, 00 to row of prince, 0B to room which the prince exits to the left
Offset: level: 0x5615, row: 0x561C, room: 0x5623
Code: Select all
seg002:081D 83 3E 9E 0F 04 cmp current_level, 4 ; Special event: shadow runs
seg002:0822 75 06 jnz loc_3EAA
seg002:0824 0E push cs
seg002:0825 E8 D8 07 call near ptr autocontrol_shadow_level4
Search: 83 3E 9E 0F 04 75 06 0E E8 D8 07
Change: 04 to level number
Offset: 0x5751
Code: Select all
seg006:0354 83 3E 9E 0F 04 cmp current_level, 4 ; level 4 has different ending music
seg006:0359 75 0B jnz not_alt_level_music
Search: 83 3E 9E 0F 04 75 0B
Change: 04 to level number
Offset: 0x88B8
Code: Select all
seg007:0673 83 3E 9E 0F 04 cmp current_level, 4 ; Special event: place mirror
seg007:0678 75 2A jnz loc_8BF4
seg007:067A B8 04 00 mov ax, 4
seg007:067D 50 push ax ; room
seg007:067E 50 push ax ; col
seg007:067F 2B C0 sub ax, ax
seg007:0681 50 push ax ; row
(This one is in CusPoP except for the row number.)
Search: 83 3E 9E 0F 04 75 2A B8 04 00 50 50 2B C0 50
Change: first 04 to level number, second 04 to room and column number, 2B C0 to B0 RR where RR is the row number.
Offset: level number: 0xA477, room and column: 0xA47B, row: 0xA47F-0xA480
If you need different room and column numbers:
Change B8 04 00 50 50 to 68 RR 00 6A CC where RR is the room, CC is the column.
Offset: 0xA47A-0xA47E
Code: Select all
seg008:235D 83 3E 9E 0F 04 cmp current_level, 4 ; Special event: shadow is clipped: may appear only right from the mirror
seg008:2362 75 0D jnz loc_BF91
seg008:2364 80 3E 2B 3D 04 cmp char.room, 4
seg008:2369 75 06 jnz loc_BF91
seg008:236B C7 06 A6 42 89 00 mov obj_clip_left, 137
Search: 83 3E 9E 0F 04 75 0D 80 3E 2B 3D 04 75 06 C7 06 A6 42 89 00
Change: first 04 to level number, second 04 to room number, 89 (decimal 137) to clip x = column * 32 + 9 (conver it to hex).
Offset: level number: 0xD831, room: 0xD834, clip: 0xD83F