Matcen (robot maker) data doesn't always save properly

For Descent, Descent II and Descent3 level editing and modification assistance.
Post Reply
kakhome1
DBB Ace
DBB Ace
Posts: 231
Joined: Fri Jul 07, 2017 3:19 am

Matcen (robot maker) data doesn't always save properly

Post by kakhome1 »

This occurs with versions of DLE I tried from 2012, 2014, and 2017. So probably all within that time range up to current.

I was making a quick modification to Vertigo (d2x.hog) that required resaving all the levels. To be as least intrusive as possible I exported all RL2 files then re-imported them into the hog.

Turns out - I caught this on Level 5 by comparing what happened in my run to a video Calmarius had posted - after resaving, matcens (robot makers) get 'scrambled' up - each one now produces robots that should belong to another matcen in the level!

For example say you have matcens A/B/C/D/E in the level that should produce robot combinations V/W/X/Y/Z, respectively (A goes with V, E goes with Z, etc.). After saving the RL2 in DLE they may now respectively produce combinations W/Y/V/Z/X (so now A is paired incorrectly with W, E incorrectly with X, and so on), or any other permutation of the five combinations.

So I ended up doing the same edit in SDLDevil instead, and it works (matches the video from Calmarius and also what I get myself before modifying anything) though SDLDevil is much less convenient to work with. But of course that doesn't guarantee SDLDevil will do it right for EVERY mission either, it seems entirely possible only DLE may have the right pairing in some cases, only SDLDevil in others, and both may be right in some cases (for example I tested Level 3 of Apocalyptic Factor and they were both reading it correctly).

I like to make this same small edit to many missions and of course they were all made with different versions of different editors. Some with DMB2, of which I can't even get the full version anymore! So any advice to decipher which editor I need to use for any particular level or mission, in cases where it does matter (i.e. only one will work correctly)? And for missions made with DMB2 is either one always 'safe' to use or do I need to simply test the level itself before editing and then see which one is loading with the same data I get in my test?

And if Sirius knows which one (or both, like I found when spot-checking Level 3) should always be safe for AF, that would also be appreciated.
User avatar
Sirius
DBB Master
DBB Master
Posts: 5616
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: Matcen (robot maker) data doesn't always save properly

Post by Sirius »

AF was built with DMB2, so that would probably be the authoritative one I guess.
The other problem sounds like yet another DLE bug. Still working on the input thing for now though. It's complicated.
kakhome1
DBB Ace
DBB Ace
Posts: 231
Joined: Fri Jul 07, 2017 3:19 am

Re: Matcen (robot maker) data doesn't always save properly

Post by kakhome1 »

What input thing? I don't get what you're referring to.

Also do you know of anywhere I can get DMB2 either for free or a very low price?

For now, I upgraded to the latest Rebirth with has an option that makes this edit unnecessary. Hopefully I won't run into something else I can't stand in this version of Rebirth...Using SDLDevil on Vertigo corrupted three levels.
User avatar
Sirius
DBB Master
DBB Master
Posts: 5616
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: Matcen (robot maker) data doesn't always save properly

Post by Sirius »

There have been complaints about Shift+drag not working, and the pan control (which uses Shift as well) occasionally not working. The first one isn't that easy to fix though.

I'm not aware of anywhere DMB2 is on sale, and suspect it isn't. Best bet would be finding copies of Infinite Abyss or Definitive Collection on somewhere like eBay or a third-party vendor on Amazon. They probably won't be cheap but you might get lucky.
kakhome1
DBB Ace
DBB Ace
Posts: 231
Joined: Fri Jul 07, 2017 3:19 am

Re: Matcen (robot maker) data doesn't always save properly

Post by kakhome1 »

Well for now where it's necessary I'm using SDLDevil to read what the matcens should be producing and then modifying the data in DLE to match (by sector) before I save the level. This is a tedious process but seems to work. Perhaps only Vertigo will have this problem? It is possible something by Parallax could be different from user-made content. Of course I've only actually checked it in a single level of AF (as far as user-made content goes).
User avatar
Sirius
DBB Master
DBB Master
Posts: 5616
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: Matcen (robot maker) data doesn't always save properly

Post by Sirius »

OK, I think I see what the problem is - it's a combination of the RDL/RL2 file format being very misleading, and DLE trying to make sense out of the madness but doing so in a way that is inconsistent with D2's behavior. Should be fixable. I'll try to make a test build of DLE next week - if you know some of the levels that got screwed up, let me know if they're still broken with the new one.

To be clear, DLE is writing levels it saves with a different matcen order than it reads them in. If it's already been edited, the order will persist with the new version. This change will prevent levels that haven't previously been edited from being re-ordered.

Edit: Uploaded: https://www.dropbox.com/s/vqvdoepr1xq2l ... ha.7z?dl=0
kakhome1
DBB Ace
DBB Ace
Posts: 231
Joined: Fri Jul 07, 2017 3:19 am

Re: Matcen (robot maker) data doesn't always save properly

Post by kakhome1 »

Since XL levels are relatively small in number, how about just making a version of DLE that will read/display/save matcen data exactly the same way Rebirth reads it? That would be very useful.
User avatar
Sirius
DBB Master
DBB Master
Posts: 5616
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: Matcen (robot maker) data doesn't always save properly

Post by Sirius »

That is what I did. Specifically, it reads them the way D1/D2 (including Rebirth, not clear about XL) would, and if you later save the level, it writes them in a "compatible" format that should be read correctly by any version of Descent.
Post Reply