Elastomania ddraw wrapper

Advertise your levels, contests, sites etc.

Moderator: Moporators

Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Elastomania ddraw wrapper

Post by Ropelli »

I made more efficient ddraw.dll, which is responsible for the rendering routines in elastomania. The new dll effectively hastens the rendering process(=more fps) and complies with 32bit graphics. It also has native support for windowed mode. And it probably works fine with Windows 8 too.

You can dl exe from here: https://www.dropbox.com/s/yjmf1b1jcblsw ... w.dll?dl=1
Sources for Smibu: https://www.dropbox.com/s/w5nwb5oi2ha9b ... w.zip?dl=1

Installation:
Put the ddraw.dll in the same directory where eol.exe is. Then just run eol.exe normally. This way Windows automatically loads the local ddraw.dll instead of the system global which is located in system32 directory.

Enabling windowed mode:
Create an empty file called ddraw_windowed.txt in the same directory where ddraw.dll is located.

Enabling pre-rendering(may boost fps, but gives a little delay in input):
Create an empty file called ddraw_pre_render.txt in the same directory where ddraw.dll is located.

Enabling resolution changing:
Create an empty file called ddraw_change_resolution.txt in the same directory where ddraw.dll is located. Windowed mode will override this flag though, so make sure not both flags are present at the same time.

Crash workaround for OBS streaming software:
Create an empty file called ddraw_patch_obs.txt in the same directory where ddraw.dll is located.

Improvements:
*Up to 10% more fps
*Fast alt+tab
*No golden elma
*Native windowed mode(It still performs very poorly compared to fullscreen, because in windowed mode the desktop must be rendered aswell)
*Windows 8 support

Known bugs:
*Editor does not work for some laptops. Caused by broken opengl drivers. Updating to latest driver version might fix the problem.
*Does not work in XP or older systems.
Last edited by Ropelli on 10 May 2015, 01:35, edited 9 times in total.
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Tried it, but there is problem i think with fps maybe. There is much more "waittime" after i press spin etc buttons to control the bike, which makes the game unnatural.

Ye no golden elma, but did instant delete after realised keypress latein.

Hopefully it can be fixed.
Team SPEED

Image
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Labs wrote:Tried it, but there is problem i think with fps maybe. There is much more "waittime" after i press spin etc buttons to control the bike, which makes the game unnatural.

Ye no golden elma, but did instant delete after realised keypress latein.

Hopefully it can be fixed.
Hmm, that's unfortunate. You could check the fps with Fraps to see if that's the real reason for higher latency. I think the high latency you are experiencing might be caused by the fact that DirectX launches the window in "exclusive mode", which combined with the use of dinput.dll probably allows more precise input handling. My ddraw.dll does all the rendering in opengl, which does not have such exclusive mode available. But I'll look into this in more detail.
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Tried to check fps values with fraps and the result is 60fps with new ddraw, no matter if you set 200 etc in eolconf it stayin on 60, also limit off makes 60 too which is my monitor max hertz number.

Without new dll fraps shows 450-480 fps, which is irrevelant because fps is did set to number 200. Yes the fps limiter works correctly, because with 30 fps i can see its "lagging" and fraps showin 450-480 counts.

Dunno what's the problem, maybe i will check game with monitor setting 50 hertz and if fraps will show 50 constantly then maybe there is some problem.

Edit: Did check with 50 hertz and fraps showin 50 fps constantly with new dll.
Team SPEED

Image
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Labs wrote:Tried to check fps values with fraps and the result is 60fps with new ddraw, no matter if you set 200 etc in eolconf it stayin on 60, also limit off makes 60 too which is my monitor max hertz number.

Without new dll fraps shows 450-480 fps, which is irrevelant because fps is did set to number 200. Yes the fps limiter works correctly, because with 30 fps i can see its "lagging" and fraps showin 450-480 counts.

Dunno what's the problem, maybe i will check game with monitor setting 50 hertz and if fraps will show 50 constantly then maybe there is some problem.

Edit: Did check with 50 hertz and fraps showin 50 fps constantly with new dll.
Vsync.

Edit: Disabled vsync in ddraw.dll
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Oke did turn off vsync in nvidia control panel for eol and it's now working fine i think.

