Archvile
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 > Special Interest > Freedoom > FreeDoom vrs Legacy
Pages (2): « 1 [2]  
Author
All times are GMT. The time now is 00:42. Post New Thread    Post A Reply
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


That is the problem that I ran into immediately upon considering the voodoo doll problem. I don't know what behavior is required. This is typical of these accidental "features". I have seen more than a few programs that have "do not touch" sections where the original code is preserved, even though it is badly written, because no one dares risk breaking some third-party code that may depend upon some obscure side-effect of it. This voodoo doll seems to be exactly this kind of "feature". No one would design this in deliberately. Someone discovered what happens if you have more than one start position. Now people are using it as a "feature".

It would not be so bad to implement if there actually was a consensus on its behavior, but I have never seen one. Please describe your idea as to the minimal behavior required. Unfortunately, I can likely go to another forum and find someone who has a wad that depends upon some other obscure behavior of the original engine.

From the notes I remember, that seems to have been the problem.
No matter how it was implemented someone was going to be unhappy and claim that it broke their wad.

If I was to implement this in Legacy, then I would do the following.
The extra start positions would be translated to an internal token.
The token could trip linedefs like a monster or player. The token would not count as a monster so it does not need to be killed. The token does not display as anything so it does not require a sprite.
The token would not transfer any interactions upon it to the player, it cannot be damaged, and cannot take hits. The token would be affected by walls, closed doors, and conveyors.

I expect that there are wads where this is not adequate either.

MAP02, there is a square console that you have to press "spacebar" on each side, that raises 4 platforms outside. Is that implemented with voodoo dolls? It works fine in Legacy, I have no trouble with MAP02. The only running jump that I remember is the one from the walkway, past the post with the IMP on it, to the underwater door, to the hidden room with the armor and transporter. Is there a hidden walkway there and which switch would activate it ??

There are several sources that have to be recognized as documentation of the wad instructions.

The original engine had defines for intended operations. Those operations should be preserved even if there were never used in any known wad.

The original Doom wads used certain operations in certain ways. To play those wads any engine would have to interpret the operations in some compatible manner (not necessarily identical) to get a reasonable behavior (not necessarily identical).

Documentation such as Boom.

I cannot say that voodoo dolls are recognized by any of the above sources.

Look at prboom. It has two pages of options to turn off improvements that it made to the engine. Each is something that could be considered an undesired side-effect or a flaw. Each has a switch, probably just-in-case some wad depended upon the original behavior.

The things we have to go through every time we try to fix something.

They apparently implemented voodoo dolls in some fashion, or just preserved enough of the original code, because the voodoo doll operated door in Level 13 works with prboom.

Old Post 04-20-09 21:36 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
myk
Super Charge


Posts: 13106
Registered: 04-02



It would not be so bad to implement if there actually was a consensus on its behavior, but I have never seen one.
You've been to places where people discussed different voodoo dolls behaviors? I'd address the essentials of voodoo doll behavior but would rather leave that to a coder that can do it without fault.


Unfortunately, I can likely go to another forum and find someone who has a wad that depends upon some other obscure behavior of the original engine.
You don't need to go anywhere as this is the best place in the universe for that. Many subtleties have been discussed here and this site has a database pointing to the central DOOM add-on archive, where you can find many WADs that rely on various not-so-evident-at-first-sight elements in the game engine. The truth is that basically any change you make to the base code may impact behavior. If you want to ensure these changes can be used alongside existing behavior in order to support most add-ons, you'll need to take precautions and possibly apply workarounds or options. Many engines do this. Legacy, to a point, but never addressed the voodoo doll issue.

To be honest, I don't even see any benefit in the changes the Legacy team made to multiplayer start behavior which involved this effect, as other engines can handle many players fine without this loss. Trying to stuff more players than expected by a level's design is not a good idea. If you want more players, use a level designed for more players, or apply some restriction, such as making players wait until a spawn spot is unoccupied or making them get telefragged when too many join.

I mean, back in '98 when most levels supported few players that may have seemed nifty. Today, you've got tons of WADs made for more players, with the adequate amount of starts.


