After playing Electronic Super Joy for many hours, I have a new idea for a PoP1 mod...

Code: Select all
seg007:0DE2 cmp curr_modifier, 0Bh ; <-- here
seg007:0DE7 jb loc_9396
Code: Select all
00009532:i803E28430B cmp [+4328],0B ; <-- here
00009537:i725D jc file:00009596
Code: Select all
seg008:0FF6 ; --------------- S U B R O U T I N E ---------------------------------------
seg008:0FF6
seg008:0FF6 ; Attributes: bp-based frame
seg008:0FF6
seg008:0FF6 ; int __pascal far get_loose_frame(char modifier)
seg008:0FF6 get_loose_frame proc far ; CODE XREF: draw_tile_spec+9Bp
seg008:0FF6 ; draw_loose+18p ...
seg008:0FF6
seg008:0FF6 modifier = byte ptr 6
seg008:0FF6
seg008:0FF6 push bp
seg008:0FF7 mov bp, sp
seg008:0FF9 test [bp+modifier], 80h
seg008:0FFD jz loc_AC2E
seg008:0FFF and [bp+modifier], 7Fh
seg008:1003 cmp [bp+modifier], 0Ah
seg008:1007 jbe loc_AC2E
seg008:1009 mov ax, 1
seg008:100C jmp short loc_AC33
seg008:100E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
seg008:100E
seg008:100E loc_AC2E: ; CODE XREF: get_loose_frame+7j
seg008:100E ; get_loose_frame+11j
seg008:100E mov al, [bp+modifier]
seg008:1011 sub ah, ah
seg008:1013
seg008:1013 loc_AC33: ; CODE XREF: get_loose_frame+16j
seg008:1013 pop bp
seg008:1014 retf 2
seg008:1014 get_loose_frame endp
Code: Select all
0000AE16:i55 push bp
0000AE17:i8BEC mov bp,sp
0000AE19:iF6460680 test (b) [bp+06],80
0000AE1D:i740F je file:0000AE2E ; <-- here
0000AE1F:i8066067F and [bp+06],7F
0000AE23:i807E060A cmp [bp+06],0A
0000AE27:i7605 jna file:0000AE2E
0000AE29:iB80100 mov ax,0001
0000AE2C:iEB05 jmps file:0000AE33
0000AE2E:i8A4606 mov al,[bp+06]
0000AE31:i2AE4 sub ah,ah
0000AE33:i5D pop bp
0000AE34:iCA0200 retf 0002
Ah, a level that falls apart! And if you're not fast enough, the kid will also fall.Norbert wrote:If you start playing level 1, you'll see what I mean.
Allow climbing of any loose floor: (By default only those with modifier=0 can be climbed.)Norbert wrote:I noticed that the prince doesn't climb up the loose tile when it's in its last frame.
Is there any way to change that?
Code: Select all
seg006:0F92 cmp curr_tile2, tiles_11_loose
seg006:0F97 jnz loc_7C4F
seg006:0F99 cmp [bp+modifier], 0
seg006:0F9D jnz loc_7C22 ; <- this
Code: Select all
000094F2:i803EF9420B cmp [+42F9],0B
000094F7:i7506 jne file:000094FF
000094F9:i807EFE00 cmp [bp-02],00
000094FD:i75D3 jne file:000094D2 ; <- this