pouët.net

Heaven 7, High-Res HD (TM)

category: general [glöplog]
Congrats to uberninjahacking skills of HelloWorld.
added on the 2008-12-19 14:01:20 by wrthlss wrthlss
crap. need to install IDA... :)
added on the 2008-12-19 14:06:14 by raer raer

Okay, many thanks for all your kind comments ! (you know, i got fired and was a bit down these days :) ).

But really, i'm just changing two numbers. :D

I still wonder how the fullscreen mode is chosen, since there is no valid 'height' in the little table i have reversed. (this being due to the letterboxed format, the stored heights are lower).

I have been able to trigger fullscreen modes for 1024.768 and 1280.1024! (by specifying corresponding widths).

So either the fullscreen heights are stored somewhere else, which i doubt, or theres some kind of mode enumeration based on the width. Its not based on the stored height, cause you can lower it to say, 256 and it still starts the same mode (for example 1024.768), just more letterboxed.
Unfortunately, you cannot really supress the letterbox effect and have full 4/3 format by setting bigger heights (say 768), because it crashes after first scene.

If theres no mode corresponding to the width, it fallbacks to 640.480.16bpp (thats a guess based on some part of the diassembly and is consistent with what i see ).

But, i couldnt go higher than 1280 in fullscreen, even though i specified for example 1440 or 1680 which should be valid. I suspect they might be valid under d3D but not enumerated to old directDraw... Also, these are not 4/3 ... (but neither is 1280.1024, which works) ... dunno.

So, heres my last version, no need for a big screen, everyone should be able to test it ! (i hope! )

The supported modes are:

1024.563 (fullscreen works)
1280.704 (fullscreen works)
1440.792
1664.915

The last one, fullscreen doesnt works, it uses fallback mode.
The third one, fullscreen might work on a system that has something like a valid 4/3-like 1440 mode, but i wouldn't hold my breath on that.

All windowed modes work.

And no more artifacts ! (well i know theres a thin line at the bottom)

Here's the file :


Very nice!
added on the 2008-12-19 14:57:24 by b0ib0t b0ib0t
Really nice Helloworld. Who would have said 8 years ago that the 800x600 option was going to be not enough?

I remember my old computer running the just released heaven7 in 320x240 at about 15-20 fps... and it was amazing at the time!

It is amazing how fast it can go in high resolutions right now, having in mind that it works only in a single core...
added on the 2008-12-19 15:00:26 by texel texel
**Throws his Nvidia out the window**
added on the 2008-12-19 15:11:35 by b0ib0t b0ib0t
*catch*
Will Heaven 7 reach the top of all-time top ?

just asking :P
added on the 2008-12-19 15:30:53 by Zest Zest
Very nice indeed! I always wanted to watch this little gem in higher resolution. :) Great job!

Proper hosting: so it now could be added as an additional download link for the prod's page itself.
added on the 2008-12-19 15:54:47 by masterm masterm
Quote:
so it now could be added as an additional download link for the prod's page itself.

How about waiting until helloworld is actually finished updating it? I don't consider an EXE-file that's updated every three hours a proper release. :) (but yeah, free.fr hosting is scheisse)

Oh, and.. NICE EFFORT helloworld! It works very well in Parallels (some small bugs in the 1024-version though)
added on the 2008-12-19 16:04:36 by gloom gloom
gloom: Oh shit. I don't know why my brain interpreted
Quote:
So, heres my last version
as here's my final version. Sorry for that. You can ignore my request for putting that download link until the final arrives. :)
added on the 2008-12-19 16:08:32 by masterm masterm
@iq: ok so dont just tell me about shitting bricks...who, what, when can I see it?

@HeLLoWorld : brilliant the new version even works on my crappy Vista intel laptop, making it the first PC intro this year to do so! Its gorgeous of course.

Hmmm maybe we need a whole new category: Haxxored demos.
added on the 2008-12-19 16:40:06 by auld auld
Oooh. looks great at high res :D