Edit: Dowloaded new file and now it's working without setup in nvidia panel too. Thanks.

Edit2: New dll produces more than double max fps for me :)

From 500 -> 1100

Edit3: Go to windows and back to game is now like hmm... ye it's VERY fast which is nice feature, also game starts faster too.
Last edited by Labs on 14 Jan 2015, 03:54, edited 2 times in total.
Team SPEED

Image
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Labs wrote:Oke did turn off vsync in nvidia control panel for eol and it's now working fine i think.

Edit: Dowloaded new file and now it's working without setup in nvidia panel too. Thanks.

Edit2: New dll produces more than double max fps for me :)

From 500 -> 1100
Nice.
Smibu
Kuski
Posts: 476
Joined: 15 Jun 2007, 13:17
Location: Finland

Re: Elastomania ddraw wrapper

Post by Smibu »

Very nice :) the only bug I noticed so far is that the palette seems to be wrong (when in a lev) with the LGR I'm using. It looks like this. I use the Haddock one: http://users.jyu.fi/~mikkalle/Elma/haddock.LGR

If you fix that, I will ditch DXGL and use this DLL. I don't need the ingame editor either.

Out of curiosity, did you develop this based on DXGL sources (or something else) or from scratch? Can you share the sources?
User avatar
Orcc
Moporator
Posts: 1752
Joined: 19 Oct 2004, 20:44
Team: IS
Location: Espoo, Finland

Re: Elastomania ddraw wrapper

Post by Orcc »

That sounds like a very handy thing, but not having the in-game editor is just a too big disadvantage.
NoobSty2-competition

"If you're afraid of pedophiles - grow up"
User avatar
BlaZtek
Kuski
Posts: 391
Joined: 15 Dec 2011, 01:07
Team: CMR
Location: Norway

Re: Elastomania ddraw wrapper

Post by BlaZtek »

This sounds very nice Ropelli. But without the ingame editor its useless for me.
Image
[13:22:24] (ImagebEAT) blaz super pro
[17:06:15] (ImageRamone) ok I suckj. blaz rules
User avatar
insane guy
Kuski
Posts: 1673
Joined: 22 May 2002, 20:53
Contact:

Re: Elastomania ddraw wrapper

Post by insane guy »

BlaZtek wrote:This sounds very nice Ropelli. But without the ingame editor its useless for me.
I agree. Never could get used to external editors..
"Every night, me go to sleep, me have wet dream..."
User avatar
FinMan
36mins club
Posts: 2038
Joined: 13 Feb 2007, 11:14
Team: dat
Location: Jyväskylä, Finland

Re: Elastomania ddraw wrapper

Post by FinMan »

Go for the in-game editor stuff and I will give lots of love osv, nice work already, appreciated! :*
Image
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Smibu wrote:Very nice :) the only bug I noticed so far is that the palette seems to be wrong (when in a lev) with the LGR I'm using. It looks like this. I use the Haddock one: http://users.jyu.fi/~mikkalle/Elma/haddock.LGR

If you fix that, I will ditch DXGL and use this DLL. I don't need the ingame editor either.

Out of curiosity, did you develop this based on DXGL sources (or something else) or from scratch? Can you share the sources?
Lgr support added. For some reason elma sets the wrong palette initially, which causes the launch screen to have wrong colors. Made from scratch. I did get the inspiration from DXGL. I would've used that one if it didn't have such awful fps and max buggy alt+tab. Yeah, I can make it public at some point.
Orcc wrote:That sounds like a very handy thing, but not having the in-game editor is just a too big disadvantage.
, The in-game UI support is rather hard to implement without sacrificing the fps gain. And the way elma calls some functions makes it even harder to make it properly.
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: Elastomania ddraw wrapper

Post by anpdad »

What do i need to make it work? It doesn't even attempt to run elma, just pops up an error message and that's it. Something along the lines "eol\ddraw.dll is either not supposed to be run in Windows or contains an error blablabla reintsall it blabla", so i guess i lack some drivers or stuff.
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

anpdad wrote:What do i need to make it work? It doesn't even attempt to run elma, just pops up an error message and that's it. Something along the lines "eol\ddraw.dll is either not supposed to be run in Windows or contains an error blablabla reintsall it blabla", so i guess i lack some drivers or stuff.
:D Just leave it to eol directory and run eol.exe normally. eol.exe will load that ddraw.dll instead of the default one.
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: Elastomania ddraw wrapper

