Effects in demos that you don't know how they work
category: code [glöplog]
also, I forgot to mention, goon royale fakes this pretty well too.
...and it looks to be more or less what gnilk is doing, and robotnik is probably similar :)
(the live evil and other voxels are quite different ofc)
(the live evil and other voxels are quite different ofc)
ferris: the only thing that gives me a headache at the moment is "The .exe file is crunched by Titanic's cruncher." according to .nfo file. What does this mean? Maybe one must decrunch it to the original exe before attempting to reverse engineer it, i might be wrong, but still something i havent had the time too look at because of lack of time.
if one could not of course do debugging while the demo is running(in realtime), but not sure if it is more hazzle than productive. but yeah, it should not be a problem to figure out stuff if one focuses ones attention on solving it.
if one could not of course do debugging while the demo is running(in realtime), but not sure if it is more hazzle than productive. but yeah, it should not be a problem to figure out stuff if one focuses ones attention on solving it.
if it is decrunching into memory, thats a different story of course. then just put it into an disassembler or whatever...
You could try contacting the original coder, perhaps?
sagacity: that could be one possibility if needed. i think i have to atleast make an attempt at coding something first. unfortunately a bit busy atm. but maybe later.
I don’t understand how rotating cubes were created in text mode in the start menu of the demo "The good, the bad & the ugly" by Surprise!Productions
look:
https://i.imgur.com/hmPQ4k4.mp4
I understand how to make just a cube (changing the system font in real time)... But text is displayed on top of the cube! I don't understand anything! And yes, if you believe the info file, this is a text mode.
PS: This does not work in standard DosBox. But in Dosbox-X everything is ok (keep in mind).
look:
https://i.imgur.com/hmPQ4k4.mp4
I understand how to make just a cube (changing the system font in real time)... But text is displayed on top of the cube! I don't understand anything! And yes, if you believe the info file, this is a text mode.
PS: This does not work in standard DosBox. But in Dosbox-X everything is ok (keep in mind).
Quote:
I don’t understand how rotating cubes were created in text mode in the start menu of the demo "The good, the bad & the ugly" by Surprise!Productions
My guess is that they switch to graphics mode at the flash. The text has to be rendered to one of the bitplanes, the cube goes into the rest.
Quote:
My guess is that they switch to graphics mode at the flash. The text has to be rendered to one of the bitplanes, the cube goes into the rest.
This is the simplest explanation that comes to mind... But what kind of graphic mode is this, in which the font is 100% identical to the font in text mode? Compare, they are identical.
We also see a blinking cursor (in graphic modes it does not blink).
Would it have to be a specific mode? It's just pixels...
Quote:
Quote:
My guess is that they switch to graphics mode at the flash. The text has to be rendered to one of the bitplanes, the cube goes into the rest.
This is the simplest explanation that comes to mind... But what kind of graphic mode is this, in which the font is 100% identical to the font in text mode? Compare, they are identical.
We also see a blinking cursor (in graphic modes it does not blink).
I you look closely the characters gets a tiny bit wider after the blink. This is probably because the standard 80x25 text mode on VGA is 720x400 (9x16 pixel characters) and the graphics mode is 640x400 with only 8x16 pixel characters.
Quote:
My guess is that they switch to graphics mode at the flash. The text has to be rendered to one of the bitplanes, the cube goes into the rest.
this seems to be a reasonable guess, as confirmed by both DOSBox-X and PCem - the screen width changes from 720 to 640 lines, as VGA text mode is internally outputs characters as 9 pixels wide, even though the font width is 8 pixels. Also, 640x400 16-color graphics and 80x25 text mode share the same horisontal CRTC parametes, only the pixel clock frequency (25 vs 28 MHz) and number of clocks per character (8 vs 9) are different, so this switch can be done almost seamlessly.
I also recall this part to be particularly buggy on NVidia cards, as the demo seems to grab the wrong font and draw the next with 8x8 chars, spoiling the effect completely :)
by the way, this prod had a similar effect after ending the demo (drawing the "pi" symbol over text mode screen) - afaik it did work only if demo was launched from the Volkov Commander, otherwise it crashes the PC.
Quote:
VGA text mode is internally outputs characters as 9 pixels wide
It can also output 8 pixels per character in a text mode with 640 horizontal pixels, and there's probably a way to have 720 horizontal pixels in graphics mode (at least you can get 360 in low resolution), so the transition could have been made more seamless if they really wanted.
it can, of course, but the default BIOS text mode uses 9 pixels wide font and if we want seamless transition, this kind of breaks the effect flow (alright, it is already broken in GBU example if you watch closely :D)
As for 720-wide graphics mode, it could be done this way, but then you have to simulate 9-pixel textmode pixel layout by shifting the font (remember that 16-color VGA mode are planar), and this comes with a performance penalty.
As for 720-wide graphics mode, it could be done this way, but then you have to simulate 9-pixel textmode pixel layout by shifting the font (remember that 16-color VGA mode are planar), and this comes with a performance penalty.
Quote:
this comes with a performance penalty
Maybe I'm missing something, but wouldn't it only be done once? It could even be done before the fade starts, if took noticably long time.
Tip: use a debugger and read AX before it calls INT 10h? Use Dosbox's Debugger or something better.