pre-release 3.2.0-7

Found a bug in R'n'D? Report it here!

Moderators: Zomis, Flumminator

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Wed Apr 12, 2006 7:02 am

> whenever I quit the game, then reload it, it starts me on the Puzzles
> levelset instead of Puzzle Levels

I'm 99% sure that the reason is that both level sets have the same directory name!

R'n'D uses the sub-directory name of the sets as some sort of "primary key" to reference the levels (it cannot use the absolute path, as it have to reference level sets in a more abstract way to work across system boundaries in network games etc.).

The sub-directory name of a level set in the directory "C:/Games/R'n'D/levels/puzzles" would be "puzzles" then (and the name from the levelinfo.conf file that is also displayed in R'n'D could be "Contributed Puzzle Levels").

So if you have two sets with that name -- the other one could be "C:/My Documents/R'n'D/levels/puzzles" with the name "My Personal Puzzle Levels" -- you effectively have two sets with the same internal name! This should not make problems inside the game when switching between sets, but when quitting, it just stores "puzzles" as the last played level set.

So when you restart R'n'D, it chooses one of the two sets (probably that one which comes first in the internal tree structure), which must be the wrong selection on one of the two cases...

The solution is to just rename the sub-directory, for example from "puzzles" to "my_puzzles" (or probably better "darkons_puzzles", so it does not collide with somebody else's private "my_puzzles" if you should release your set).

I hope that this solves your problem!

If anybody should have a better idea to identify level sets, let me know! :)

User avatar
Martijn
Posts: 794
Joined: Sat Jun 19, 2004 10:54 am
Location: the Netherlands (Holland)
Contact:

Post by Martijn » Wed Apr 12, 2006 8:39 am

Holger wrote:Unfortunately, it does not work this way. In the case of the EMC levels, we have something around 40.000 existing levels which all exist now. The engine changes I told about (in the EMC engine and now in my version of this engine) all try to get as most as possible of these existing levels to be solvable. This may require changes which then break other existing levels.

In the EMC engine, there are only rudimentary "major" versions that you have to "guess" (more or less).
As you said, it sounds a bit confusing indeed. So, is it possible to let level 79 use the older code and the rest of the levels the code you currently use? And if we find another level/levelset which doesn't work with the newest code, can you make those levels use the other code, by changing them manually?

In other words: will there ever be a solution to this? will it ever be possible to play ALL the EMC levels (with the EM engine) with a 100% solvability? Do you at least have something in mind? otherwise it would be very regretful for you (after having worked a long time on the EM engine and even then not having a 100% working version) and for us.
Visit my Boulder Dash website at:
http://www.bd-fans.com

Watch my avatar! That orange little thing is Murphy, the Supaplex star!

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Wed Apr 12, 2006 9:37 am

> So, is it possible to let level 79 use the older code and the rest of the levels
> the code you currently use?

This is currently not easily possible, because you have to identify "level 79 of set EMC Mine 3" somehow.

> And if we find another level/levelset which
> doesn't work with the newest code, can you make those levels use the
> other code, by changing them manually?

Changing the levels would not help, because the engine still does not know which part of the code to use. As said, there is no such thing as exact version numbers in EMC levels, you can only guess...

> In other words: will there ever be a solution to this? will it ever be
> possible to play ALL the EMC levels (with the EM engine) with a 100%
> solvability?

Most probably not. This is because the Amiga version of the EMC engine changed too often, and only those levels which exactly fit with the right version of the game engine are really 100% possible. So the worst case would be that you need ~600 slightly different game engines to play the ~600 different EMC sets.

Of course, in reality there are far less different engine versions than that -- only very few, as far as I know. But you still have to emulate those slightly different behaviours. Have a look at the comments in the code of the EMC engine in "src/game_em/convert.c", which are mostly from the code I based the new EMC engine on, and you get an idea what can go wrong with every change of the EMC engine.

> Do you at least have something in mind? otherwise it would be very
> regretful for you (after having worked a long time on the EM engine and
> even then not having a 100% working version) and for us.

Don't worry -- you even don't have a 100% fully working version of R'n'D for *ALL* R'n'D levels -- there were far too many changes over time. But most levels work just fine, and that's how it will also be with the EMC engine. Bug reports like yours additionally help to make the engine even better, and I hope we will fix most issues shortly after the release of the full EMC level collection.

