Doom Marine
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Doom2 v1.92 - no more visplanes and drawsegs overflows
Pages (6): « 1 2 3 [4] 5 6 »  
Author
All times are GMT. The time now is 04:33. Post New Thread    Post A Reply
Quasar
Moderator


Posts: 5962
Registered: 08-00


Actually my description of this was incorrect; I was confusing it with a different but similar limit mentioned in Lee's BOOM changelog which was apparently the spanstart array. However, the openings array *is* still too small; unfortunately Lee didn't leave any mention of how to overflow this limit.

However, given that lastopening is incremented by R_StoreWallRange when drawing 2S middle textures, I'm going to guess that you need to have more way too many middle textures in view on the screen at one time to trigger an overflow. Sounds pretty extreme, but Lee seems to have found the problem while playtesting judging by his comments of using the zone allocator to find where the array overflow was occurring.

Part of the problem is that the overflow is highly dependent on the structure of the area. You can see this by the way a roving pointer into the array is being used:
lastopening += rw_stopx - rw_x;

The pointer gets incremented by the distance between where the texture starts and stops drawing; in other words, it's being used similar to a z buffer in modern rendering engines, where the position of data in the array corresponds to the same position on the screen. Unfortunately, it's not large enough. A z buffer has to be the same size as the screen it is used for, and thus a size of SCREENWIDTH*SCREENHEIGHT is the proper and sufficient size.

Old Post 07-06-06 18:43 #
Quasar is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



Quasar said:
However, given that lastopening is incremented by R_StoreWallRange when drawing 2S middle textures, I'm going to guess that you need to have more way too many middle textures in view on the screen at one time to trigger an overflow.
You are right

Old Post 07-06-06 21:27 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04


http://sourceforge.net/projects/prboom-plus/
doom-plus download section

doom2-1.92.6
code:
linespeciallist[MAXLINEANIMS] : 64 * 256 = 16384 openings[MAXOPENINGS] : 16384 * 4 = 65536

Old Post 07-06-06 22:33 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04


It's time for first beta release of Ultimate Doom Plus.

The list of the increased limits:
code:
limit : old * k = new ------------------------------------------------------- visplanes[MAXVISPLANES] : 128 * 8 = 1024 drawsegs[MAXDRAWSEGS] : 256 * 8 = 2048 SAVEGAMESIZE : 180224 * 16 = 2883584 activeplats[MAXPLATS] : 30 * 256 = 7680 vissprites[MAXVISSPRITE] : 128 * 8 = 1024 linespeciallist[MAXLINEANIMS] : 64 * 256 = 16384 openings[MAXOPENINGS] : 16384 * 4 = 65536

link for download

If you have some troubles and visual glitches with patched EXE than try to undo vissprites limit removal and let me know if it helps.

Old Post 04-01-07 20:58 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02


wow, great, I was actually thinking about the lack of an Ultimate Doom Plus just a couple days ago :) /me grabs

On a side note, vv is thinking about trying to do the same thing with heretic.exe v1.3 ... do you think you could help him ?

Old Post 04-01-07 21:31 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04


doom-plus-1.92.2.zip


VinceDSS said:
On a side note, vv is thinking about trying to do the same thing with heretic.exe v1.3 ... do you think you could help him ?
Yes of course. I can do it blindly now. Are there any wads for Heretic that need the fix? Heretic is not a popular game IMO and has no tons of wads as doom.

Old Post 04-01-07 21:55 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Grazza
=/-


Posts: 12390
Registered: 07-02



entryway said:
Are there any wads for Heretic that need the fix?
I believe Sinful Discharge is one. And Shadowcaster to some extent (savegame problems, and I'd be surprised if there were no places at all where it could VPO).

Also this WIP project, assuming people stick to the design specs.

Old Post 04-01-07 22:55 #
Grazza is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



Grazza said:
this WIP project, assuming people stick to the design specs.
This project will never been finished, right?

Old Post 04-01-07 23:23 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Hitherto
Member


Posts: 325
Registered: 11-06


VinceDSS, how about Hexen demo-fix like your one for Heretic?
PS Heretic fix is great job, thanks you a lot!

Old Post 04-01-07 23:23 #
Hitherto is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02


I am not familiar with hexen but I am sure the same thing is possible, it is up to vv or eventually entryway :)