Post by anpdad »

Dunno how it unclear from my prev post, but that's exactly what i'm doing and eol tries to use this dll, but doesnt even get to the starting screen cuz error appears instantly. OS doesn't like this dll or smth, and since you probably haven't coded the whole library by hand, it probably calls some functions that my system lacks. Maybe there's some other reason for that, but that was my first and the only guess so far. Could it be something else?
Ofc when i remove this dll from the eol folder, the game starts working normally as always.
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Ah oke, now I see. I think you are running Windows XP and visual studio 2013 by default uses a runtime not compatible with xp and older systems. Well, I updated the dll to support older systems aswell. Now it should work, assuming the opengl driver in xp is modern enough for the rendering routines :D
User avatar
Igge
38mins club
Posts: 6393
Joined: 7 Apr 2007, 12:15
Location: Stockholm, Sweden

Re: Elastomania ddraw wrapper

Post by Igge »

y u use windaws cp??
John: lol hittade ett popcorn i naveln
(19:52:06) (@Madnezz) The Golden Apple Award goes to.....
(19:52:36) (@Madnezz) ib9814.lev by igge!!!
Zweq wrote:99.9999% of nabs haven't even opened the book yet and most of those that have are still on the first pages
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Windows CCCP
Team SPEED

Image
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: Elastomania ddraw wrapper

Post by anpdad »

Nah, still doesn't work. Using win7 btw. I guess i'll try to update my graphic card drivers and .net and directx and my mom and see if anything changes. Seems like my true CCCP computer is overly resistant to western influence.
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

anpdad wrote:Nah, still doesn't work. Using win7 btw. I guess i'll try to update my graphic card drivers and .net and directx and my mom and see if anything changes. Seems like my true CCCP computer is overly resistant to western influence.
Heh. Well I dno what's the problem then. Maybe it's resistant.
culinko
38mins club
Posts: 1551
Joined: 29 Dec 2002, 19:17
Location: Bratislava, Slovakia
Contact:

Re: Elastomania ddraw wrapper

Post by culinko »

maybe anpe using 64 bit win?
Image
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Problem is not with windows maybe, i use win7 64 bit too (32 bit -who would use that?).

Edit: What components in anp computer? Maybe video card is shit?
Team SPEED

Image
culinko
38mins club
Posts: 1551
Joined: 29 Dec 2002, 19:17
Location: Bratislava, Slovakia
Contact:

Re: Elastomania ddraw wrapper

Post by culinko »

actually, just tested teh myself. if run eol.exe, elma is just frozen and if run eol.exe from D3DWindower it just crashes.

using win 7, 64 bit ultimate (ATI card)

Code: Select all

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	eol.exe
  Application Version:	0.0.0.0
  Application Timestamp:	39ef183b
  Fault Module Name:	StackHash_d549
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	00000000
  Exception Code:	c0000005
  Exception Offset:	00000000
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	1051
  Additional Information 1:	d549
  Additional Information 2:	d54904695667820ddee6ed7980a9b838
  Additional Information 3:	56a6
  Additional Information 4:	56a6639e091ce022dc0d5fc27130083a
Image
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

It won't work in d3dwindower cos the app uses some routines I have not implemented in ddraw.dll. It only works in eol.exe. But I'll check if something in my code causes the problems anp and culinko are experiencing.
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Made final update to ddraw.dll: added support for teh in-game editor(now the dll will display correctly all in-game UI graphics). Also reorganized the code a bit, which might help in culinko's problem.

Added dl link for sources for Smibu in main post, too.
User avatar
analcactus
Kuski
Posts: 421
Joined: 7 Dec 2010, 12:54
Location: St. Petersburg, Russia
Contact:

Re: Elastomania ddraw wrapper

Post by analcactus »

Thanks thanks thanks! Works perfectly on win8.1 <333333
Image Image
Image
User avatar
Hosp
38mins club
Posts: 2101
Joined: 30 Aug 2009, 20:55
Team: MiE
Location: up yours
Contact:

Re: Elastomania ddraw wrapper

Post by Hosp »

