We're using cookies to ensure you get the best experience on our website. More info
Understood
@danbRegistered September 3, 2003Active 4 years, 4 months ago
420 Replies made

In the .cfg file you mentioned…
The lines should already be there, just change them.

This switches of 3D and makes the screen red:

vb.3dmode anaglyph
vb.anaglyph.lcolor 0xff0000
vb.anaglyph.preset disabled
vb.anaglyph.rcolor 0x000000
vb.disable_parallax 1

It has a pixelated photo of a VB on it’s box, that’s what’s rare about it… Later copies have a more high-res photo.

Red Dragon generally has very bad sound. You should use Mednafen instead, it’s a newer and better emulator with near perfect sound in all games.

The general theory is pretty simple. First you set up a camera (A) that shows your model from the angle you want it as if creating a normal 2D shot. Then you set up 2 other cameras (B) and (C) so that they point in the same direction as (A) but are offset by (x). Now the length of (x) determines how strong the 3D-effect will be. Experiment until it feels right. It’s also best to keep cameras (B) and (C) completely parallel with camera (A). Then just use the images from (B) and (C) for the left and right eye respectively 🙂

Attachments:

I didn’t say it wasn’t possible to correctly flip a large area of a bgmap through code, I just wanted you to try to figure out how to do it yourself first by pointing you in the right direction 😉

Here’s a function you can call that should work (Just wrote it, untested)

void HFlip(CHAR bgmap, CHAR startX, CHAR startY, CHAR width, CHAR height) {
  CHAR y;
  
  for (y=0; y

(startX, startY, width and height are number of cells, not pixels) To un-mirror, just run the function again on the same area of the map. Now you don't need to create separate mirrored versions of the maps!

You don’t need another charset because you never flip the actual chars, only how they appear in certain cells of the map.

All that said, here’s how you flip a single cell of a bgmap programmatically. You can’t flip the whole map at once, only one cell at a time, so just put it in a loop to flip a larger image.

A “cell” is a single tile (8×8 pixels) together with its palette info and flip info.

//Set H-flip bit (mirror) of bgmap at cell x,y
BGMM[bgmap*(0x1000) + (y * 64) + x] |= 0x2000;

//Clear H-flip bit (un-mirror) of bgmap at cell x,y
BGMM[bgmap*(0x1000) + (y * 64) + x] &= 0xDFFF;
  • This reply was modified 13 years, 4 months ago by DanB.

It’s a bit harder than you think, because if you want to say mirror a fighter it’s not enough to just flip all its chars, you have to move all of them around within the map too, or you will end up with something like the image below.

Also, there’s no need to make a duplicate mirrored charset, it’s only the map that you’d have to have a mirrored version of. (if you can’t fit both mirrored and normal sprites in a single map)

Attachments:

It’s probably easier for you to just flip certain sprites in your bgmap in VIDE before you export it.

That sounds like fun! What you have already is a good start.
For a short and simple demo of how objects can be used, have a look at the ManWithBall demo.

Like RunnerPack said, the easiest way to do it (without using any C code at all) is to set the palettes in VIDE before exporting to *.h

You can do that with the advanced map editor plugin. Just select a certain part of the map and press the little palette button to cycle through the four available palettes. You can set any individual char in the map to use any palette that way.

You mean something like this 😉

morintari wrote:
You know how Wario’s arms are on one level of 3d space and his body on another level. Is it possible to use 3 colors on his body and a different 3 colors on his arm?

Sure! his arms are stored in a different part of the background map than the body. All you need to do is to make that part of the map use a different palette.

Of course we can put 3D objects in a background, but it has nothing to do with raising or lowering pixels.

3D images on VB can be done in two ways, both invloving showing slightly different screens to each eye.

The “cheapest” (and most common) way is to show the exact same sprite to both eyes, but with a few pixels horizontal displacement. This gives the illusion of cardboard cut-out flat objects at different depth in the screen.

The better result, with actual 3D objects, is done by pre-rendering your models at two different angles, putting both of them in a background map, and showing each model to a separate eye.

And your height map idea can certainly be done too, but you would have to code it all in software, as there are no dedicated hardware functions for it. Look at RunnerPack’s water demo for something similar?

Lol, 30,000,000 isn’t really all that much in this game. Just look at the high score section of this site and you’ll see many people with higher score than that. I guess you just need to start sucking less 😉

jzagal wrote:
What do you recommend for creating the bgmaps? (I had assumed that VIDE was the way to go…)

You can still use VIDE for creating bgmaps that use other than the first charseg, you just have to replace the stock “export to *.h” plugin with this.

And there’s also this 😉

  • This reply was modified 13 years, 5 months ago by DanB.

VBSAM wrote:
BTW, how is that Aqua Blue looking in your hands?

The Aqua Blue is awesome, it has a metallic lacquer look with different shades on different parts of it.

DogP wrote:
Is that a new and improved Hunter that I see in the screenshot (hoping) 😉

It is 🙂 I got rid of the puzzling crash/reset bugs (by making a win32 c++ port of the game and using the excellent Visual Studio 2010 Express debugger), and am now back working on it again.

I’m still on the fence about picking up a 3DS. I’ll have to drop by Gamestop tomorrow and try it out and see if there’s any games that I “must have”.

I got Pilotwings Resort with mine. It’s an OK game with really good 3D depth, but it gets a little repetitive if you already played the airplane game in Wii Sports Resort to death 😛

Actually, this does work. I set the IPD to the innermost position, and the image appears pretty stable and in 3D! (a bit blurry, sure, but definitely playable). My phone camera that captured the set up sucks though, sorry.

So I guess you lose Vaughanabe13 😉

BTW, I love my new 3DS!! 😎

I must agree with akumie as well 😛
There is no point in copying info from PVB and reinvent the wheel…

I agree with that, plus 2P support via link cable would have been nice too.