Old Post 04-02-07 05:04 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04


Which version of heretic is the latest? I have HERETIC.EXE with size=728031 and md5=8F7B6BA0CA9F78F5F9004A3EC946ACD1

Old Post 04-02-07 09:21 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02


I can confirm the size is exact, but for the MD5 I never did that.

Btw, to avoid copyright issues with distributing patched EXE with
the DMX sound module, vv created a .COM patcher to patch the EXE on the fly. It allows for a great flexibility with lots of different options. It's very well thought...

You can get it here :

http://www.geocities.com/peroxyd2s/vvhereticb.zip

Old Post 04-02-07 16:18 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



VinceDSS said:
I can confirm the size is exact, but for the MD5 I never did that.
In this case I've already removed the limits from this EXE

Old Post 04-02-07 16:34 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02


then it would be good to send it to vv, so he can compare it to an unmodified EXE and implement it in his patcher !! :)

Old Post 04-02-07 17:43 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



VinceDSS said:
then it would be good to send it to vv, so he can compare it to an unmodified EXE and implement it in his patcher !! :)
There is no necessity for it. You can use vv's heretic.com with my hereticp.exe with following command-line:
heretic.com -exe hereticp.exe
or simply rename mine hacked exe to heretic.exe

Can you provide me with really detailed wad from this topic? For testing my patch.

Old Post 04-02-07 18:36 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02


I could try indeed, but I will need your patched exe :)

Old Post 04-02-07 19:22 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



VinceDSS said:
I could try indeed, but I will need your patched exe :)
heretic-plus-1.32.1

But be careful, Heretic was compiled without RANGECHECK definition and hence does not check for some overflows that Doom does. Hence, some overflows will not be aborted with messages like in Doom ("no more visplanes"), but will overwrite the memory. If an overflow is small it may not crash immediately, but can lead to desynch in comparison with heretic-plus

Old Post 04-02-07 20:08 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



Heretic: Shadow of the Serpent Riders v1.3+
-------------------------------------------
by vv <vv@ydin.org>
The main features are :
- long tics
I dislike it. It produces incompatible demos.

Old Post 04-02-07 21:41 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
myk
volveré y seré millones


Posts: 15174
Registered: 04-02



entryway said:
It produces incompatible demos.
Why? The demos use the same version number?

Old Post 04-02-07 21:54 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



myk said:
Why? The demos use the same version number?
longtic demos are incompatible with vanilla be default, because they write 5-bytes portions for each tic instead of 4-bytes for Doom and 7 instead of 6 for heretic

Old Post 04-02-07 22:02 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Hitherto
Member


Posts: 325
Registered: 11-06



Can you provide me with really detailed wad from this topic? For testing my patch


Aha. I wanna test it too but where are wads?

Old Post 04-02-07 22:10 #
Hitherto is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
myk
volveré y seré millones


Posts: 15174
Registered: 04-02



entryway said:
longtic demos are incompatible with vanilla be default, because they write 5-bytes portions for each tic instead of 4-bytes for Doom and 7 instead of 6 for heretic
The only real problem is that no one has updated any demo analyzing tools to support them, such as LMPC. I thought about contacting Girlich, but by his work (based around official or commercial releases and not community variants) I'm not very sure he'd care to bother. Maybe someone else could pick up the code and build an LMPC variant that supports them. The source is under the GPL, after all.

Old Post 04-02-07 22:13 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 5962
Registered: 08-00


The release version of Doom was compiled with RANGECHECK defined? o_O O_o o_O O_o O_O

Old Post 04-03-07 14:53 #
Quasar is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04



