![]() |
Last Visit : never :: 2013-5-24 @ 01:58 am : Now | |||
FAQ |
Search |
Memberlist |
Usergroups |
|
Register |
Profile |
Messages |
Log in |
|
| Forum Index :: OpenGLide Development :: | |
Carmageddon fix
|
|
|---|---|
Carmageddon fix :: 2010-10-25 @ 02:27 pm
|
|
|
gulikoza Oldbie Joined: 2004-06-25 Posts: 1519 |
When running inside DOSBox, Carmageddon only shows black screen when the movies are supposed to be shown. It works fine with dgVoodoo.
I figured out, Carmageddon issues a LFB lock but never bothers to unlock the buffer (as that would actually trigger buffer update in openglide, instead the buffer remains empty). Glide reference specifically states that an application can only call grLfbLock and grLfbUnlock when it holds a lock to a buffer and cannot use other commands. The following patch issues a buffer unlock when grSwapBuffers is called and re-locks the buffer after the SwapBuffers. It's against what reference manual says (even if SwapBuffers implicitly unlocked the buffer on real hardware, the application could not expect the LFB pointer to remain valid after the buffer swap), but it makes the game work ![]() Last edited by gulikoza on 2010-10-26 @ 12:29 pm; edited 1 time in total _________________ http://www.si-gamer.net/gulikoza |
|
|
Re: Carmageddon fix :: 2010-10-25 @ 05:14 pm
|
|
|
Miki Maus Member Joined: 2004-10-18 Posts: 197 Location: Cave |
Interesting, because Carmageddon works fine with openglide when using glidos.
Keep up the good work! ![]() |
|
|
Re: Carmageddon fix :: 2010-10-25 @ 05:21 pm
|
|
|
thedoctor45 Newbie Joined: 2010-07-12 Posts: 32 |
you can also fix the problem by adding the -vrush argument to carmav.exe. |
|
|
Re: Carmageddon fix :: 2010-10-26 @ 02:16 am
|
|
|
thedoctor45 Newbie Joined: 2010-07-12 Posts: 32 |
hmm... with the hires and carmageddon patches the 3Dfx version of BLOOD now looks like this:
any idea what could cause that and how to debug this? |
|
|
Re: Carmageddon fix :: 2010-10-26 @ 12:11 pm
|
|
|
Glidos l33t Joined: 2002-08-08 Posts: 3092 |
thedoctor45 wrote: hmm... with the hires and carmageddon patches the 3Dfx version of BLOOD now looks like this:
. . . any idea what could cause that and how to debug this? Yep, You can't scale blood. The 3dfx patch is a bit of a hack: where the software version used to generate lots of one-pixel-wide lines, the 3dfx patch generates very thin triangles. Glidos has a way around it, but it's very complicated: Glidos reads in the little triangles, and stiches them together to make big ones; it also has to use linear regression to calulate good texture coords. |
|
|
Re: Carmageddon fix :: 2010-10-26 @ 12:13 pm
|
|
|
Glidos l33t Joined: 2002-08-08 Posts: 3092 |
Miki Maus wrote: Interesting, because Carmageddon works fine with openglide when using glidos.
Keep up the good work! ![]() I ran into similar problems, and implemented a similar solution. The fault is with Carmegeddon. Glidos uses several special cases in Carmageddon, and still it doesn't quite get it right. |
|
|
Re: Carmageddon fix :: 2010-10-26 @ 12:32 pm
|
|
|
gulikoza Oldbie Joined: 2004-06-25 Posts: 1519 |
Updated and simplified the patch in the first post. There's really no good reason to wait for bufferswap and issue a full buffer lock since LFB is just allocated memory ![]() _________________ http://www.si-gamer.net/gulikoza |
|
|
|
page 1 of 1
|
|
| All times are GMT |
| Moderate |
|---|
| Quick Reply & Options | |
|---|---|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum |
|
2002-2003 zetafleet.dom.