I cannot say that voodoo dolls are recognized by any of the above sources.
To summarize and to save you from wasting time doing research: even if that were arguable from some point of view, it does not matter, because it's user-made WADs, often very popular ones, that define how relevant keeping some form of behavior is.


Look at prboom. It has two pages of options to turn off improvements that it made to the engine. Each is something that could be considered an undesired side-effect or a flaw. Each has a switch, probably just-in-case some wad depended upon the original behavior.
And that's exactly why many people use PrBoom for Boom and Doom WADs. Some engines concentrate more on keeping original functionality (in other words, "purism"). Note that in addition to those individual settings it has compatibility levels, which apply all the settings of a particular engine being emulated (such as Doom or Boom). You also have the Eternity Engine, which I believe you can compile on Linux.


The things we have to go through every time we try to fix something.
Actually, no one's telling you to make any changes to your custom version of Legacy, but telling Freedoom to ditch such a feature (voodoo dolls) will annoy level designers and hurt the project.

EDIT: Please use the edit feature at the bottom of your post to add anything to a post that hasn't been replied to, as multiple posts get annoying.

Old Post 04-20-09 22:06 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


"Welcome to the real world! Down here it's not all nice and clean. Mappers tend to (ab)use side effects and bugs and more often than not this will create problems for the developers."

I have to consider Doom stuff my getting away from the real world. I work on embedded systems where a mistake could cost my customer a million dollars to redo the full-up test. ... I deleted the rest of this reply ...

Old Post 04-20-09 22:24 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Gez
Forum Staple


Posts: 2473
Registered: 07-07



wesleyjohnson said:
This voodoo doll seems to be exactly this kind of "feature". No one would design this in deliberately. Someone discovered what happens if you have more than one start position. Now people are using it as a "feature".


Because it allows to do things that are not possible with the engine otherwise. Unless you use an advanced port with scripting and such, but those weren't available back then.

Anyway, voodoo doll tricks are used in an official commercial release from Id Software, Final Doom, and the source code that was released by John Carmack supported the Final Doom IWADs. At this point, the choice is really out of the port developers' hands if they want to make a fully-compatible port.

Old Post 04-20-09 23:58 #
Gez is online now Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
GreyGhost
a ghost... only grey


Posts: 2953
Registered: 01-08



wesleyjohnson said:
MAP02, there is a square console that you have to press "spacebar" on each side, that raises 4 platforms outside. Is that implemented with voodoo dolls? It works fine in Legacy, I have no trouble with MAP02. The only running jump that I remember is the one from the walkway, past the post with the IMP on it, to the underwater door, to the hidden room with the armor and transporter. Is there a hidden walkway there and which switch would activate it ??
I've always headed for the more obvious switch at the top of the stairs - that uses a voodoo doll to raise the platforms. Didn't know the console switches existed until you mentioned them.
It looks like we're supposed to take damage in order to grab that armour - no pain no gain.

Old Post 04-21-09 07:20 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


Just read the FreeDoom 0.7 thread and it sounds like the same problems as discussed here. Judging by the volume it is the most "popular" subject on this forum.

What I sought here in addressing Legacy as a port was not to get changes made to FreeDoom just for Legacy. It was the whole question of what is FreeDooms design rules.

In my opinion it is useless trying to take FreeDoom in any single direction because people have too many diverse interests and you will only end up with few people. That would greatly hurt idea of a wad "for the public", could just as well be a private venture. It will end up, eventually, publishing several versions, with contributors getting interested in their favorite. But you should notice that the things that you really want for this "public wad" are 90% identical in all the variations mentioned, and that is the great saving in work over what would happen if all these people spread out into private wad ventures.

What I would like see happen is the generation of separate component PWADs and a FreeDoom IWAD that uses them. Then the goal of allowing uses of the sprites and flats in derivative works can be achieved by those users including only the components wanted, instead of loading a complete megawad. Ports like Legacy, prboom, ZDoom, already support loading many files, it is the way things are going.

Desired PWADS:
FREEDOOM_SPRITE.PWAD
FREEDOOM_FLATS.PWAD
FREEDOOM_SOUNDS.PWAD
..etc.

Old Post 04-24-09 19:18 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


Final Word, maybe, maybe,

As to the point of my original post, compatibility of Legacy and "is there any give from FreeDoom".