I'm running it in vmware, and no glitches (other than the 'optimisations' showing a bit more than at low res) to speak of. It runs in fullscreen ok up to 1280, runs in any res windowed. I get good enough performance at 1280, but even 1600 odd is watchable :)

Great stuff helloworld.
added on the 2008-12-19 16:49:42 by psonice psonice
hello helloworld, this is awesome. :D
awesome :D the 1024-version works smooth on my core 2 duo laptop and looks great :)
added on the 2008-12-19 17:24:59 by src src
Amazing hack, and HI res was so smooth on a simple E2140.
tnx for this gift :)
added on the 2008-12-19 19:36:47 by rmeht rmeht
Any resolution works for me in full screen and windowed. maybe its a matter of the graphics driver/graphics card how it deals with odd resolutions?

1664x915 is a bit slow on my core2duo 2ghz. but hey!
added on the 2008-12-19 20:38:59 by ddeml ddeml
why not ask picard for the source, i mean wtf? :)
added on the 2008-12-19 20:40:07 by supah supah
welll...
Quote:
he was at function, though i havent seen him online since
supah:
Yeah, i guess you're right, it's kind of dull...Chances are, it would have been fixed and rebuilt in no time...(still, the ratio thing doesnt seem trivial but maybe its just me)

I just enjoyed trying it, and got good feedback... but now i'm a bit tired :)
Plus, maybe they're lost forever? :) Anyway it's been fun so far.

Congrats HelloWorld! Propher work! :D
Even Picard couldn't do it better. :P
(werbung on)
Anyway he is still alive, working for your PDA-s CorePlayer... ;)
(werbung off)
added on the 2008-12-19 21:20:06 by d-lee d-lee

Holy shit. They really took the width and multiplied it by 3/4 to get the height of the fullscreen res, it's in the code (lea and shr :) ). But back in the days there were no different aspect ratios, and, hey it's a 64k, not a fully customizable engine, so it was perfectly ok.

So, the 1280 fullscreen works because i have a valid 1280*960 mode (that one IS 4/3), didnt think of that.

And i have been able to get 1440*900 fullscreen (valid resolution but not 4/3) by debugging! this was wicked, i set values in the file for 1440*(corresponding letterboxed height), and put a breakpoint before the setvideomode, and when it breaks i replaced the register value specifying the height with 900, and then i resume execution, and it sets a valid mode with correct values for the engine too...

The same way i have attained my holy grail of triggering the sacred 1680*1050 fullscreen mode (althoug still letterboxed), but i got these damn artifacts back (only the slope patterns, not the garbage), which is quite strange cause i thougt i had understood how to get rid of them, by setting the width to a multiple of 8 (something to do with the 8*8 blocks used for "adaptive subsampling", see archive ). So it might need to be 16 or even 32byte-aligned.

Alas, i don't see how to get these modes easily without patching the code in place which i'm not sure is possible...or reassembling.

And, in windowed mode i don't seem to be able to go higher than 1664 without artifacts...maybe i would need a bigger screen than 1680 to test...

So for now, i just give a slightly better "release", with heights corrected so there are no more "last lines" artifacts...and a better package(even a readme!).

Also, i tried UPX for depacking and the executable seems more "clean"to the debugger, no errors anymore; note the offset where the interesting bytes lie is now 0x10000 (precisely 0x10027).
Also, i've included the original, depacked, modded, and repacked versions in the archive, tell me if it's a bad idea.
Also since i've so far included my handle in the filename, tell me if it's a bad idea.
Lastly, sadly upx packed the depacked file to more than 64K but it must be me or something cause it packed the unaltered depacked file to more than original 64K aswell.

I'm not sure if it's a final, but i'not sure i feel like hacking hex forever... :)

So thats it for now! Comments welcome.




(and if you know a better free filehosting service... :) )

login