Player: Picture operations in ParallelProcesses should yield the interpreter when a message is shown

Created on 17 May 2017  路  5Comments  路  Source: EasyRPG/Player

Currently our behaviour for Pictures is like Cherry's UnlockPicPatch or what the English versions of 2k and 2k3 do.

I don't know a game that breaks due to this but imo it should be emulated for consistency.

TestCase: http://dzmitry.smartvps.pl/misc/rm/test_message_blocking.tar.gz

EvenInterpreter Patch available Pictures

Most helpful comment

Hm this one is a bit tricky to detect... I would think that you'd have to check whether A1????????8B00E8????????84C0909090909090FF does exist while also A1????????8B00E8????????84C00F85????0000FF does not exist. (without checking that opposite you may get a false positive)

Also I'm not sure if this functionality is patched in the same way everywhere, because this is one of the earliest patches and it went though some "iterations" in following versions up to RM2k3E... I know in RM2k3E it works entirely different, but I believe everywhere else this should match (I checked DynRPG for example, it matches there).

(I mean, personally I used to scan for 84C0909090909090FF as a quick method in the past but I remember that this did cause false positives sometimes, there is some other possible patched thing that looks the same, though I don't remember what it was exactly...)

All 5 comments

UnlockPicsPatch is one of the most used patches around probably... in most cases, your non-blocking behavior should be fine for games I guess, but I understand that you aim at emulating the original RM.

I remember you said some time that detecting specific patches is out of the question, is it? :/

We don't really want to scan RPG_RT.exe from EasyRPG Player currently. But we are actually interested in signatures to detect the most common patches automatically. (PicPointer, UnlockPics, AEP, ...). At least the rmarchiv guy would like to run such a script over all German games he collected and tag them based on the patch :)

Test Cases 1 - Pictures and messages

Tested with RM2k3 1.08 and Don's rm2k. Stream versions doesn't display this behavior

  1. EV01 parallel
Wait 0.0s
Text: hello
Sw1 on
Erase Event

EV02 parallel page 1

Wait 0.0s
Show Picture
EraseEvent

EV02 page 2 activated by SW1


Result: Picture not displayed

@CherryDT
Can you tell the byte signature for the UnlockPicPatch?

Hm this one is a bit tricky to detect... I would think that you'd have to check whether A1????????8B00E8????????84C0909090909090FF does exist while also A1????????8B00E8????????84C00F85????0000FF does not exist. (without checking that opposite you may get a false positive)

Also I'm not sure if this functionality is patched in the same way everywhere, because this is one of the earliest patches and it went though some "iterations" in following versions up to RM2k3E... I know in RM2k3E it works entirely different, but I believe everywhere else this should match (I checked DynRPG for example, it matches there).

(I mean, personally I used to scan for 84C0909090909090FF as a quick method in the past but I remember that this did cause false positives sometimes, there is some other possible patched thing that looks the same, though I don't remember what it was exactly...)

Was this page helpful?
0 / 5 - 0 ratings