You probably want to keep some voodoo doll use for timers, because there seems to be a lack of alternatives. As I said in the original post, I was considering what fixes were needed for Legacy to run FreeDoom. I do not have any confidence that I could make Legacy run FreeDoom without error.

The problem is that I cannot pin down the Design Guidelines for FreeDoom Levels. FreeDoom really needs to write such a guidelines document and then stick to it. Right now it seems to be whatever this months group of interested parties feels like doing. That means FreeDoom compatibility is a moving target and I end up in an endless maintenance headache.

I can suggest some points for such a FeeDoom Design Guideline.
** These are SUGGESTED lines for the Guideline document ** This would probably be voted upon, or just choosen by whoever is in control this year. The important thing is that it would help if it stopped being ad-hoc.

1. Boom features allowed as per the Boom documentation.
1b. For the Boom-less ports, FreeDoom will consider a separate IWAD that has been cleaned down to minimal requirements.

2. Doom dungeon feel.
- no TV characters, or other pop culture.

3. voodoo dolls used as timers
3a. - no use of voodoo dolls that involve the connection to the player as this is not uniform across ports.
3b. Allow voodoo dolls that trigger W1 and WR linedefs.
3c. A request that for any level being designed with a voodoo doll consider the implications upon a voodoo-less port, or a port that is not identical in voodoo doll behavior to your favorite. If a voodoo doll misbehavior would prevent solving the level, then it is requested that an alternative solution path be provided in the level. Such paths could be: another switch that opens a critical door, a hidden room that provides a bypass teleport, linedefs in the room that duplicate the critical linedefs that the voodoo would have tripped,
linedefs in a hidden room that duplicate the critical linedefs that the voodoo doll would have tripped.

4. Playable by a port that does not having jumping.
4a. A gap of xxx (someone needs to put a value here that has relevance to level coders) has been tested to work with the important ports, in that a player can "RUN" across it.

5. Playable by a port that has jumping.
- Not a requirement upon the level as much as a warning. If you want something to be difficult to get to, then put it high enough.
5b. A height of xxx (someone needs to put a value here that has relevance to level coders) has been tested to be high enough that jumping players in the most important ports cannot reach it.


6. Bridges can be allowed, as long as the failure of the bridge does not hinder completing of the level.
6b. A level with bridges, such as allowed in Legacy (and probably ZDoom), will play on a port such as prboom, except that on prboom the bridge will be missing.
6c. This does not advocate using Legacy and ZDoom features. It only points out that some of these features, such as 3D bridges, do not crash other port engines. If such were used then it is utterly important that the level be playable, without detriment (other than the 3D bridge not appearing), in the condition that occurs for ports like prboom.
6d. There will be other features of some port, that someone will want, to use. This is the best compromise solution, and should be stated as a level requirement for the inclusion of any such port limited feature. It would be better to not use such features at at, but that is the non-compromise solution.
6e. The limited allowance of such features allows FreeDoom to not be stuck as an old style wad. There needs to be some life and growth potential.


7. Doors and lifts critical to the completion of the level must be timed for an average player using the normal walk and run speeds available from keyboard movement.
7b. Doors and lifts that have optional use can have a more difficult timing, but should not prevent them entirely from reaching a desirable room, and that would just frustrate the player who does not have fast fingers.

8. The average player should be able to complete the level, at the average difficulty, without using cheats, cheat-sheets, or exploits.
8b. Please refrain from creating a level that is a play-stopper for the average player.
8c. Average player is a player with average abilities, who is playing Doom for the first time.

9. Encourage the level design to include player access to all areas of interest.
9b. If a monster is in a location, and the monster does not have special wall climbing abilities, then it should be possible for the player to get there, recover ammo, weapons etc..
9c. Some areas are just for scenery, so access would not be required.
9d. Such player access does not have to be part of the level solving, it exists to allow roaming and exploring, relieve frustration, and to provide completeness to the player exploration of that level.
9e. Existing levels may have difficulty providing this easily, but it is not impossible, and is probably desirable in providing more novelty to an old design.




... etc, etc, etc.

This should continue in a separate thread, assuming the idea does not just get blasted by those who want no such hinderances.
If you can get such a Design Guideline started, even an incomplete one, it should go on the home page, not left to be buried in this forum.