But yes, I have something in mind for this problem. We don't have to (and should not) change the original level files, but we can add version and engine information to the levelinfo.conf file (as those version differences will most likely affect whole sets and not single levels).

This way, we will be able to use slightly different engines and compatibility code for certain level sets without breaking existing level sets that are already know to work.

So, for example, if you have recorded 81 working tapes for a full EMC level set, and then discover a bug or incompatibility like that in "EMC Mine 3" in another set, I will add an option to add to the levelinfo.conf of that set and make the engine use slightly different code for all sets with exactly that option set. This will make sure that all tapes for already working level sets will continue functioning!

Only time will tell which sets might still have problems with the current engine. If we find some, it should be possible to fix them without breaking existing sets.

User avatar
Darkon
Posts: 237
Joined: Sun Jun 20, 2004 9:19 pm
Location: UK

Post by Darkon » Wed Apr 26, 2006 10:14 pm

When playing a tape, if the exit is a custom element that uses (when player enters) the tape stops but then it switchs control back to the player and will only end if the player steps off the exit then back on it.

User avatar
Martijn
Posts: 794
Joined: Sat Jun 19, 2004 10:54 am
Location: the Netherlands (Holland)
Contact:

Post by Martijn » Fri Apr 28, 2006 9:20 am

Holger wrote:> wouldn't it be nice if those screens would appear as menu background?
> or if that would look strange, then how about adding an extra option on
> the 'info screen' in the main menu? I mean an extra menu option, like
> 'levelset info', but with another name ('original title screen' for example)

This is an extremely good idea!!!
Maybe the same would be possible with all those Boulder Dash levelsets in the future...
I'm sorry, this is a bit off-topic, but I'm also looking forward to the Boulder Dash engine since I've downloaded some old Boulder Dash levelsets and have seen them with an emulator!

And of course with the original title screen music in both EMC levels and Boulder Dash levels playing! Could that be possible? I tested Boulderdash 50 (by Ruben Spaans) with the C64 emulator. Wow! It's so cool to hear those old chiptunes! It really sets the mood of the old, golden time :-D It's the same to the EMC levels with music on the title screen.
Visit my Boulder Dash website at:
http://www.bd-fans.com

Watch my avatar! That orange little thing is Murphy, the Supaplex star!

User avatar
Darkon
Posts: 237
Joined: Sun Jun 20, 2004 9:19 pm
Location: UK

Post by Darkon » Sun May 14, 2006 10:35 am

Was playing a tape only a few seconds ago, decided to browse the web while the tape played through, a few seconds later I get a critical error, resulting in the app needing terminating.

AppName: rocksndiamonds.exe AppVer: 0.0.0.0 ModName: midimap.dll
ModVer: 5.1.2600.0 Offset: 00002167

Could be a system error but figured id share it anyway.

An error with the midi player?

Also, midi is only playing out of my left speaker, all other sounds appropriately play out of both speakers, when a midi is played outside of RnD, it plays normal.

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Sat May 20, 2006 3:23 pm

> When playing a tape, if the exit is a custom element that uses (when
> player enters) the tape stops but then it switchs control back to the
> player and will only end if the player steps off the exit then back on it.

Oops! I'll check this (hopefully still for 3.2.0)...

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Sat May 20, 2006 3:50 pm

> Maybe the same would be possible with all those Boulder Dash levelsets
> in the future...

Yes, this should then be no problem.

I've already added the possibility to show up to five title screen images for each set, and play a title tune. Tested this with quite some EMC sets, where I ripped some title graphics either automatically with a Perl script or made a screen shot with the Amiga emulator. Unfortunately, the EMC disks did not have title music...

> I'm sorry, this is a bit off-topic, but I'm also looking forward to the
> Boulder Dash engine since I've downloaded some old Boulder Dash
> levelsets and have seen them with an emulator!

Yeah...! :)

> And of course with the original title screen music in both EMC levels and
> Boulder Dash levels playing! Could that be possible?

R'n'D can already do this (not in 3.2.0-7, but in the final version) -- the main problem is to get the data (title graphics and title tunes) for all these lots and lots of sets... :)

> I tested Boulderdash 50 (by Ruben Spaans) with the C64 emulator. Wow!
> It's so cool to hear those old chiptunes! It really sets the mood of the old,
> golden time

