|
Post by jltursan on Feb 7, 2021 10:19:46 GMT
I'm having a big doubts about the subject...
Seems that the MSX original engine had a little deviation from the ZX one behaviour when collecting blocks. In the ZX version, a collectable block is never restored after being collected, like in a pacman game; but the old MSX release restores all already collected collectable blocks after a RESTART screen!.
So:
1) Does the ZX version works like the above description?, I mena, collected collectable blocks are never restored. 2) The new MSX release fixes this; but now I'm wondering, could it be useful to have both modes?, I mean, keep also collectable blocks that respawn after a screen is restarted?
|
|
|
Post by roolandoo on Feb 7, 2021 11:01:44 GMT
Hi jltursan, 1) In the current version of MPAGD (0.7.10.) for ZX Spectrum, collectible blocks are restored when RESTART or die the character (what are not restored are the objects). In fact, in my game (current in development) I use that functionality and I will try to make the version for MSX too. 2) I think it's a very good idea to implement the double option, but it would be advisable to leave the same default as in ZX. Greetings.
|
|
|
Post by jltursan on Feb 7, 2021 11:14:07 GMT
You're right, thanks!, I've modified a test case adding some collectables and indeed, they always respawn!. It's pretty weird how a game concept (Pacman in this case) can biase so much my thinking Yep, I'll add right now the flag to select between modes, I really think that the "Pacman mode" could be useful.
|
|
|
Post by oss003 on Feb 7, 2021 12:05:25 GMT
I do have a solution for that ...... replace a collected collectable block with an empty block. You have to use Adventure mode which is included in the ZX engine from v0.7.9 on.
The line which calls the compiler in BUILD.BAT has to be changed into AGD %1 -A
EVENT COLLECTBLOCK LET I X LET J Y DIVIDE I BY 8 DIVIDE J BY 8 ADD 1 TO J IF DIRECTION RIGHT ADD 2 TO I ENDIF AT J,I PUTBLOCK 0
|
|
|
Post by jltursan on Feb 7, 2021 13:07:14 GMT
Yep, it's a good workaround.
In the MSX release I can done it easier, I only need to choose the erasing routine in "gtblk". After patching it I have this:
if CBFLAG=1 jp pchr else jp pattr2 endif
|
|