Such a guideline would supply the information needed by ports to be able to play FreeDoom wads. They could then state, "we can play Doom1, Doom1-shareware, Doom2, Heretic, Hexen, and FreeDoom wads".

Last edited by wesleyjohnson on 04-24-09 at 20:33

Old Post 04-24-09 19:48 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Catoptromancy
Member


Posts: 393
Registered: 08-06


I would rather no voodoo dolls/bridges/engine exploits.
Other than that Boom202 compatible.

Jumping totally changes gameplay or map design. Cant stop people from cheating on maps designed for boom202.

Old Post 04-25-09 01:48 #
Catoptromancy is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
esselfortium
Forum Spammer


Posts: 3243
Registered: 01-02


Wesley, I understand you're trying to help, but the "Boom-compatible" standard that Freedoom aims for has been established for years, with many existing projects adhering to it. Legacy is not a Boom-compatible port, and as such it is not a target port for Freedoom.

__________________
Released: A Terrible Flood (album) | SpaceDM5 | Greenwar 2 | 32in24 series | Claust1024 | Testing Facility
In Progress: Vaporware | KDiKDiZD | TSoZD | ???
Resources: EDF Monster Library | Mapping Tips | CC4-tex | EsselTX

Old Post 04-25-09 05:41 #
esselfortium is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
GreyGhost
a ghost... only grey


Posts: 2953
Registered: 01-08



wesleyjohnson said:
What I would like see happen is the generation of separate component PWADs and a FreeDoom IWAD that uses them. Then the goal of allowing uses of the sprites and flats in derivative works can be achieved by those users including only the components wanted, instead of loading a complete megawad.
No problem - the individual resource wads are to be found here.

Old Post 04-25-09 09:08 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
chungy
Doomworld is so about bullshit excuses


Posts: 879
Registered: 06-05



esselfortium said:
Wesley, I understand you're trying to help, but the "Boom-compatible" standard that Freedoom aims for has been established for years, with many existing projects adhering to it. Legacy is not a Boom-compatible port, and as such it is not a target port for Freedoom.

Actually his suggestions for the level guidelines sound extremely reasonable, although I might question points 5 and 6 somewhat.

For point 5, there is no standard jumping height across ports, and while it's a noble effort to design levels with anti-jump in mind, there might be some place that your platform just isn't high enough for a particular port or setting; either that or your levels become embarrassingly tall/wide/whatever just to prevent the use of extra unintended port features.

On port 6, I like the idea of making levels that gracefully degrade to at least Boom 2.02 (you remain Boom compatible), how easy is it to do this while making the level look good in ports that don't support complex structures or whatever? As long as it's doable, I don't see any real issue with it myself :-)

Old Post 04-25-09 09:54 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
leileilol
dork stalker


Posts: 2726
Registered: 06-04


what's odd, FreeDOS insists on bundling Legacy WITH FreeDOOM :(

Old Post 04-25-09 10:43 #
leileilol is offline Profile || Blog || PM || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


Legacy claims to be Boom compatible. My experience is that it is Boom compatible. If someone knows of anything in Legacy that is not Boom compatible then please be specific. I cannot fix "insinuated" defects in Legacy.

Point 6.

Point 6 is going to get blasted, I know. But if you read it carefully you will see that it really does not allow much. The use of any 3D floor, or any other port specific feature, would have to be cosmetic or self correcting. It might be possible to do more, but I do not know how. What the point allows, is the level designer can experiment and not be totally shut out on the idea. Maybe someone will succeed with something novel.

The point sets the guideline of what must happen when it fails and that is why it really needs to be mentioned in the guidelines.

It it likely that someone will find a common, desirable, Boom compatible port, that does crash when presented with 3D floors and the like. Upon that discovery then point 6 will have to be severely tightened. But for now it looks like something that can be discussed.

Totally forgot about scripting.

10. Allow scripting ??

But which one, is it some Boom script, or Fraggle Script. ??
I totally do not know on this one.

Old Post 04-27-09 21:46 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
CODOR
Member


Posts: 524
Registered: 02-06



wesleyjohnson said:
If someone knows of anything in Legacy that is not Boom compatible then please be specific.
This thread documents several incompatibilities.