yes)))))))))))))))))
in-game editor not lagging anymore for my, everything so kvick, alttab fasting, no golden elma, 1200 FPS from 450 or so wategak
very ty)))))))
Image
ToMaT
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: Elastomania ddraw wrapper

Post by Bjenn »

Very good work my friend!
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: Elastomania ddraw wrapper

Post by Domovoy »

Very nice job indeed. Do I understand correctly, that this enormous FPS boost comes because the index->32bit transformation is performed as shader instead of CPU? No other tricky parts?
Smibu
Kuski
Posts: 476
Joined: 15 Jun 2007, 13:17
Location: Finland

Re: Elastomania ddraw wrapper

Post by Smibu »

Thanks for the palette fix and sources :) the editor doesn't work for me properly; it shows like this when I open it: http://users.jyu.fi/~mikkalle/Elma/editor_bug.png

The correct color flickers when I move the mouse (or move in the lev selection menu with up/down arrows); it looks like every 4th frame is rendered with correct colors. The editor cursor leaves a trail.

But as I said, I don't need the editor so maybe fix that only if it's easy and doesn't degrade fps :)
User avatar
skint0r
39mins club
Posts: 768
Joined: 16 Jun 2002, 07:36
Location: Oslo, Norway

Re: Elastomania ddraw wrapper

Post by skint0r »

omg... most sick shit ever. I haven't played Elma for maybe some 4-5+ years now because no matter what settings I tried for exe or with d3windower, elma has been laggy and unplayable ever since vista days or so. Now suddenly max smooth lag free Elma and mind: blown. I also get this editor bug, moving mouse makes screen flicker randomly and mango colors, and can't see pointer at all. Hope it can be fixed somehow, would be sick if could start play again and make levels <3 bäst dll ever gaa award plz thx
Prestigious member of 14.6x Tutor14 club
User avatar
roope
37mins club
Posts: 1552
Joined: 14 Apr 2008, 17:58
Team: MiE
Location: smedjebacka

Re: Elastomania ddraw wrapper

Post by roope »

Sick, only new read through this topic. I'm at school right now, but I will definitely test it at home because I only use external editors with alt-tabing so golden elma is quite a big annoyance.
Team MiE - MiE Cup 1
Prestigious member of 14.6x Tutor14 club
User avatar
Zweq
34mins club
Posts: 4055
Joined: 28 Nov 2002, 15:54
Location: suo mesta

Re: Elastomania ddraw wrapper

Post by Zweq »

Same error as anp. win7 64bit ,nvidia card and stuf, if it matters. Well, I don't need more fps, just testing.
Image
User avatar
skint0r
39mins club
Posts: 768
Joined: 16 Jun 2002, 07:36
Location: Oslo, Norway

Re: Elastomania ddraw wrapper

Post by skint0r »

btw here video showing editor mongoness, playing in 1080 res if matter: https://www.youtube.com/watch?v=h-39669QkFE
Prestigious member of 14.6x Tutor14 club
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

skint0r wrote:btw here video showing editor mongoness, playing in 1080 res if matter: https://www.youtube.com/watch?v=h-39669QkFE
Yeah I have the same problem on my laptop. I think it's caused by either a buggy driver or some incompatible flags I'm passing to a function. Elma draws the editor in parts, so it's necessary for the driver to properly return the right texture data buffer. Elma modifies that buffer a bit by drawing a window or such, and passes it back for rendering. Now, if the driver does not return the right texture buffer, but instead allocates a new one, only a part or nothing of the full editor will show.

I'll try to find a fix.
User avatar
Markku
38mins club
Posts: 299
Joined: 5 Jun 2003, 22:48
Location: Lizard lounge

Re: Elastomania ddraw wrapper

Post by Markku »

Very nice work. This makes EOL for the first time actually playable on my laptop (win8.1 64-bit, nvidia card), it is much smoother than with d3dwindower or DXGL.

On the other hand, on my main desktop (win7 64-bit, only integrated HD4000 graphics but a powerful CPU) this drops the fps from 1200+ to around 500, making it slightly laggy compared to what I'm used to. Well, perhaps the integrated graphics card just isn't capable of more than that, whereas without the dll all the heavy lifting is done by the CPU, producing max fps.