Quasar said:
The release version of Doom was compiled with RANGECHECK defined? o_O O_o o_O O_o O_O
Yes of course. Vanilla shows the messages like:
R_DrawPlanes: drawsegs overflow (%i),
R_DrawPlanes: visplane overflow (%i),
etc.
code:
.000464C0 R_DrawPlanes proc near ; CODE XREF: R_RenderPlayerView+2Ep .000464C0 .000464C0 var_4 = dword ptr -4 .000464C0 .000464C0 push ebx .000464C1 push ecx .000464C2 push edx .000464C3 push esi .000464C4 push edi .000464C5 push ebp .000464C6 sub esp, 4 .000464C9 mov edx, ds_p .000464CF sub edx, offset drawsegs .000464D5 mov ebx, 30h ; '0' .000464DA mov eax, edx .000464DC sar edx, 1Fh .000464DF idiv ebx .000464E1 cmp eax, 100h .000464E6 jle short loc_464F6 .000464E8 push eax .000464E9 push offset aR_drawplanesDr ; "R_DrawPlanes: drawsegs overflow (%i)" .000464EE call I_Error

heretic.exe does not have these phrases inside, but sources have it as well as in Doom

Last edited by entryway on 04-03-07 at 15:18

Old Post 04-03-07 15:12 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 5962
Registered: 08-00


Very interesting. I just never realized those messages were in RANGECHECK defines ;)

Old Post 04-03-07 16:28 #
Quasar is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Grazza
=/-


Posts: 12390
Registered: 07-02



entryway said:
Can you provide me with really detailed wad ... For testing my patch.
You can try sinful (which I mentioned earlier). I think E3M6 is its biggest map, and it worked OK for me (though I haven't played it all the way through). I also see some 32-unit gaps in it. :)

Old Post 04-04-07 02:17 #
Grazza is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
VinceDSS
Senior Member


Posts: 1295
Registered: 11-02



myk said:
The only real problem is that no one has updated any demo analyzing tools to support them, such as LMPC. I thought about contacting Girlich, but by his work (based around official or commercial releases and not community variants) I'm not very sure he'd care to bother. Maybe someone else could pick up the code and build an LMPC variant that supports them. The source is under the GPL, after all.


vv talked making LMPC support longtics ... never got anywhere ... he seems to be active lately , maybe it will happen :)

Old Post 04-04-07 03:26 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
entryway
Forum Staple


Posts: 2711
Registered: 01-04


I want to increase a maximum for mouse sensitivity which I can change from the Options Menu from 10 up to 127. Should I make it in Doom-Plus or release as independent patch? The reason of doubt is not desire to break Doom2-Plus conception.

Old Post 06-26-07 20:34 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
myk
volveré y seré millones


Posts: 15174
Registered: 04-02



entryway said:
The reason of doubt is not desire to break Doom2-Plus conception.
If any usual settings were to still (otherwise) work as usual, and if the only difference were the place of the lever on the screen, it wouldn't really change much. I use sens 75, so I gather the lever would appear a bit to the right of the middle, instead of off the screen (causing the V_DrawPatchDirect error). If I'm not mistaken, you're still basically raising a limitation.

About something that might well not be Doom+ specific, what about the following bugs?

http://doomwiki.org/wiki/Fast_doo..._closing_sounds
http://doomwiki.org/wiki/Ouch_face
http://doomwiki.org/wiki/Picked_u..._REALLY_need%21

Could they be hacked? Maybe making a separate patcher? What binary changes would be required?

Old Post 06-26-07 21:43 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
LogicDeLuxe
Member


Posts: 642
Registered: 08-03


What is with the sector height limit preventing FORGEX.WAD from running in 1.666 and above? Discussed here

myk said:
About something that might well not be Doom+ specific, what about the following bugs?

http://doomwiki.org/wiki/Fast_doo..._closing_sounds
http://doomwiki.org/wiki/Ouch_face
http://doomwiki.org/wiki/Picked_u..._REALLY_need%21

A fix would be nice, as they shouldn't break compatibility. Especially the second door closing sound, I always found annoying. Hard to believe the developers didn't notice such a silly bug.

Old Post 06-26-07 21:56 #
LogicDeLuxe is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 04:33. Post New Thread    Post A Reply
Pages (6): « 1 2 3 [4] 5 6 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Doom2 v1.92 - no more visplanes and drawsegs overflows

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.