Old Post 04-27-09 22:07 #
CODOR is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
GreyGhost
a ghost... only grey


Posts: 2953
Registered: 01-08


I think that's what's called a "circular argument".

wesleyjohnson said:
Point 6. The use of any port specific feature would have to be cosmetic or self correcting.

10. Allow scripting ??
But which one, is it some Boom script, or Fraggle Script. ??

6. The use of port-specific features should be avoided at all cost because-
(A) - There's no guarantee that a feature which fails gracefully in one port won't crash others.
(B) - The FreeDoom wads would soon be riddled with ZDoom-ism's.

10. BEX appears to be the closest we've got to a scripting language for Boom. There are several to choose from (ACS, DDF, DECORATE, EDF, FraggleScript and VavoomC) but none have universal support - plus - there's the issue of maintaining compatibility with ports that don't support ANY of those languages. At the moment scripting is probably in the "too-hard" basket.

Old Post 04-28-09 06:53 #
GreyGhost is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Catoptromancy
Member


Posts: 393
Registered: 08-06



wesleyjohnson said:

The problem is that I cannot pin down the Design Guidelines for FreeDoom Levels. FreeDoom really needs to write such a guidelines document and then stick to it. Right now it seems to be whatever this months group of interested parties feels like doing. That means FreeDoom compatibility is a moving target and I end up in an endless maintenance headache.




http://git.savannah.gnu.org/cgit/fr...git/tree/README
http://www.nongnu.org/freedoom/download.html

The README file covers points 1a through 10f. The point about seperate iwad for nonboom ports is covered on Download page.

Last edited by Catoptromancy on 04-28-09 at 14:37

Old Post 04-28-09 07:24 #
Catoptromancy is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
esselfortium
Forum Spammer


Posts: 3243
Registered: 01-02



GreyGhost said:
I think that's what's called a "circular argument".
6. The use of port-specific features should be avoided at all cost because-
(A) - There's no guarantee that a feature which fails gracefully in one port won't crash others.
(B) - The FreeDoom wads would soon be riddled with ZDoom-ism's.

10. BEX appears to be the closest we've got to a scripting language for Boom. There are several to choose from (ACS, DDF, DECORATE, EDF, FraggleScript and VavoomC) but none have universal support - plus - there's the issue of maintaining compatibility with ports that don't support ANY of those languages. At the moment scripting is probably in the "too-hard" basket.


BEX is just DeHackEd with a few mostly rather minor changes and additions, it's not a scripting language. Voodoo dolls are the closest thing Boom has to scripting, and support for them is required in order for a port to be truly Boom-compatible.

And I honestly don't see any reason whatsoever to allow other sourceports' features in the maps. Even if the maps can still be completed in ports that don't support those features, it'll just be out of place and unnecessary. This is a Boom project. There are many existing Boom projects that play well, look good, and do lots of unique/interesting functional things without needing any other sourceport features, so it's not as if we're unfairly holding the mappers back here.

__________________
Released: A Terrible Flood (album) | SpaceDM5 | Greenwar 2 | 32in24 series | Claust1024 | Testing Facility
In Progress: Vaporware | KDiKDiZD | TSoZD | ???
Resources: EDF Monster Library | Mapping Tips | CC4-tex | EsselTX

Old Post 04-28-09 07:51 #
esselfortium is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
kristus
Megablast!


Posts: 8034
Registered: 07-00


Legacy really only lack the BEX support and the Voodoo dolls to be BOOM compatible. And after doing tests, I've come to the conclusion that the alltrigger flag used in Legacy will not compromise other ports, and as such most of the voodoo doll exploits can be mirrored in Legacy using the barrel and the alltrigger flag.

I uploaded an example map of this today to /idgames. The file is named hconvdev.zip and should be moved to Newstuff soon. (this coming weekend perhaps?)
I used Heretic for it though. So it's showing the most complicated case of getting it to work.

Now it still won't work with features that involve killing the player. (such as used in TNT-Evilution Map30 and Dystopia Map04 iirc.)
Though the TNT-Evilution method can be done by simply have the player telefrag a bunch of barrels of course.

Old Post 05-05-09 10:56 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 5544
Registered: 01-03



