I've decided to take it upon myself to clean low4 up a little bit so that people can start a low4 without having to go through all that extra work to make it compile the first time.
My goal isn't to remove any of the bugs or any of the inherent problems with the code, I'm just make it compile cleanly on gcc 4.3.2 and removing the useless files. I removed all the IMC files (around 15 or more) from the code cause this version is way outdated and buggy as hell. I'm not planning on putting a newer version of IMC in cause not everybody will want it in their mud and if they do then let them put it in.
I have already gotten almost all the warnings/errors fixed and will probably have this release ready within the next week or so. I was curious though, if anybody with more coding experience than myself would be willing to look at it before it is released and tell me if I missed anything. I'm not trying to add any features at all, just trying to get it to compile clean since every version of low4 available for download requires a lot of corrections before it will even compile. If somebody such as Tijer or Kavir or someone with their level of experience with this code is willing to take a look, please PM me on here.
Ok, I've not gotten any response from anybody on this subject, but I thought I'd give a little notice that I'll be releasing this either Tuesday or Wednesday sometime. If anybody wants to look at it and make sure I haven't forgotten to do something before I upload it, please pm me or email me at TheIgabod [At]gmail[D0t]com. I'd really appreciate any input on this before I release it.
As you are basically cleaning up the code to compile on a more picky compiler, you might as well clean it up to compile under g++ (I mean so it will compile on both gcc or g++ here). You are bound to find more sloppy uses of type and even though you might not use any of the added features in the compiler, the code will be ready if some user down the line chooses to.
As a side note, I think everyone (using gcc) should do this (and I basically have on most MUDs I have helped on, even if they were unaware).
You do need to be aware of one thing if you're going to use g++ 4.3.2. There will be a hell of a lot of issues with const char* stuff going that route. It's not a fix that can be taken lightly or quickly. I'm not sure if the same stuff comes up with just using gcc.
Even removing const isn't that quick of a fix, proper or not (which I don't agree with doing). Many places call command arguments with do_thing(ch,"hello world") which is already a const string literal.
Making string literals like that non-const is a Very Bad Idea (TM) – there have been a few cases of subtle crashes due to functions messing with string literals. There's really a reason why const exists; guaranteeing the non-modification of string literals is just one.
I've now uploaded the cleaned up code to the repository here. As soon as it is approved I will post a link here.
Also, if you don't want to wait to download it, go to My Homepage and you can download this as well as the original version that I started from.
At the moment there is one more download available, but I'm hoping to add to that in the near future. Please don't mind the boring page, I'm still re-learning html and kinda lazy, the page may change appearance in the coming weeks, but the files will still be available.
[edit to format this post to make it easier to read]
Using the bastardized method myself atm just so I can focus on more important issues while I plan how I want to handle the fix.
Where would I put this flag in my makefile? Directly after g++? or after the -O -ggdb? Or maybe someplace else. I tried doing g++ -Wno-write-strings and that resulted in a bunch of const errors so I'm guessing that's not the right place.
Kline, that's a nice link. Seems they may finally have gotten enough angry complaints about making that warning visible with -Wall and had to act on it. That behavior they specify was not the case with 4.3.0 through 4.3.2. Much to the woes of a lot of us here I might add.
Samson, so previously it was triggering just with -Wall? That would be horrible indeed. Some day I do intend to fix it, but it's low on my list of priorities, especially with this "just now" cropping up for me since I run Debian who (finally lol) included 4.3 as the default with Lenny now.