12 May, 2009, tphegley wrote in the 1st comment:
Votes: 0
After checking out the running empiremud that Trisha promoted, I've wanted to dig further into the empiremud codebase, but I'm coming up with some problems compiling it. It makes fine but after it makes it comes up with a bunch of undefined references that are defined in the *.h files and are included in the *.c files.

For example:

in utils.c

char *PERS(Creature ch, Creature vict, bool real) {
static char output[MAX_INPUT_LENGTH];

if (!CAN_SEE(vict, ch))
return "someone";

if (!IS_NPC(ch) && GET_MORPH(ch) && !real)
return morph_string(ch, MORPH_STRING_NAME); <—583

strcpy(output, GET_NAME(ch));
if (!IS_NPC(ch) && GET_LASTNAME(ch))
sprintf(output + strlen(output), " %s", GET_LASTNAME(ch));

return output;
}


which is defined here in handler.h

extern char *morph_string(Creature ch, byte type);


The top of the file utils.c has

#include "handler.h"


among other .h includes.

Why would it say undefined reference?
13 May, 2009, Elervan wrote in the 2nd comment:
Votes: 0
Edit Makefile.in. Files that need to be added are: act.god.c, vampires.c, morph.c specials.c and one or two more. Once you add them into the Makefile.in back up cd ../ and do a ./config.status. and try compiling again.
The reason why they are undefined is because your trying to compile the mud where those references are being used but don't exist because they aren't being compiled in with the source.
– Elervan
13 May, 2009, tphegley wrote in the 3rd comment:
Votes: 0
Ok, after hemming and hawing and adding and subtracting, I came up to this point:

user:~/emp/src$ make
make ../bin/empire
make[1]: Entering directory `/home/user/emp/src'
make[1]: `../bin/empire' is up to date.
make[1]: Leaving directory `/home/user/emp/src'
make utils
make[1]: Entering directory `/home/user/emp/src'
(cd util; make all)
make[2]: Entering directory `/home/user/emp/src/util'
make[2]: *** No rule to make target `delobjs.c', needed by `../../bin/delobjs'. Stop.
make[2]: Leaving directory `/home/user/emp/src/util'
make[1]: *** [utils] Error 2
make[1]: Leaving directory `/home/user/emp/src'
make: *** [all] Error 2


Seems there is no delobjs.c anywhere.

Found delobjs.c in google and added it. Got everythign to compile cleanly and started the game up. I'm having random crashes so working on that right now.
13 May, 2009, Elervan wrote in the 4th comment:
Votes: 0
If you happen to get a version that will actually run and allow game-play, could you post it for release, as it stands I know EmpireMUD1.0 does not run on cygwin it crashes when loading LIB_PACKS.
13 May, 2009, tphegley wrote in the 5th comment:
Votes: 0
I'm still having some trouble with it. I'll see what I can do though.
13 May, 2009, tphegley wrote in the 6th comment:
Votes: 0
Running it in gdb right now see what I can find.
13 May, 2009, Elervan wrote in the 7th comment:
Votes: 0
Well just post all the errors you get on here and someone I'm sure will help clear them up. I know this was brought up on the www.tbamud.com website as well, still trying to figure out the issues.
13 May, 2009, tphegley wrote in the 8th comment:
Votes: 0
It seems the NOWHERE flag causes some crashes. I've commented out two places that had that and haven't had a crash since. I'll get back to those errors later. Just figuring out commands and such and what all works and what doesn't.
13 May, 2009, Brigan wrote in the 9th comment:
Votes: 0
It seems that I'm not the only one who took an interest in this code. A friend of mine and I decided to set up a copy of the code to see if we couldn't finish some of the unfinished projects, as well as update the documentation (including helpfiles).

tphegley said:
It seems the NOWHERE flag causes some crashes. I've commented out two places that had that and haven't had a crash since. I'll get back to those errors later. Just figuring out commands and such and what all works and what doesn't.


After playing with the code, it turns out that it's not actually the NOWHERE flag.

This line of code:

if (world[i].home_room != NOWHERE && world[real_room(world[i].home_room)].burning && world[i].people)
act("The walls crackle and crisp as they burn!", FALSE, world[i].people, 0, 0, TO_CHAR | TO_ROOM);


We changed to:

if (world[i].home_room != NOWHERE) {
int rizzoom = world[i].home_room;
if (world[rizzoom].burning > 0)
if (world[i].people != NULL)
act("The walls crackle and crisp as they burn!", FALSE, world[i].people, 0, 0, TO_CHAR | TO_ROOM);
}


I'm sure there are easier ways to do it, but it did stop the one-tick crashes :) Oh, and I used rizzoom cause…at the time…it seemed pretty funny.

We're now in the process of cleaning up all the warnings and cleaning up the files that were included with the distribution. Hopefully if all goes well, we will be able to re-release the code so that people can take advantage of it. It truly is a remarkable base.

- Brigan
13 May, 2009, tphegley wrote in the 10th comment:
Votes: 0
I'll try that out. I just compiled with gcc-3.4 and didn't have any errors. It definitely needs to be upgraded to higher compatibility, but for right now I'm content with what I've got. I'll try your changes once I get a chance to put them in.
13 May, 2009, tphegley wrote in the 11th comment:
Votes: 0
I think there are a lot of stuff that is not finished in the codebase. It definitely has potential though.

Create a better fight system, finish commands and we might have something here.
07 Jun, 2009, Trisha wrote in the 12th comment:
Votes: 0
I just wanted to mention that we are working on a version that is more bug-free and otherwise "better" than the one currently available for public download (ours does or soon compile native to windows). We've obtained some older, non-public versions and are adding some of the code into ours. I believe it is in everyone's best interest to have this (our) version made public, and I believe that is one of our goals in the somewhat near future. We just have to be patient. I'll announce the release, but please don't ask me all kinds of questions about the code. I'm just the PR, not the coder.

However, if you do have some code snippets that work and you would like to see added, I can possibly see about that.
0.0/12