kristus said:
Legacy really only lack the BEX support and the Voodoo dolls to be BOOM compatible. And after doing tests, I've come to the conclusion that the alltrigger flag used in Legacy will not compromise other ports, and as such most of the voodoo doll exploits can be mirrored in Legacy using the barrel and the alltrigger flag.


Actually, if you have studied the code, you'd know that there are several issues with Legacy.

The missing voodoo dolls are just the biggest and most critical one.
Granted, many of these issues will never come into play in a 'normal' map but this does not mean they are not there. Some of these are not even map related but show a fundamental difference in how Legacy does things so some stuff that works properly in fully Boom-compatible ports may throw up in Legacy due to its half-baked integration of Boom features.

Furthermore, doing parallel VoodooScripting is inherently dangerous. Who knows what consequences this might have in the future if some ports change? At least Eternity and ZDoom already use the same flag value for completely different things so non-interference is not guaranteed, albeit unlikely. If you have to do compatible VoodooScripts, better use generalized linedefs only, with the monstertrigger flag. This works the same in all engines.

(Oh, and let's not forget that right now Legacy may be considered dead for all intents and purposes. The 2.0 version appears to be lost in eternal limbo and the general technical problems of 1.4x are too many to list. They are at least bad enough that it just barely runs on my 2 year old system.)

Old Post 05-05-09 11:58 #
Graf Zahl is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
kristus
Megablast!


Posts: 8034
Registered: 07-00


BTW; I've just noticed that Doomsday (at least that old version I got) doesn't have Voodoo dolls either.


Graf Zahl said:
Furthermore, doing parallel VoodooScripting is inherently dangerous. Who knows what consequences this might have in the future if some ports change? At least Eternity and ZDoom already use the same flag value for completely different things so non-interference is not guaranteed, albeit unlikely. If you have to do compatible VoodooScripts, better use generalized linedefs only, with the monstertrigger flag. This works the same in all engines.


I've tested this with all ports supporting Heretic that I got. And the only one it's not working 'perfectly' in is Doomsday, and that's because it doesn't have Voodoo dolls either.
If future port revisions will make it go bust. Then I really don't give a shit. That's their problem.

Last edited by kristus on 05-08-09 at 21:00

Old Post 05-08-09 20:47 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 5544
Registered: 01-03


You are basing your tests on a very dangerous assumption and that's never a good idea.

Who says that some port in the future won't have both Legacy's Alltrigger flag *and* voodoo doll support? Any such engine would not be able to run these maps.

Before you say that this is unlikely, how about Legacy 2.0 or ReMood? Since both descend from Legacy 1.4 I'd say it's very likely that both get broken by such careless mapping. And what for? That the maps work in an old and extremely buggy engine that's very likely to see declining use in the years to come? Not a good idea in my book.

No, if you want to make this work, choose a method that works the same in any available port.

Old Post 05-08-09 21:51 #
Graf Zahl is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
kristus
Megablast!


Posts: 8034
Registered: 07-00


Nothing I've done so far would be even slightly impacted by that. And I doubt anything I'll make will be.

But what if it would? Shit like that happens all the time. And it has nothing to do with careless level construction.
I'm not really worried about what shit future ports may throw at it. Backwards compatibility has never been any source port's strongest suit.

But the whole argument is moot really. Because if Legacy2 (which is highly unlikely) gets released or ReMooD gets popular, and there are issues. I'll just make an update to the wad. I've done updates to most my projects after release. Wouldn't even take more than a few seconds for each map to fix it.

Last edited by kristus on 05-09-09 at 15:47

Old Post 05-09-09 14:55 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 5544
Registered: 01-03


I sincerely hope that the Freedoom makers show more common sense than you...

If something gets broken because a source port changes things it's clearly the ports fault.

But if something gets broken because the makers ignored the most basic rules of common sense nobody has the right to complain about future problems. And this is a clear case of something that can be easily avoided by using features that are actually compatible.

Old Post 05-09-09 20:48 #
Graf Zahl is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
myk
Super Charge


Posts: 13106
Registered: 04-02



kristus said:
But what if it would? Shit like that happens all the time. And it has nothing to do with careless level construction.
Just because it happens, it shouldn't be encouraged.


Backwards compatibility has never been any source port's strongest suit.
Not true. Even more "progressive" ports bother with it to a certain degree and PrBoom (essentially the model port for Freedoom) is totally oriented towards that. Ports like Legacy, that break relevant features, suffer from their flaws.

When considering port support one must judge:

Compatibility (Boom support)
Usability (whether a port one may support is used enough and has a viable future)

I'd say older versions of Legacy fail both to a point, hence it's best to ignore them. I sure would, for a Boom compatible project. After all, with Freedoom, there's always the fact that if you want to use it along with an unsupported engine, you can always apply add-on levels that do work with that engine.

Old Post 05-10-09 15:33 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
wesleyjohnson
Junior Member


Posts: 133
Registered: 04-09


A patch to Legacy that gives it Voodoo Dolls has been submitted as patch 2790203, for Legacy-1.43Beta-macosx.tar.gz. This patch is available on the SourceForge Legacy site.

This patch has been tested with FreeDoom levels MAP02, MAP13, MAP20, MAP29. The impassable door in MAP13 now works.

The patch detects multiple player1 start points and spawns the extras as voodoo dolls, leaving the last as the actual player1 start point. Because of the difficulty in predicting what might break from voodoo doll encounters, there are two options to the patch. One option leaves the voodoo doll attached to the player. The voodoo doll seems indestructable and does not seem to damage the player, but it makes me nervous to leave it that way. The second option creates a VOODOO_PLAYER that is the player target of the voodoo dolls. This also works and feels safer. I expect that someone will find something that makes this incompatible too, but I do not know of anything right now.

This took 4 days of work (those "few minutes" estimates are so unreliable), mostly because it was impossible to track down the possible side effects of leaving things attached to a player. Some of the voodoo dolls would work, but only trip one kind of linedef.

On day 3 I discovered that not restricting it to only player1 start positions would break FreeDoom MAP29, where there is a duplicate player5 start position. The voodoo that was created was right in the path to exit the room via transporter. Shooting the voodoo doll to move it out of the way would push it into the transporter. Following it would result in a telefrag that crashed the game. I had no real interest in finding out why telefragging a voodoo doll crashed things, so to work with FreeDoom I had to restrict it to only player1 start positions. If someone has a level that depends upon telefragging a voodoo doll then I am going to say "get a life and stop trying to break doom engines!".

I expect that some level out there has voodoo dolls created by other player start positions and someone will still consider Legacy broken because it still does not work exactly as their favorite.

As far as I know this is all that is needed to run FreeDoom on Legacy.
I do not know of anything else that needs fixing to make FreeDoom playable on Legacy, and by that I do not mean identical to prboom, or your favorite doom port. Demos are unplayable, but they are not necessary, and only prboom has come close to making them work as they depend too much on low level details of the engine.

The problems that I still have with some levels are also there when I try FreeDoom with prboom so I must assume that those levels are broken. Broken levels I have reported in another thread.

Old Post 05-11-09 19:19 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
kristus
Megablast!


Posts: 8034
Registered: 07-00



myk said:
Just because it happens, it shouldn't be encouraged.

Well. Ading the support would be easy, and if the issue comes up of it causing problems with new port's changes. Then It's really easy to revert it again. I don't really care if Freedoom does it or not. I just wanted to put it out there that it DOES work. And in all the ports I tried it in. There were no issues that sprang up.


myk said:
Not true.


Yeah, I should know better than making sweeping statements like that.

EDIT: Well, since I hate to concede defeat. I decided to do something about this problem that you've brought up.

I added a "lower ceiling to 8 above floor" line to the Voodoo doll version of the script. Now this closes the path of the gasbag and effectively makes it impossible for both lines to be ran at once.

I'll get around to uploading an example map showing off how I've done the different "scripts" (one running on the press of a switch) when I got a more solid internets.

EDIT: You can check it out here:
http://www.doglike.org/temp/hconvdem.txt
http://www.doglike.org/temp/hconvdem.zip

Last edited by kristus on 05-13-09 at 13:06

Old Post 05-12-09 13:35 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
All times are GMT. The time now is 00:42. Post New Thread    Post A Reply
Pages (2): « 1 [2]  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Freedoom > FreeDoom vrs Legacy

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.

Forums Directory