Heaven 7, High-Res HD (TM)
category: general [glöplog]
Hi there, boyz and gurlz.
Just so you know, last night i told myself i would love to watch Exceed's Heaven 7 fullscreen on my 22 inches 1680x1050, since nowadays it seems we might have cores powerful enough to spew that many pixels!
Well, at first i seemed to remember one day i saw the sources (masm or something), and anyway i was in the mood for looking again if i can understand something.
Well again, that must have been in my dreams. First, the website on demoscene.hu that used to contain a few technical pages on the raytracer, is down. Teh intrawebs is not forevah :( .Then, it seems the sources, really, are nowhere to be found.
So i told myself, just try to hack it! A matter of minutes and hexadecimal. But it turned out, not. First, it's packed, st00pid me. i was lucky enough to find a reversing package that contained an upx depacker that actually did the damn thing successfully. But, it seemed the debugger had trouble then isolating code from data... Either that, or i'm really not very experienced at using those and reversing :).
Besides, theres a location that actually goes like, push 16, push 480, push 640, call [something], but it seems its a fallback or something, so it puzzled me cause it didnt get called. Besides, it uses directDraw for drawing, and it's COM, so i didnt know how to look for the screenmode init function cause the only import we see is directdrawCreate. oh well.
At last, i found my way by just searching through hex. In my unpacked file, at location F200, theres a string that goes like, "Heaven 7. MMX instruction set required!", then the trailing zero. Now listen carefully, just after that are two words that specify the resolution of the first entry in the GUI selector(320x240). oh, by the way these two words are 320 and 176 by default. you can change them to what you want and it'll work as long as you check the "windowed" checkbox.
Erm, almost. Sometimes it crashes. Maybe you've got to respect a given ratio, or maybe the surface has a size limitation somewere in the engine. I'va been able to go to 1500x900 and it runs OK, but there is some weird shit on the screen sometimes. :) Strange.
So that's all for now, i thought there might be people interested in this. (i could upload the mod somewhere if interested but don't really feel like writing a patcher or fixing things...)
It's quite nice in hig res! i don't know if the authors still lurk around somewhere.
I would like to say that this little thing is one of my all time favorites.
Wow, i actually wrote all this.
(Look! I'm not lying! :) )
Hah! They thought they could get away by using only point sampling (nearest neighbour) ! You want to trick me into believing this is... grass? :D
great post! thanks.
please upload the modified exe.
please upload the modified exe.
Here you go!
i didnt know where to put it, i found some free host:
http://dl.free.fr/t1NHNBqH4
Please test! :) I hope this works everywhere, but since I encountered problems, I'm not sure.
REMEMBER : Let the resolution selector on "320x240". Check the "Windowed" checkbox. click "OK". It should launch a big window. :) I guess if your desktop is not at least 1500*900 it won't work... :(
i didnt know where to put it, i found some free host:
http://dl.free.fr/t1NHNBqH4
Please test! :) I hope this works everywhere, but since I encountered problems, I'm not sure.
REMEMBER : Let the resolution selector on "320x240". Check the "Windowed" checkbox. click "OK". It should launch a big window. :) I guess if your desktop is not at least 1500*900 it won't work... :(
yay. it works. :-)
btw. you have to clické on "Télécharger ce fichier" if you don't speak french.
btw. you have to clické on "Télécharger ce fichier" if you don't speak french.
and you meant this site right?! Teh intrawebs *IS* forevah! :)
Annoying vernacular but great job!
Hi! After some more toying, it appears the X/Y ratio IS important.
Some ratios, no image at all!
Some ratios, crashes after first scene!
Some ratios, weird artifacts.
The original windowed resolutions are infact:
320*176 [ 0x0140 0x00B0 ] ratio : 0.55
512*280 [ 0x0200 0x0118 ] ratio : 0.546875
640*352 [ 0x0280 0x0160 ] ratio : 0.55
800*440 [ 0x0320 0x01B8 ] ratio : 0.55
I guess the fullscreen modes are just the same with some black pixels above and below so they're cheating a little :).
Good news is, i have been able to get a BIGxBIG version without artifacts at all ! :
1664*915 [ 0x0680 0x0393 ] ratio : 0.5498798...
Here it is:
http://dl.free.fr/pS8dMJd8C
(remember it only works in windowed mode)
Have a nice raytraced day! :)
Some ratios, no image at all!
Some ratios, crashes after first scene!
Some ratios, weird artifacts.
The original windowed resolutions are infact:
320*176 [ 0x0140 0x00B0 ] ratio : 0.55
512*280 [ 0x0200 0x0118 ] ratio : 0.546875
640*352 [ 0x0280 0x0160 ] ratio : 0.55
800*440 [ 0x0320 0x01B8 ] ratio : 0.55
I guess the fullscreen modes are just the same with some black pixels above and below so they're cheating a little :).
Good news is, i have been able to get a BIGxBIG version without artifacts at all ! :
1664*915 [ 0x0680 0x0393 ] ratio : 0.5498798...
Here it is:
http://dl.free.fr/pS8dMJd8C
(remember it only works in windowed mode)
Have a nice raytraced day! :)
WOW!!!
very good work with the "hack"!
but apparently they used some crude undersampling/"detectors" or whatever for the shadows, cause they expose weird artifacts in some scenes..
but apparently they used some crude undersampling/"detectors" or whatever for the shadows, cause they expose weird artifacts in some scenes..
interesting :)
btw HeLLoWorld: if the exe header hasn't be tampered you can unpack an upx'ed exe by upx itself : upx.exe -d
btw HeLLoWorld: if the exe header hasn't be tampered you can unpack an upx'ed exe by upx itself : upx.exe -d
xmassoup: yay, this site :) . thanks, usually i always think of the archive !
heres a quote on the archived site :
so...i guess i never saw the source :)
Zest: ah, thanks, i didn't know. Now i'll know :)
heres a quote on the archived site :
Quote:
Q: is program source available for public?
A: no. i don't think it would be useful for anyone. the intro code is full assembly and we were quite in a hurry finishing for mekka & symposium's deadline, so there are no comments or what so ever in the source.
so...i guess i never saw the source :)
Zest: ah, thanks, i didn't know. Now i'll know :)
And don't forget you can display the built-in FPS'o'meter by pressing SPACE !
I have an Intel 8400 and it's 15 FPS again now on the spheres scene, just like in the old days :)
if there was a scene.org award for this I'd vote for you now.
i wanna see this next easter at the bigscreen in ACTUAL SIZE!
That was greaat!!
How long before you start hacking to increase the internal rendering precision?
BTW. seconded on the BP Bigscreen suggestion
BTW. seconded on the BP Bigscreen suggestion
is Picard still around ?
he was at function, though i havent seen him online since
Quote:
if there was a scene.org award for this I'd vote for you now.
I know somebody that hacked a famous demo in such a way that you would really shit bricks when you see it :)
But yep, nice thread and idea.
i have a hard-on.
Quote:
I know somebody that hacked a famous demo in such a way that you would really shit bricks when you see it :)
But yep, nice thread and idea.
Do you know if they plan to release it in the end? TUM is getting closer.