BDCFF -> MAPS Converter v1.2 released

New game releases, new tools, website updates, ...

Moderator: Admin

Post Reply
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

BDCFF -> MAPS Converter v1.2 released

Post by Arno »

Get it here.

Most important changes of the new version are the following:
- It's now possible to compile all levels of BD1/2 engine games. (Example BD1 level 1 2 3 4 5)
- Color modifications are implemented in 4 variants. (Example BD2)
- Use of a default color set.
- Adjustable width of the border.
- Adjustable emptly lines in HTML file after title, caves and intermissions. (This is handy when you print the HTML file.)
- All parameters can now be set in a separate file preferences.txt.
- BD2 graphics file is updated. (Throw away the old one!)
- BDCFF file name is used for the output file names, instead of the game name. (This leads to shorter file names. Moreover, the forum seems to dislike names containing the ' character, so this is a way to remove it.)
- Name of the program has changed to "BDCFF-->MAPS Converter". (This time I did change the name, because I find the new name a better representation of what de converter does.)
- Some minor changes.
Last edited by Arno on Thu Aug 09, 2007 6:14 pm, edited 1 time in total.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

The process seems a lot cleaner now :) , but how do I change the graphics set? It converts them as soon as I enter a name. :|

[EDIT] Nvm, I found the preferences file :D. This is definitely handy! My only complaint (sorry :oops: ) is that it's more cumbersome to have to change the graphics file in the preferences instead of just pressing a different number when necessary. But, everything else is great! I'm having fun playing with the color mods!
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

Post by Arno »

RTADash wrote:Nvm, I found the preferences file :D. This is definitely handy! My only complaint (sorry :oops: ) is that it's more cumbersome to have to change the graphics file in the preferences instead of just pressing a different number when necessary. But, everything else is great! I'm having fun playing with the color mods!
Thank you very much! :D

Concerning the graphics input, I just wanted to have as many settings as possible in the Preferences file, to have a minimal input from the user via keyboard. Also there's no distinction anymore between "standard" and "custom" graphics sets.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

I've just discovered a rather large bug, which isn't apparent initially because the function concerned is only in one of the standard games.
It's the "Add=" drawing instruction - it is drawn correctly in only one of 3 cases: adding something above/right/below a randomly placed object.

AFAIK, it won't work going to the left of an object, because the instruction is "Add=39 0 (or 38, 37, etc.)" (because negatives aren't permitted). My guess is that it doesn't properly wrap around to the next line.

The other problem is that the Add instruction should also work when adding items onto other items earlier in the set of drawing instructions.
Both of these problems can seen in Profi Boulder 72 (caves E and O).

I know it's not a very common instruction (in the most common games, at least), but a bug, nonetheless.
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
LogicDeLuxe
Member
Posts: 638
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

RTADash wrote:It's the "Add=" drawing instruction - it is drawn correctly in only one of 3 cases: adding something above/right/below a randomly placed object.
Where do you need to add something above anyways? BD2 doesn't support this, since it only takes one parameter which is the count to the right with lines wrapped around.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

Oops, I guess it's just right and below... :oops:

However the "Add=39 0" [I know "Add=-1 1" doesn't work] should place an object to the Lower-Left of the present one according to ProfiBoulder 72 (and some other games in that series.) and that's the a problem.

Maybe adding to an earlier drawing instruction does work after all, I'll check this...

[EDIT]
Whoops - it doesn't

Code: Select all

RandSeed=10 11 12 13 14
RandomFill=SPACE 60 BOULDER 50 DIAMOND 9

[objects]
Line=1 7 30 7 WALL
Line=9 14 38 14 WALL
Point=3 2 INBOX
Point=38 16 OUTBOX
Add=1 0 FIREFLYl WALL
[/objects]
...produced the usual cave A without fireflies. :cry:
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
LogicDeLuxe
Member
Posts: 638
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

RTADash wrote:I know "Add=-1 1" doesn't work
As the BDCFF doesn't restrict the parameters to positive numbers, it should work though. Crazy Dream PC will definately support both.

Furthermore "-1 1" isn't the same as "39 0" since BDCFF allows variable cave size, thus the result is different whenever the cave has any other width than 40.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

LogicDeLuxe wrote:As the BDCFF doesn't restrict the parameters to positive numbers
It does? That makes life easier. :) If only the x2bdcff converter knew that...
LogicDeLuxe wrote:BDCFF allows variable cave size
I should've realized this because of the intermissions, but has there ever been another cave size used? (other than 40x22 and 20x12) Just curious. :shock:
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
LogicDeLuxe
Member
Posts: 638
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

