Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
VGA

Doom Legacy issues

Recommended Posts

kb1 said:

It would be a crying shame for Legacy to lose Windows support - I will not believe it has come to that.
Good luck.


No, it really doesn't have to.
The only serious problem here is the 8-bit surface.
This simply is not an option these days anymore, as my own experience clearly shows.

The stuff to make it work was all there already, but completely overridden in several places to force the hardware to 8-bit.

All the rest of my changes were about compiler differences I needed to sort out to compile it with my own toolchain.

Fun fact: I have Visual Studio 2013 and 2015 installed, and 2015 threw even more errors because it's much stricter.
The main issue with this code seem to be that it's based on very old C standards that cause problems with modern compilers - the two causing the most warnings and errors were:
- unary minus with unsigned numbers (angle_t - with Visual C++ 2013 this actually was an error, not a warning, so I had to fix all of them)
- Mixing function pointers of type () with (void) (CVAR definitions)

I think after fixing the 8-bit issue it might be a good idea to make this compile on some recent compiler and silence all warnings - and by that I mean not setting 'ignore warning xxx' (like I did to get this working quickly ) but actually addressing the cause of the warnings in the code.

If Visual Studio compatibility is wanted, there is one larger issue: VS 2013 does not have the 'snprintf' function (2015 does), and this is used quite liberally throughout the code to format some texts.

Share this post


Link to post

Whether it builds with Visual Studio or not seems entirely tangential to providing a binary package for end-users which isn't insane.

Anyone interested in preparing and testing binaries who doesn't otherwise have a reasonable version of windows available to them should consider grabbing a windows 10 tech preview ISO direct from microsoft, for free, and running it in a VM.

Share this post


Link to post
Jon said:

Whether it builds with Visual Studio or not seems entirely tangential to providing a binary package for end-users which isn't insane.



No, Visual Studio support is not essential - but not having it can be a major roadblock for testing and debugging.

MinGW is not a favorite of Windows developers and having to use GDB for debugging will make the majority of potential candidates flee in an instant.

If you want external contributors for your project, you should ensure that they are not forced to use a toolchain they are uncomfortable with - they'd happily take up another project to contribute to.

Share this post


Link to post

GZLegacy! No but good work Graf, this is what stopped me from being a contributor to DOOM Legacy's Windows team some time ago. Maybe now I can go in and do some more debugging when I have the time.

Maybe I should consider setting up a VS project for 3DGE, because it works really well with my Quake2-port. Just gotten so used to MinGW over the course of time since that's what EDGE originally used.

Share this post


Link to post

Cheats don't work for me after I've added bots, and -freq 44100 still results in the console saying sounds are 22khz. Also, I can't find a 1920x1080 screen mode in video options - 1280x720 is there, though.

Share this post


Link to post
invictius said:

Also, I can't find a 1920x1080 screen mode in video options - 1280x720 is there, though.


Of course not. The engine has no 16:9 support at all.

Share this post


Link to post

Commits made to SourceForge SVN repository.
Among other things, these correct some problems that especially affected Windows users.
* Added determination of program directory, so that legacy.wad stored there can be found without any user setup help.
* Added environment variable "UserProfile" as an alternate to "Home".
* Remove most uses of current directory. Does not try to save anything in current directory anymore. Will look there for IWAD.
Will look there for legacyhome, but only if user creates it.
* Better choices for failure resolution, that do not depend upon the user remembering where they left the config or put support files.
* It appears that starting Doom Legacy with current directory set to other directories now works with Windows (at least tested on Win98).
It finds the legacy.wad in the program directory and the IWAD in a /games directory.
* Directory depth search for legacy.wad and IWAD.
* Directory search printout for verbose switch "-v", and for error conditions.
* Sample make_options for various ports.
* Improved initial setup and error handling for the Makefile.
* Dependencies in MinGW now actually work.
* Standard installs in the Makefile.
* Standard installs in script files that should be distributed with the binaries. The script files will not be seen until we release binaries that use them.
* If an install can find legacy.wad, it will install it too.
* A specific docs/INSTALL.html that extensively goes through the requirements for installing DoomLegacy, and the setup options.

Any better solutions to this will depend upon submissions from users of those ports, and have specific solutions that do not wreck it for other users.

I have other things I have to do now. Support for widescreen monitors is planned but will not be simple. It got too involved to be done quickly.

Specific editing note:
My editor insists on indenting with TABS, while the project requires spaces. This is invisible to me. This really messes up the indentation for anyone else looking at the code, without TAB == 8 spaces. It will take a long time to catch all the places this has occurred.

Note: I did not yank the Windows binary. I mentioned the Windows complaints to the manager of the SourceForge site. He may have interpreted the complaints differently, and yanked the Windows binary for that reason.

Share this post


Link to post

Thank you, WesleyJohnson. I know that it is not easy to work on and maintain a sourceport, and I know that you have other projects that you are working on. I truly appreciate the time and effort that you have put into this project and continue to put into this project. I, too, will help where I can, even if it is only playtesting.

Share this post


Link to post
wesleyjohnson said:

Specific editing note:
My editor insists on indenting with TABS, while the project requires spaces. This is invisible to me. This really messes up the indentation for anyone else looking at the code, without TAB == 8 spaces. It will take a long time to catch all the places this has occurred.