Editor seems to work fine on both systems.
Prestigious member of 14.6x Tutor14 club
User avatar
Labs
37mins club
Posts: 1213
Joined: 2 May 2005, 14:20
Team: SPEED
Location: Hungary
Contact:

Re: Elastomania ddraw wrapper

Post by Labs »

Just did check editor and it works correct.

Dunno if it has any sense on anp and culinko problem, but try to install visual c++ packages, not just one but many needed for some games. For example visual c++ 2008 and install both (32 and 64 bit version too).
Team SPEED

Image
User avatar
Chris
Kuski
Posts: 1111
Joined: 5 Dec 2008, 16:19
Team: Ferrari
Location: flat track

Re: Elastomania ddraw wrapper

Post by Chris »

It doesn't work for me. Shows some error that ddraw.dll isn't meant to be run on this system or there is error.
Attachments
DxDiag.txt
(60.68 KiB) Downloaded 332 times
Lousku wrote:could you mayke shorter sig please :( mega annoying and also against rules :()
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Chris wrote:It doesn't work for me. Shows some error that ddraw.dll isn't meant to be run on this system or there is error.
What does the messagebox exactly say? Printscreen or something would be helpful. Dno about that .txt file.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: Elastomania ddraw wrapper

Post by Kopaka »

This is pretty awesome, I can see the correct colors of the splash screen for the first time in years. 30% higher dps, quick as fuck alt tab, editor working.
Ropelli wrote:Limitations:
*It does not change system resolution. So if you're used to play elma with ancient resolution in fullscreen, this won't work for you.
Any changes of adding this though? I use 800x600, I could probably get used to a higher res but I can't play in widescreen. When I run 800x600 fullscreen normally I have black bars on the sides. With this ddraw I just get a small elma in top left corner. I could do some 1440x1080 windowed but the res changing would be preferable.
culinko
38mins club
Posts: 1551
Joined: 29 Dec 2002, 19:17
Location: Bratislava, Slovakia
Contact:

Re: Elastomania ddraw wrapper

Post by culinko »

unfortunately, it's still frozen. i tried windowed with ddraw_windowed.txt and all i get is a transparent window and you can't close it by clicking "X".
Image
User avatar
Orcc
Moporator
Posts: 1752
Joined: 19 Oct 2004, 20:44
Team: IS
Location: Espoo, Finland

Re: Elastomania ddraw wrapper

Post by Orcc »

Thanks for the editor fix, works like a charm! You should also edit the first post, since it still says editor doesn't work.
NoobSty2-competition

"If you're afraid of pedophiles - grow up"
User avatar
Chris
Kuski
Posts: 1111
Joined: 5 Dec 2008, 16:19
Team: Ferrari
Location: flat track

Re: Elastomania ddraw wrapper

Post by Chris »

Ropelli wrote:
Chris wrote:It doesn't work for me. Shows some error that ddraw.dll isn't meant to be run on this system or there is error.
What does the messagebox exactly say? Printscreen or something would be helpful. Dno about that .txt file.
It's bad image error.

http://i.imgur.com/GXVrwns.jpg

Translation:
'Program [patch] is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc000012f.'

The txt contains details about my laptop hardware, system, drivers etc.
Lousku wrote:could you mayke shorter sig please :( mega annoying and also against rules :()
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Chris wrote:
Ropelli wrote:
Chris wrote:It doesn't work for me. Shows some error that ddraw.dll isn't meant to be run on this system or there is error.
What does the messagebox exactly say? Printscreen or something would be helpful. Dno about that .txt file.
It's bad image error.

http://i.imgur.com/GXVrwns.jpg

Translation:
'Program [patch] is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc000012f.'

The txt contains details about my laptop hardware, system, drivers etc.
The problem is probably caused by lack of proper runtime, even though I statically linked it to the dll. You can dl the visual c++ 2013 runtime from here: http://www.microsoft.com/en-us/download ... x?id=40784(You probably should dl the dll again, too)
Ropelli wrote:
skint0r wrote:btw here video showing editor mongoness, playing in 1080 res if matter: https://www.youtube.com/watch?v=h-39669QkFE
Yeah I have the same problem on my laptop. I think it's caused by either a buggy driver or some incompatible flags I'm passing to a function. Elma draws the editor in parts, so it's necessary for the driver to properly return the right texture data buffer. Elma modifies that buffer a bit by drawing a window or such, and passes it back for rendering. Now, if the driver does not return the right texture buffer, but instead allocates a new one, only a part or nothing of the full editor will show.

I'll try to find a fix.
Now I'm pretty sure the editor bug is caused by some odd driver bug or it lacks certain features. There's no easy fix though, so I probably won't bother with it anymore. The editor support isn't perfect anyway, because the mouse flickers pretty often. That's another problem which is rather hard to fix without major hacks.
Domovoy wrote:Very nice job indeed. Do I understand correctly, that this enormous FPS boost comes because the index->32bit transformation is performed as shader instead of CPU? No other tricky parts?
Yeah the palette lookup is done in a shader. The other performance trick is Pixel Buffer Objects, which allow for fast access to GPU memory. Elma does the drawing solely in CPU, so the bottleneck is formed by the slow transfer rate between GPU and CPU.
Kopaka wrote:This is pretty awesome, I can see the correct colors of the splash screen for the first time in years. 30% higher dps, quick as fuck alt tab, editor working.
Ropelli wrote:Limitations:
*It does not change system resolution. So if you're used to play elma with ancient resolution in fullscreen, this won't work for you.
Any changes of adding this though? I use 800x600, I could probably get used to a higher res but I can't play in widescreen. When I run 800x600 fullscreen normally I have black bars on the sides. With this ddraw I just get a small elma in top left corner. I could do some 1440x1080 windowed but the res changing would be preferable.
Maybe some day.
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Disabled pre-rendering feature by default, because for some odd reason it dropped the framerate by ~10fps on my comp. Without pre-render, the input latency is a bit lower aswell. It can be enabled by creating an empty file called ddraw_pre_render.txt

Pre-rendering in the ddraw.dll is basically a way to have a bit more parallelism, so at least in theory it should add fps. It creates 2 texture data buffers, so that the other one can be used by elma and the other is being rendered to opengl's internal framebuffer. Without pre-render, one buffer is given to elma and after that the same one is rendered to the framebuffer.
User avatar
Orcc
Moporator
Posts: 1752
Joined: 19 Oct 2004, 20:44
Team: IS
Location: Espoo, Finland

Re: Elastomania ddraw wrapper

Post by Orcc »

When I alt-tab from editor the screen doesn't change. Is is fixable or do I just have to be careful not to do that?
NoobSty2-competition

"If you're afraid of pedophiles - grow up"
Ropelli
Kuski
Posts: 114
Joined: 30 Apr 2007, 13:20

Re: Elastomania ddraw wrapper

Post by Ropelli »

Hm, it works fine for me. Maybe try moving the mouse in the elma window if it doesn't show up when switching back to it from desktop. The screen is rendered only when moving mouse in the editor.
User avatar
Hosp
38mins club
Posts: 2101
Joined: 30 Aug 2009, 20:55
Team: MiE
Location: up yours
Contact:

Re: Elastomania ddraw wrapper

Post by Hosp »

sadly doesnt work on my laptop, elma just doesnt start
Image
ToMaT
User avatar
Chris
Kuski
Posts: 1111
Joined: 5 Dec 2008, 16:19
Team: Ferrari
Location: flat track

Re: Elastomania ddraw wrapper

Post by Chris »

Ropelli wrote:
Chris wrote:
Ropelli wrote:
Chris wrote:It doesn't work for me. Shows some error that ddraw.dll isn't meant to be run on this system or there is error.
What does the messagebox exactly say? Printscreen or something would be helpful. Dno about that .txt file.
It's bad image error.

http://i.imgur.com/GXVrwns.jpg

Translation:
'Program [patch] is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0xc000012f.'

The txt contains details about my laptop hardware, system, drivers etc.
The problem is probably caused by lack of proper runtime, even though I statically linked it to the dll. You can dl the visual c++ 2013 runtime from here: http://www.microsoft.com/en-us/download ... x?id=40784(You probably should dl the dll again, too)
I downloaded x86 and x64 runtimes and re-downloaded dll, but EOL still gives my the same error message at launch.
Lousku wrote:could you mayke shorter sig please :( mega annoying and also against rules :()
Post Reply