RTADash wrote:but has there ever been another cave size used? (other than 40x22 and 20x12) Just curious. :shock:
As all BDCFF files are converted from C64 so far, afaIk, which only supports 40x22, there isn't yet. But since BDCFF is supposed to be a universal file format, it makes sense to do this. My The New Dash Dimension has a few caves with other dimensions, and since I plan to do a converter supporting DAS->BDCFF...

Btw. that wraparound behavior should be implemented for all drawing instructions, not only for "add". It is the way the C64 engines work, and there are some dirty constructed caves in existence.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

Well - I did a little more testing, and adding an object below or right of one which was drawn in an earlier instruction.
I don't know why it didn't work before, maybe I did something stupid with the coordinates - which is very likely :D .
However, using negative numbers didn't work so the cave-wraparound values have to be used, afterall.

@Arno, sorry for contradicting myself several times as to what I thought needed to be fixed - this post is the one to go by. Does the BDCFF > MAPS program numerically store the dimensions of a cave when it creates the pics? If so, how easy/hard would it be to just use the dimension figures to assist the various drawing instructions in properly placing the objects? :?
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

Post by Arno »

I uploaded another version of the converter. The use of negatives is supported now. RTADash, could you test if ProfiBoulder 72 works correctly when putting "Add=-1 1" in the BDCFF?

For the wraparound effect I'll have to take a closer look. This is harder to implement, as the converter internally stores the maps in 2-dimensional arrays instead of "one line". But it must be possible anyway.

To be honest, I've never spent much attention to the "Add=" instruction, since I didn't realize it was used in any game besides BD2. Also a few things about the behavior of this instruction aren't yet clear to me:

1. Is adding items to the border allowed?
2. Looping over the map to search for Item x, and adding Item y, is that seperately done, or both at the same time?
User avatar
LogicDeLuxe
Member
Posts: 638
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

Arno wrote:1. Is adding items to the border allowed?
Of course it is, as the engine does the drawing in this order: Random elements with Dirt at the remaining spots, the Titanium border, the drawing instructions. Thus, the border is handled like any element in the cave (whether random, border or set with a previous drawing instruction, it's all handled the same).

The status bar is stored right after the cave in RAM and can be messed up with add instructions (which is a mere cosmetic issue). Rockford improved the add instruction with a boundary check to prevent this glitch.
2. Looping over the map to search for Item x, and adding Item y, is that seperately done, or both at the same time?
At the same time, from top to bottom, each line from left to right.
In fact, the add instruction adds to its own placed elements if the source and target element is the same. Rockford deployed this effect in some Profi Boulders, iIrc.
Some examples to test: "add=1 0 STEELWALL STEELWALL" should fill up the entire cave (unless the border is replace before that instruction). "add=1 0 DIRT DIRT" should fill the entire cave from the first Dirt appearance on, including the side and bottom borders (or the entire cave if it is preceeded by a "point=0 0 DIRT")
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

In addition to that, I noticed an interesting phenomena. [this is according to the Prof72 caves in BRemake] Using "Add=-1 1" in cave O, once the fireflies hit the left edge (the space adjacent to the border), the line continues on the opposite edge, starting 2 squares lower than where it hit the left edge. Is this intentional, or did BR mess up here?
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
User avatar
LogicDeLuxe
Member
Posts: 638
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

RTADash wrote:In addition to that, I noticed an interesting phenomena. [this is according to the Prof72 caves in BRemake] Using "Add=-1 1" in cave O, once the fireflies hit the left edge (the space adjacent to the border), the line continues on the opposite edge, starting 2 squares lower than where it hit the left edge. Is this intentional, or did BR mess up here?
You're thinking much to complicated. A C64 cave is allocated in a continuous array, thus those drawing instruction don't really know anything about a left or right border. They merely get a coordinate by the formular X+Y*40. For instance, "point=10 10 DIRT" sets the same piece of Dirt as "point=50 9 DIRT".

In this particular cave, the add instruction just sets a Firefly 39 units away from the source Firefly. Once reached the left border, it adds a Firefly on the right border in the same line, since it is 39 units away too. To get rid of the Fireflies on the border, it is redrawn after the add instruction in this cave.
User avatar
RTADash
Member
Posts: 414
Joined: Sat May 26, 2007 3:21 am
Location: USA (in Ohio)

Post by RTADash »

Ohhhhhh. :mrgreen:
Boulders are round.
Fireflies are square.
I need to find
a'way out of here.
Post Reply