Say what? What kind of brain-damaged editor doesn't make indentation configurable? And makes tabulation invisible? And doesn't even have a find-and-replace utility to fix its own mess? I think you should use a different editor.

Share this post


Link to post
Graf Zahl said:

In other words: You do not test your code on Windows as it exists today at all!

And that's probably the only reason why your program has problems. A lot has changed in the last 17 years and even though Windows has maintained a remarkable level of backwards compatibility, it's no longer the same.

I just tried to test it myself, trying to act like some average computer user with limited technical knowledge.

- downloaded the Win32 binaries and the common files.
- copied everything as-is to a directory on my HD
- started it (without IWAD present.)

Result: of course it did not work because you still insist on keeping the DLLs in subdirectories, requiring some action on the end user's behalf. I already told you a few months ago that this is stupid and not what Windows users expect. That's Fail #1.

- fortunately I already knew of this issue so obviously I copied the files around, started it again.

Message: 'legacy.wad' not found. Huh??? Legacy.wad was present but the IWAD wasn't (because I already expected what the problem here was, namely an incorrect error message for missing IWADs.) (fail #2)
So I copied Doom2.wad into the directory.

Upon start I got some fucking ugly text menu that was hard to comprehend even for an experienced user like me. So after mucking around with it a bit I eventually hit 'continue' - and the game terminated without any further message. (fail #3)

So to sum this all up:
Your product is a complete and utter mess, it's unusable, its setup process is undecipherable for the average computer user and it doesn't even seem to work.

I always had issues with Legacy but this version takes the cake for the most useless Doom port I ever encountered. You let the user run into so many walls that most of them will certainly delete that POS long before they see the in-game menu for the first time.

Ugh...

EDIT:

Postscript:

I noticed a little file called 'stderr.txt' after writing this response, so I had a look at it:

Which proves my first statement that your tests on Windows 98 are completely and utterly worthless because they do not represent the state of modern Windows even remotely.

I'm sorry but this entire thing is just ridiculously pathetic.



In defense of wesleyjohnson, I have to say, he is mainly developing a software for a certain platform (Linux), AS HE ALREADY STATED. Under this system, it works flawlessly, never crashes and once you have all requirements (i.e. SDL libs, MIDI, whatever) you DO NOT need to copy and mess with them at all.
If you have problems stablishing all requirements for your Windows machine, it may mean either:

1.- You didn't installed the required libraries because you didn't read the requirement or didn't even took the time to know what was needed to run game.
2.- The software is designed to look for the libraries in a folder that is not the same as the Windows uses, because Linux uses different file system.
3.- You installed the wrong libraries' version. This doesn't only happens with Doom Legacy. Every software is designed to work with a specific libraries' version. It is as if a game is asking you to install DirectX 9 but you reject to do it. The game won't work, and you can't blame the developers.


On the other hand, I tested Legacy 1.45 beta 1 two days ago, and I didn't have any problem trying to guess how the menu works. I find that menu pretty self-explanatory and easy to understand, even from the first time I saw it. In fact, you can leave all fields of the menu untouched, and only pressing "Continue" will launch the game. Do you need something easier?
In the image below, Legacy detected the folders by itself, I didn't have to write anything at all, only move the cursor down and press continue.



Which part of that menu do you feel so hard to understand?

Also, providing binaries for additional platforms doesn't translate into the software being 100% compatible or the developers offering full support for that platform. And do not forget it is a BETA version, which means it contain bugs and problems, and even more if you run it under untested and half-supported platforms. Don't expect a fully working program.

Share this post


Link to post
Yokai said:

1.- You didn't installed the required libraries because you didn't read the requirement or didn't even took the time to know what was needed to run game.


Sorry, but that's crap. That may be how stuff is set up on Linux, but not on Windows. And as has been said several times by several people here, there is nothing to install - unless you are dead set on breaking your system.

2.- The software is designed to look for the libraries in a folder that is not the same as the Windows uses, because Linux uses different file system.


So? That's completely irrelevant for a Windows distribution.

3.- You installed the wrong libraries' version. This doesn't only happens with Doom Legacy. Every software is designed to work with a specific libraries' version. It is as if a game is asking you to install DirectX 9 but you reject to do it. The game won't work, and you can't blame the developers.


Huh? What? As has been said, THERE IS NOTHING TO INSTALL!!!
An SDL-based Windows application is supposed to ship the SDL libraries along with it. That's how any sane package is built.

On the other hand, I tested Legacy 1.45 beta 1 two days ago, and I didn't have any problem trying to guess how the menu works. I find that menu pretty self-explanatory and easy to understand, even from the first time I saw it. In fact, you can leave all fields of the menu untouched, and only pressing "Continue" will launch the game. Do you need something easier?


Just. Look. At. It!
If there is one word to describe that menu, it's 'unprofessional'. Sorry to be blunt, but it looks like shit. Such a shoddy presentation will immediately lose any modern computer user, it looks like a relic from the early 90's. It's the kind of menu I write for early prototypes of software I develop so that I have a quick'n dirty placeholder for missing functionality.


The real problem here is, though, that Wesley completely ignored any negative feedback that has been given. The issues mentioned here first came up a year ago and it was clearly stated why this is wrong. Nothing has changed.
Normally I expect from any programmer releasing some software publicly to ensure that it at least runs.
This one not only didn't run out of the box, no, it requires some setup that may elude some of the less technologically knowledgeable people - not because it's hard to copy a few files, but mostly because of the bogus install instructions that come with it which may lead some people to do serious harm to their OS installation.

Ane even once this has been sorted out, the whole thing doesn't even WORK? Why? Apparently because it only has been tested on 15+ year old systems.

Sorry, but eventually there is a point where it's just enough. One thing is certain, though: With such an attitude Legacy will end up a curiosity, not an engine that will get used by people.

Share this post


Link to post

Here, lets walk through this like I'm a typical Windows user.

Put my Doom2.wad in there, started doomlegacy.exe
SDL_mixer.dll is missing.

User number 1, expects it to work like every other port: "Welp doesn't work, oh well. Back to Chocolate-Doom."

User number 2, checks the readme: "The files I need are here, I just need to move them. Oh now it works."

Give me one good reason why this is necessary.

And lets not forget what another Windows developer already chimed in with regarding this:

Quasar said:

Programs should only be used with the version of SDL they were linked against. The idea that the user should use a "better" version of SDL than the one you built and tested the program against is completely wrong.

Besides the fact that there may be API or ABI changes which cause it to not load or to crash at runtime, it's a completely moot point if you are still using SDL 1.2, as that library has been deprecated and will not be updated any further. SDL 1.2.15 is the last version, period. If you want further progress, you must migrate to SDL 2.0 at this point.


You know what was a lot of fun recently? Getting Unreal Tournament 2004 to run in Linux. It gave errors about missing dependencies.. so what did I do? I installed the latest versions from the package manager. It crashed and fucking burned. I had to research exactly what version it needed, find it on rpmfind, extract it, and figure out where the hell the executable was looking for these dependencies. Linux is NOT immune to this problem!

I couldn't even begin to tell you the number of times I've tried to get an old Windows game working just to find it crashing with DirectX related errors. (Issues with the files, not issues finding them.) I'll have the latest version of DirectX installed as this is mandatory for recent titles.. so what do I do? I manually extract the .cab files in the DirectX redist that comes with the game, figure out which files it is bitching about, put them into the same folder as the game's .exe.. and ho-lee-sheet, it works.

If I installed it, guess what would happen? modern games = dead.

And I know you might say "Well why haven't these professional developers been doing this thing you guys keep banging on about?"

Simple: They're providing the entire DirectX library that is actually intended to be installed, and in fact does install when installing the game. Could you imagine buying a recent PC game that after install crashes with some error about a missing file, has a support forum full of people bitching about it, and one developer with a sticky on the thread calling everybody idiots for not reading the readme?

No, probably not.

If Legacy had an installer (don't twitch too much Graf) then at least it could handle this better. It could look on the system, see if it finds the libraries necessary for the game to run, and should they be absent it provides them.

But that would only make sense if you insisted on never having the user use your provided, tested DLLs unless it was absolutely necessary.. in which case what the fuck is going on?

Share this post


Link to post
ReFracture said:

If Legacy had an installer (don't twitch too much Graf) then at least it could handle this better.



Actually, no, it couldn't.
Tell me what should the installer do? All it could do is copy the SDL DLLs to the game directory. It could never install them to Windows\System without being considered malware.

So the end result would just be the same as a sane portable distribution like all other ports have.

Share this post


Link to post

It's utterly unbelievable to me that there's anything left to argue about when it comes to this. If random people are going to come in and lecture the source port developer community (most of whom are also professional software engineers) on where DLLs should go and what menus should look like, then gimme a break. Any more posts like that previous one up there and this thread is probably getting locked.

Share this post


Link to post
Graf Zahl said:

1.- You didn't installed the required libraries because you didn't read the requirement or didn't even took the time to know what was needed to run game.

Sorry, but that's crap. That may be how stuff is set up on Linux, but not on Windows. And as has been said several times by several people here, there is nothing to install - unless you are dead set on breaking your system.


That is false.
I can name several Doom-related programs that states "requires XXXX or YYY library, you may download it from zzzzzz.com", and such library doesn't come along with those programs' packages.
And is widely agreed by all Doom community to be good software, so I think the problem on your part is not that Legacy doesn't come with SDL and whatever libs it requires.

Graf Zahl said:

2.- The software is designed to look for the libraries in a folder that is not the same as the Windows uses, because Linux uses different file system.

So? That's completely irrelevant for a Windows distribution.


Only up to an extent. Trying to install certain libraries or some specific things like LUA interpreters, LaTeX or similar things on Windows is a pain in the a**. Many times you need to manually set environment variables and mess with directories so the OS knows where everything is.
And the problem is actually Windows, not the softwares, which work on Linux after a simple "apt-get install LUA LaTeX whatever".

Graf Zahl said:

Huh? What? As has been said, THERE IS NOTHING TO INSTALL!!!
An SDL-based Windows application is supposed to ship the SDL libraries along with it. That's how any sane package is built.


The same as I said in the first quote.


Graf Zahl said:

Just. Look. At. It!
If there is one word to describe that menu, it's 'unprofessional'. Sorry to be blunt, but it looks like shit. Such a shoddy presentation will immediately lose any modern computer user, it looks like a relic from the early 90's. It's the kind of menu I write for early prototypes of software I develop so that I have a quick'n dirty placeholder for missing functionality.


Maybe you are looking for something that Legacy doesn't offer. In this case, the important part of the source port is not how the init menu looks like, but how it plays Doom.
I could say the same about GZDoom. It doesn't offer the same features that, lets say Skyrim, so I should be away from GZDoom if I'm searching for something that looks like Skyrim.

But I could likely agree, a more colorful and pretty menu would be nice.

Graf Zahl said:

The real problem here is, though, that Wesley completely ignored any negative feedback that has been given. The issues mentioned here first came up a year ago and it was clearly stated why this is wrong. Nothing has changed.


That's a problem. But it is his problem and his software. He is free to do whatever he wants with it. I don't think it is necessary to say that his program is crap becuase you don't agree how he wants to develop it.

Graf Zahl said:

Normally I expect from any programmer releasing some software publicly to ensure that it at least runs.


It runs.


Graf Zahl said:

This one not only didn't run out of the box, no, it requires some setup that may elude some of the less technologically knowledgeable people - not because it's hard to copy a few files, but mostly because of the bogus install instructions that come with it which may lead some people to do serious harm to their OS installation.


It run out for the box for me. I dunno what is the problem for you but on my system I only had to do write "make" from the console and everything compiled and launched without any problem.

Graf Zahl said:

Ane even once this has been sorted out, the whole thing doesn't even WORK? Why? Apparently because it only has been tested on 15+ year old systems.


I run Legacy on my 2013 machine with one of the last Linux versions, actually, Linux Mint fully updated.
Using last SDL version, modern graphics card and so on, I didn't have any problem.

I would dare to say that you have something messed up in your machine or you use unsuported hardware. It seems that Legacy only works on systems that are compatible with 15+ years old computers, and your computer isn't compatible, so you can't run Legacy. It is not the developer's fault but yours for trying to play a game that is not compatible with your system.

Share this post


Link to post
Yokai said:

http://i.imgur.com/RWtmV2r.png

Which part of that menu do you feel so hard to understand?


What does "Switch" mean and do?
What does "Game Auto" mean and do? Like if I suppose "Iwad" is for selecting an IWAD, then "Game" is for selecting what? In Doom, IWAD == game.

I suppose "Continue" launches the game proper, so why isn't it called "Play" or "Start"?

And yes that menu is very ugly.

Yokai said:

Sorry, but that's crap. That may be how stuff is set up on Linux, but not on Windows. And as has been said several times by several people here, there is nothing to install - unless you are dead set on breaking your system.

That will only be for libraries that, for a reason or another, absolutely cannot be reduced to just a .dll file bundled with the program. Examples are .NET stuff (needed by DB2/GZDB) or the VC++ 2013+ runtimes (needed by SLADE 3).

But if you look in more detail, any library that can be used as a simple DLL, is bundled as a simple DLL. GZDB comes with several (DevIL, SharpCompress, Scintilla...) and so does SLADE 3 (FreeImage, FluidSynth, OpenAL...).

Share this post


Link to post

Yokai said:

Graf Zahl said:
Sorry, but that's crap. That may be how stuff is set up on Linux, but not on Windows. And as has been said several times by several people here, there is nothing to install - unless you are dead set on breaking your system.


That is false.
I can name several Doom-related programs that states "requires XXXX or YYY library, you may download it from zzzzzz.com", and such library doesn't come along with those programs' packages.
And is widely agreed by all Doom community to be good software, so I think the problem on your part is not that Legacy doesn't come with SDL and whatever libs it requires.


Name such port!
There are some instances where some OPTIONAL stuff is needed that doesn't come with the port for size reasons (like fluidsynth for ZDoom) but I do not know one single port that requires a third party install - and certainly not a third party install that's not supposed to be installed in the first place!

So stop spreading misinformation!



Graf Zahl said:
So? That's completely irrelevant for a Windows distribution.


Only up to an extent. Trying to install certain libraries or some specific things like LUA interpreters, LaTeX or similar things on Windows is a pain in the a**. Many times you need to manually set environment variables and mess with directories so the OS knows where everything is.
And the problem is actually Windows, not the softwares, which work on Linux after a simple "apt-get install LUA LaTeX whatever".


So? That's completely irrelevant to the discussion at hand! Legacy only requires SDL as a third party dependency and as has been repeated ad infinitum...:
SDL IS NOT SUPPOSED TO BE INSTALLED ON WINDOWS!!!
How often does this simple fact have to be repeated until it sinks in???


Maybe you are looking for something that Legacy doesn't offer. In this case, the important part of the source port is not how the init menu looks like, but how it plays Doom.
I could say the same about GZDoom. It doesn't offer the same features that, lets say Skyrim, so I should be away from GZDoom if I'm searching for something that looks like Skyrim.


So where are we now? It is forbidden to tell a developer that he should address some things to improve the reception of their software?
Come on! That's not how things work. The issues that are being discussed here have been present for a year, there have been various discussions, yet nothing happened.
The least I can expect from a self-respecting developer is that they listen to feedback and act on it to improve their product.

That's a problem. But it is his problem and his software. He is free to do whatever he wants with it. I don't think it is necessary to say that his program is crap becuase you don't agree how he wants to develop it.

It runs.



Here's the kicker: It DOESN'T RUN on my system because it insists on running in 8 bit mode without any option to change this. And the reason it can't be changed are some utterly inept changes to the setup code, quite obviously done by someone who took their own system as the absolute measurement of properly configured hardware.
Legacy originally was well capable of handling this failure case, but all that code was explicitly disabled!

It run out for the box for me. I dunno what is the problem for you but on my system I only had to do write "make" from the console and everything compiled and launched without any problem.


See, that's the problem. It was never tested properly on Windows and the setup is simply btoken.
Worse, the user doesn't even get a proper error message when this happens. The only hint at what's at fault is in a text file the executable leaves behind and what's in there is a cryptic message that'd be of no help to most users.

I run Legacy on my 2013 machine with one of the last Linux versions, actually, Linux Mint fully updated.
Using last SDL version, modern graphics card and so on, I didn't have any problem.


That's completely irrelevant because it's the Windows version that's broken (and Wesley refuses to fix it because he only tests with an obsolete version of Windows.)

I would dare to say that you have something messed up in your machine or you use unsuported hardware. It seems that Legacy only works on systems that are compatible with 15+ years old computers, and your computer isn't compatible, so you can't run Legacy. It is not the developer's fault but yours for trying to play a game that is not compatible with your system.
[/b]


The problem is SDL 1.x. For reasons I can't investigate it refuses to create an 8 bit surface. And since my system is a clean install I did myself 5 months ago I can be certain that nothing is messed up. I installed the graphics driver which was handed to me by NVidia when I searched for the most recent one that's suitable for my hardware.

Share this post


Link to post
Gez said:

What does "Switch" mean and do?


A command line switch: -fullscreen -warp map01 -nosound -pwad mywad.wad ...

Gez said:

What does "Game Auto" mean and do?


The game logic you want Legacy to use.
It is not the same to launch Legacy for Doom 1, Doom 2, Heretic or other.

When you set "Game Auto" it means that Legacy will automatically select the most appropriate game logic according to the available IWADs.


Gez said:

Like if I suppose "Iwad" is for selecting an IWAD, then "Game" is for selecting what? In Doom, IWAD == game.


IWAD field lets you choose which IWAD to use. Lets say, you want to play Chex Quest, It may be using GAME = Doom 2 and IWAD = chex.wad, for example

But if you only have CHex Quest iwad and you leave everything as default, Legacy will probably detect that Game = Doom 2 and IWAD = Chext.wad.

Gez said:

I suppose "Continue" launches the game proper, so why isn't it called "Play" or "Start"?


"Play" would be a better name. But "Continue" is quite easy to understand anyway. I never had to stop and keep thinking what "Continue" would do. I hope you didn't need either.

Gez said:

And yes that menu is very ugly.


Beauty is such a subjective thing...



Gez said:

That will only be for libraries that, for a reason or another, absolutely cannot be reduced to just a .dll file bundled with the program. Examples are .NET stuff (needed by DB2/GZDB) or the VC++ 2013+ runtimes (needed by SLADE 3).


When I installed some modern game on my windows OS, the ones that were requiring extra libs like DirectX, Visual .NET things and so on, the game prompted me to install them during installation.

Slade could do the same, but it doesn't, and nobody seems to publicly protest about it.

Gez said:

But if you look in more detail, any library that can be used as a simple DLL, is bundled as a simple DLL. GZDB comes with several (DevIL, SharpCompress, Scintilla...) and so does SLADE 3 (FreeImage, FluidSynth, OpenAL...).


But Slade doesn't run unless I know that I need to download VC++, and a end-user that doesn't read the requirements will see Slade 3 simply crashing, trying to figure out what has happened.



Graf Zahl said:

Yokai said:
That is false.
I can name several Doom-related programs that states "requires XXXX or YYY library, you may download it from zzzzzz.com", and such library doesn't come along with those programs' packages.
And is widely agreed by all Doom community to be good software, so I think the problem on your part is not that Legacy doesn't come with SDL and whatever libs it requires.


Name such port!


I never mentioned a port but **software**.

Refer to, for example, Slade. It requires from the user to separately install VC++.
Not even the installation prompts you to install it, Only the webpage says that several lines below the downloading link.

Also refer to Oblige, I'm not sure now, but last time I tried to run it (on a Windows machine) it rejected to do so, asking me to install I dunno what (this was some years ago).

And now that you mention "port", try installing zDoom on Linux. You will see these Legacy problems like a kid's game.

Graf Zahl said:

There are some instances where some OPTIONAL stuff is needed that doesn't come with the port for size reasons (like fluidsynth for ZDoom) but I do not know one single port that requires a third party install - and certainly not a third party install that's not supposed to be installed in the first place!

So stop spreading misinformation!


I'm not talking about OPTIONAL stuff at all. I can't see any source of missinformation.

And also, you are trying to generalize your Windows system and saying that anything working on Windows will work the same way on Linux.
Programs in Linux are installed differently, as libraries does too. On Linux libraries are system-installed.

I think it is you the one spreading missinformation due to a lack of knowledge about the topic.


Graf Zahl said:

Only up to an extent. Trying to install certain libraries or some specific things like LUA interpreters, LaTeX or similar things on Windows is a pain in the a**. Many times you need to manually set environment variables and mess with directories so the OS knows where everything is.
And the problem is actually Windows, not the softwares, which work on Linux after a simple "apt-get install LUA LaTeX whatever".


So? That's completely irrelevant to the discussion at hand! Legacy only requires SDL as a third party dependency and as has been repeated ad infinitum...:
SDL IS NOT SUPPOSED TO BE INSTALLED ON WINDOWS!!!
How often does this simple fact have to be repeated until it sinks in???


It is not irrelevant at all. Otherwise, it can't be more relevant. You are taking Windows as the starting point of the discussion. Nobody told that Windows was the main target system for Legacy or the reference system. Plus if you knew something about Linux you would know that distributing SDL or other libraries among with the binaries cannot be done without a lot of trouble.

Again, Legacy is mainly designed for Linux. SDL in Linux is system-installed, NOT developer-distributed. The game developer is taking as reference Linux not Windows and you are trying to run the game on Windows. It is logical that you run into trouble, the same problems that I ran into when trying to install zDoom on Linux.

As you don't know much about Linux systems, you should stop complaining about how the developer should pack his program that is mainly designed and tested for a different system than yours.

Graf Zahl said:

So where are we now? It is forbidden to tell a developer that he should address some things to improve the reception of their software?
Come on! That's not how things work. The issues that are being discussed here have been present for a year, there have been various discussions, yet nothing happened.
The least I can expect from a self-respecting developer is that they listen to feedback and act on it to improve their product.


Of course it is not forbidden. I completely agree with you. But if you don't have any interest in how Legacy is being developed, nobody is forcing you to use it. But you don't need to give feedback like "hey your port is shit". That won't benefit anyone nor will bring anything useful to the discussion.

Graf Zahl said:

The problem is SDL 1.x. For reasons I can't investigate it refuses to create an 8 bit surface. And since my system is a clean install I did myself 5 months ago I can be certain that nothing is messed up. I installed the graphics driver which was handed to me by NVidia when I searched for the most recent one that's suitable for my hardware.


Are you using SDL 1.x?

Then the problem is not wesleyjohnson using an old windows machine, but YOU using a PRETTY OUTDATED version of SDL, specifically from the 2001.

If you had bothered at least to download updated libraries, you wouldn't run into problems and you won't be here trying to discuss about problems whose source is on your part, not others'.

But in either case, I can't understand how your SDL cannot create or handle 8bit surfaces because even the outdated version you are using supports 8bit surfaces.
The only possible explanation that I can think of is that something is wrong in your system, given that your SDL libraries are the official and unmodified ones. Maybe in those 5 months of fresh install you installed something you shouldn't?

Or if you have another plausible explanation, mind giving it, please?

Share this post


Link to post
Yokai said:

Are you using SDL 1.x?

Then the problem is not wesleyjohnson using an old windows machine, but YOU using a PRETTY OUTDATED version of SDL, specifically from the 2001.

If you had bothered at least to download updated libraries, you wouldn't run into problems and you won't be here trying to discuss about problems whose source is on your part, not others'.

You can't update SDL for a binary that's already built. Are you drunk posting or what?

Share this post


Link to post

*quietly reads thread*

Yokai said:

Are you using SDL 1.x?

Then the problem is not wesleyjohnson using an old windows machine, but YOU using a PRETTY OUTDATED version of SDL


Do you know how I know that you don't know what the hell you're talking about?

SDL2 interface is completely different and WILL NOT RUN SDL 1.x PROGRAMS.


So are you a meatpuppet or someone's troll alt?

Share this post


Link to post

I never mentioned a port but **software**.

Refer to, for example, Slade. It requires from the user to separately install VC++.
Not even the installation prompts you to install it, Only the webpage says that several lines below the downloading link.
\


It is standard operating procedure in 99% of cases for Windows installers to automatically install any necessary libraries or .dll files in the proper place. Doom Builder does this with SlimDX, for example.

However, SDL is not one of these libraries that requires any installation - the standard operating procedure for literally any other SDL game on Windows that I have found is that it includes SDL.dll and friends in the program directory. This is actually even done on Linux occasionally - you might have noticed some programs use a shell script to modify LD_LIBRARY_PATH before executing the main program.

Share this post


Link to post

That's a problem. But it is his problem and his software. He is free to do whatever he wants with it. I don't think it is necessary to say that his program is crap becuase you don't agree how he wants to develop it.


Doom Legacy is WesleyJohnson's project and he should remain true to his vision. If he wants to focus exclusively on Linux and not build for Windows then he is perfectly within his right to do so, and I think that we should respect that. However, he should make it perfectly clear that Legacy is strictly a Linux port and not intended to be used on a modern Windows platform. He should NOT give the impression that Legacy is both a Linux and modern Windows program when he has no intention of programming for Windows and maintaining a stable, up to date Windows version. He should NOT distribute a readme.txt that tells Windows users to do things that are going to fuck up their system, either. Graf Zahl has shown that a stable Windows version is possible if WesleyJohnson truly wants to provide one, and the other sourceport authors have offered to help, as well. If he has no intention of programming for Windows then he should drop all Windows support entirely.

Edit: Clarity.

Share this post


Link to post
AlexMax said:

This is actually even done on Linux occasionally - you might have noticed some programs use a shell script to modify LD_LIBRARY_PATH before executing the main program.

That's because the system-installed libraries should only be used by programs installed system-wide (typically programs installed by a repository). Any standalone game should include the libraries they depend on as part of the archive, this is no different from Windows here. Usually they get away with not including libc and a few other low-level libraries as part of that; ABI compatibility is pretty much never broken with those, but they could include a private copy if they wanted to (this is no different from msvc*.dll files). It is often a major headache to run games/software distributed this way that don't include all of their dependencies, especially if they depend on some library that was modified by a specific distribution (I'm thinking Witcher 2 that depends on Ubuntu's version of libcurl, which is incompatible with the standard one... and doesn't even include it -_-); again, a lot like the current state of Legacy on Windows.

And if you constantly assume that all libraries on Linux are installed in the system forever, what do you do when SDL 1.x disappears from repositories? It will happen eventually. If your program didn't come with its own private copy of the required SDL 1.x, you're nearly SoL.

tl;dr: Linux isn't that different from Windows in this aspect.

Share this post


Link to post
Yokai said:

Beauty is such a subjective thing...


But UI standards clearly are not.
Show me any program that starts up with an ugly as shit text screen menu that:

- violates any UI guidelines of how to request user input.
- uses a font that doesn't have proper descenders and a far too low pixel resolution
- no clearly visible system of how to receive input.

Yokai said:

But Slade doesn't run unless I know that I need to download VC++, and a end-user that doesn't read the requirements will see Slade 3 simply crashing, trying to figure out what has happened.


From Slade's download page:

Requirements:
SLADE 3.1.0 requires the 32-bit Microsoft Visual Studio 2013 Runtimes (x86) to be installed, which can be downloaded here: Microsoft Visual C++ 2013 Runtime.
Note that the SLADE installer will automatically download and install this when installing SLADE.

And now that you mention "port", try installing zDoom on Linux. You will see these Legacy problems like a kid's game.


ZDoom has more dependencies, that's correct. If having to sort them out without the guiding hand of the package manager is considered too 'complicated', I don't know what to say. But you know what:
There's detailed instructions available and I think one can expect them to be read by someone who wants to self-compile any software.

I'm not talking about OPTIONAL stuff at all. I can't see any source of missinformation.

And also, you are trying to generalize your Windows system and saying that anything working on Windows will work the same way on Linux.
Programs in Linux are installed differently, as libraries does too. On Linux libraries are system-installed.

I think it is you the one spreading missinformation due to a lack of knowledge about the topic.


Since even the resident Linux users disagree with you I have nothing further to say.


It is not irrelevant at all. Otherwise, it can't be more relevant. You are taking Windows as the starting point of the discussion. Nobody told that Windows was the main target system for Legacy or the reference system. Plus if you knew something about Linux you would know that distributing SDL or other libraries among with the binaries cannot be done without a lot of trouble.


How is Linux relevant when talking about a problem on Windows? The two systems are not the same so clearly you cannot transpose some rules from one to the other.

Again, Legacy is mainly designed for Linux. SDL in Linux is system-installed, NOT developer-distributed. The game developer is taking as reference Linux not Windows and you are trying to run the game on Windows. It is logical that you run into trouble, the same problems that I ran into when trying to install zDoom on Linux.


And one more time: If wesleyjohnson only wants to support Linux, that's his choice.
But you know what: He doesn't! He provides a Windows binary, so that means that this binary is up to scrutiny and criticism.
If he can't take that, ok, he clearly should leave Windows out, but as I have proven, the problems with Windows are relatively minor and clearly solvable. If he doesn't even want to go that small step and incorporate the feedback I provided to the issue at hand he also must be prepared for the negative feedback this will generate.

As you don't know much about Linux systems, you should stop complaining about how the developer should pack his program that is mainly designed and tested for a different system than yours.


No. If he creates a package for a specific system, he needs to play by that system's rules. And if he doesn't know these rules, listen to people who DO know. But never ever transpose some bogus assumptions from another system that are clearly said to be incorrect.

Of course it is not forbidden. I completely agree with you. But if you don't have any interest in how Legacy is being developed, nobody is forcing you to use it. But you don't need to give feedback like "hey your port is shit". That won't benefit anyone nor will bring anything useful to the discussion.


Ok, joker, how about it?
Of course I have given feedback. Lots of it.
- I clearly stated that the setup of the distribution is wrong with the bogus assumption of 'installing' SDL. It got ignored.
- I clearly stated that the startup screen will pull out many users. This one clearly should be optional. Nothing happend.
- I took the time to get the code to compile on Visual Studio so that I could debug the startup problem. When I found what was up I posted a detailed report of what needed to be done. Unfortunately due to the problem being the result of a deliberate change wesleyjohnson made to the code, I couldn't provide a proper fix. But I posted both a working Windows binary AND the altered source code for investigation. And guess what happened with this information: Yes, right: IT WAS COMPLETELY IGNORED!

Well, at some point I lose respect for certain persons, and that's when they are so stuck in their own mindset that they ignore any feedback conflicting with their view of things that they are given.
I wonder how ZDoom or GZDoom would look had Randy and I ignored what has come from the Linux users. Probably a lot worse and less stable.

Are you using SDL 1.x?

Then the problem is not wesleyjohnson using an old windows machine, but YOU using a PRETTY OUTDATED version of SDL, specifically from the 2001.

If you had bothered at least to download updated libraries, you wouldn't run into problems and you won't be here trying to discuss about problems whose source is on your part, not others'.


Sigh...
I won't repeat what others have said about compatibility here, but the mere fact that you brought up this uninformed nonsense speaks volumes...

But in either case, I can't understand how your SDL cannot create or handle 8bit surfaces because even the outdated version you are using supports 8bit surfaces.
The only possible explanation that I can think of is that something is wrong in your system, given that your SDL libraries are the official and unmodified ones. Maybe in those 5 months of fresh install you installed something you shouldn't?

Or if you have another plausible explanation, mind giving it, please?


What do I know? I didn't bother to debug SDL. I stopped right after I found the broken video init code, quickly hacked it to launch with 32 bit and posted my findings here. I thought it would be appreciated but no such luck so far... :(
I know that other programs using Direct3D directly have no problems switching to 8 bit mode, but it has been known for a long time that these are generally problematic with newer Windows graphics drivers and lots of software has migrated away from hardware-supported 8 bit as a result.
One thing's for sure: 8 bit paletted modes are a thing of the past and it's only a matter of time until they completely disappear. The original Legacy developers even considered the scenario that 8 bit can not be initialized, the code is still there, just littered with countless places where it forces bit depth to 8 bit. So this isn't even an error that developed over time due to fading hardware support, no, it was deliberately introduced for unknown reasons!

Share this post


Link to post
Yokai said:

The game logic you want Legacy to use.
It is not the same to launch Legacy for Doom 1, Doom 2, Heretic or other.

When you set "Game Auto" it means that Legacy will automatically select the most appropriate game logic according to the available IWADs.

Is there a point to divorce game from game logic? What purpose does it serve to play Heretic with Doom II logic?

Yokai said:

Slade could do the same, but it doesn't, and nobody seems to publicly protest about it.


Depends on whether you get the installer version or not. If you get just the zip file with the exe, dll, and data file instead of the installer, then yeah you won't get through an installation system that'll fetch any missing requirement.

Also note that the VC++ redist requirement is only caused by the compiler used. The development builds are not built with VC++ 2013 and don't need it.

Share this post


Link to post

Yokai, why do you keep dismissing the opinions and advice of veteran coders who have been working on Doom source ports for over ten years? Is it some sort of pride? What gives you the right to have any pride? Standards and best practices for Windows applications are not "subjective", there are obviously correct ways of handling things like frontend interfaces and dependencies that you apparently consider an unnecessary imposition on wesleyjohnson's ARTISTIC VISION or something. People like Graf Zahl and Quasar are not amateurs, if they have advice about programming, listen to them. And just because you're "working from Linux" does not give you the right to ignore the standards and guidelines of other supported operating systems. If you're not going to bother to make your Windows builds behave like Windows users have come to expect Windows applications to behave for 20 years, and you're not going to test your software on a Windows platform, don't support Windows. Of course this means Legacy will be dead in the water because most users run Windows, but that's your problem.

Yokai is proof that ignorance is not just the absence of knowledge, it is also a position that the ignorant zealously defend from any and all knowledge.

And wesleyjohnson, STOP USING WINDOWS 98. It is obsolete. It is ancient. It is so insecure that a Win98 box with an internet connection is a threat to itself and other computers. It is unsupported. NOBODY still uses Windows 98 as their primary system. Most modern hardware does not have proper Windows 98 functionality because no one writes Windows 98 drivers anymore. Many programs written for Windows 98 WILL NOT RUN under NT-based Windows versions, and as time goes on compatibility will get worse and worse.

I guarantee you, once you try a modern version of Windows you will never want to go back. 9x sucks like Monica Lewinsky and blows like Hurricane Katrina. I actually wonder how much of your "distrust" for Windows comes from 9x, which is a notoriously unstable and temperamental operating system which crashes all the time even in the best conditions. A lot of the bad stuff you heard about Windows in the '90s doesn't happen anymore.

E: Let me put it this way, Win9x and Windows XP/Vista/7/8 have only slightly more in common than MacOS 9 does with OS X. They are two entirely different operating systems, and the only reason why significant compatibility exists at all is because Microsoft employees work tirelessly to preserve what backwards compatibility still exists with thousands and thousands and thousands of hacks and exceptions written for individual Win98 programs. You better believe they won't write any workarounds for Doom Legacy.

Share this post


Link to post

Nothing on this page that hasn't been repeated 8 times already, so, let's give it its final rest.

Share this post


Link to post
Guest
This topic is now closed to further replies.
×