I am currently running a Michael K Weis' Win32 port of ROM 2.4b4 which has OLC and color already implemented.
(http://home.att.net/~mkw/mudframe.html -> mkwMUD-src.zip)
This version is completely ported over to C++ (ie: includes .cpp files) and ready to compile out-of-the-box. All you have to do is make the player/god/... folders and define them within the code.
One problem though, once running, i can make a new character, play around and quit just fine. BUT when i go to load that character it gives me the following log and locks up... doesnt even exit cleanly.
write_to_descriptor: MOPP: 2048; Bytes written: 2048; Bytes written 115
Loading Xrythe.
[*****] BUG: Warning: fread_word_char() encountered EOF.
[*****] BUG: Fread_char: no match.
the "Loading ___." and "Fread_char: no match" tell me that the error is within the only call to fread_word() within fread_char() as it reads in the character file. There's no match because there is no case for EOF returned. With my own debugging logic i have followed the trace from:
load_char_obj(fp, name) ->
...
word = fread_word(fp);
if (!str_cmp( word, "PLAYER" )) fread_char (ch, fp);
...
fread_char(ch,fp) ->
...
for ( ; ; )
word = feof(fp) ? "End" : fread_word(fp);
...
fread_word(fp) ->
...
for( ; pword < word +MAX_INPUT_LENGTH; pword++) {
*pword* = getc(fp);
if( feof(fp) || (cEnd == ' ' ? isspace(*pword) : *pword == cEnd)) {
...
if( feof(fp) )
bug( Warning: fread_word() encountered EOF.", 0);
...
cant determine why fread_word() fails on player file and not anywhere else (ie: areas/... ). MKW even added the feof() check in fread_word() not found in original ROM stock, so he knew it was an issue but apparently he got around it.
(http://home.att.net/~mkw/mudframe.html -> mkwMUD-src.zip)
This version is completely ported over to C++ (ie: includes .cpp files) and ready to compile out-of-the-box. All you have to do is make the player/god/... folders and define them within the code.
One problem though, once running, i can make a new character, play around and quit just fine. BUT when i go to load that character it gives me the following log and locks up... doesnt even exit cleanly.
write_to_descriptor: MOPP: 2048; Bytes written: 2048; Bytes written 115
Loading Xrythe.
[*****] BUG: Warning: fread_word_char() encountered EOF.
[*****] BUG: Fread_char: no match.
the "Loading ___." and "Fread_char: no match" tell me that the error is within the only call to fread_word() within fread_char() as it reads in the character file. There's no match because there is no case for EOF returned. With my own debugging logic i have followed the trace from:
load_char_obj(fp, name) ->
...
word = fread_word(fp);
if (!str_cmp( word, "PLAYER" )) fread_char (ch, fp);
...
fread_char(ch,fp) ->
...
for ( ; ; )
word = feof(fp) ? "End" : fread_word(fp);
...
fread_word(fp) ->
...
for( ; pword < word +MAX_INPUT_LENGTH; pword++) {
*pword* = getc(fp);
if( feof(fp) || (cEnd == ' ' ? isspace(*pword) : *pword == cEnd)) {
...
if( feof(fp) )
bug( Warning: fread_word() encountered EOF.", 0);
...
cant determine why fread_word() fails on player file and not anywhere else (ie: areas/... ). MKW even added the feof() check in fread_word() not found in original ROM stock, so he knew it was an issue but apparently he got around it.