So true... :)

> It's the same to the EMC levels with music on the title screen.

Yep!

Maybe this could also be solved in collaborative action -- if many people rip off the title screen/music using emulators from those old classics, it would then be easily possible to add all that stuff to the sets prepared for R'n'D!

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Sat May 20, 2006 4:18 pm

> AppName: rocksndiamonds.exe AppVer: 0.0.0.0 ModName: midimap.dll
> ModVer: 5.1.2600.0 Offset: 00002167
>
> Could be a system error but figured id share it anyway.

Hmmm... As far as I know, R'n'D or SDL does not use a midimap.dll, but maybe some component of SDL_mixer uses this... :-/

> An error with the midi player?

Maybe... I never had such an error. Did you have such error more than one time?

> Also, midi is only playing out of my left speaker, all other sounds
> appropriately play out of both speakers, when a midi is played outside of
> RnD, it plays normal.

Strange... But yes, I also have problems with playing MIDI inside R'n'D (or generally with SDL/SDL_mixer) both under Linux and also under Mac OS X, but interestingly not under Windows (2000 or XP) -- even if I play it inside a PC/Windows emulator on my Linux box, MIDI sounds fine while it sounds bad natively under Linux. This might be a problem with SDL/SDL_mixer, but at least under Linux and Mac I also had problems playing MIDI outside R'n'D... :-(

Sorry, I don't have a good idea nor a solution to fix this yet. (Maybe it gets better with the new SDL 1.2.10?)

User avatar
Martijn
Posts: 794
Joined: Sat Jun 19, 2004 10:54 am
Location: the Netherlands (Holland)
Contact:

Post by Martijn » Sat May 20, 2006 4:39 pm

Holger wrote:Maybe this could also be solved in collaborative action -- if many people rip off the title screen/music using emulators from those old classics, it would then be easily possible to add all that stuff to the sets prepared for R'n'D!
Well, tell me how to do it. Currently, I'm busy with the classic Boulder Dash page for my website. On that page, you can download all the available Boulder Dash games (levelsets). The list is extremely long already!
But after this page, I will also create a similar page for Emerald Mine. I will also check all those levelsets manually (to check the year of publication and the name of the author and to check if it's really the levelset as the file name says). So while doing that, I can easily rip it off at the same time.

So could you give me instructions of what you exactly need? And which emulator should I use? I assume WINuae, but I still need a kickstart file...
Visit my Boulder Dash website at:
http://www.bd-fans.com

Watch my avatar! That orange little thing is Murphy, the Supaplex star!

User avatar
Holger
Site Admin
Posts: 3333
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger » Sat May 20, 2006 6:59 pm

> Well, tell me how to do it.

Thanks for your offer -- I'll do so soon! Especially it's needed to make a list (in the forum) to document which sets have already been prepared accordingly -- I'll make this list soon, so everybody can see which parts are still missing! I'll also add instructions how to do it! :-)

> Currently, I'm busy with the classic Boulder Dash page for my website.
> On that page, you can download all the available Boulder Dash games
> (levelsets). The list is extremely long already!

I also got a big archive from Alan with lots of player-created BD games, and even already with sample screenshots (but not title screens, but in-game screen shots, if I remember correctly). I could also make a list of these games for you.

> But after this page, I will also create a similar page for Emerald Mine.
> I will also check all those levelsets manually (to check the year of
> publication and the name of the author and to check if it's really the
> levelset as the file name says). So while doing that, I can easily rip it off
> at the same time.

Good idea! Unfortunately, although I checked most EMC disks for these meta data, I refused to make these screen shots at the same time (because it was before you had that great idea :-) ). I will also send you a list with all this meta data for all the EMC disks, which contains information like complete and correct disk name, author, year etc.

> So could you give me instructions of what you exactly need?

I'll do so, yes, as mentioned above!

> And which emulator should I use? I assume WINuae,

WinUAE (for Windows) or E-UAE (for Unix) is the best choice, yeah! :-)

> but I still need a kickstart file...

The easiest and totally legal solution is to read the Kickstart ROM to a file from an Amiga 500 which you can get very cheap from eBay, for example. Offering Kickstart files on public web sites is illegal, though, as this is copyrighted software. If anybody needs further help on this topic, please contact me using private mail.

Post Reply