LPMuds.net
February 09, 2010, 03:43:55 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: This is the forum page. For the main LPMuds page, visit http://lpmuds.net
 
   Home   SITE FAQ INTERMUD DOWNLOADS LINKS Help Search Login Register  
Pages: 1 [2] 3   Go Down
  Print  
Author Topic: MXP Support  (Read 4764 times)
saquivor
BFF
***
Offline Offline

Posts: 109



View Profile
« Reply #15 on: April 24, 2007, 01:45:08 PM »

Great news Smiley Looking forward to tinkering with MXP in DS2 Smiley
Logged
wodan
BFF
***
Offline Offline

Posts: 245


View Profile
« Reply #16 on: May 02, 2007, 03:01:24 PM »

Ok, I added Sojan's patches to FluffOS, made a few more changes as well and now with a 32 bit driver it runs an unchanged DS2.4.2 lib
It still fails in a nasty way on 64 bit though.

Almost there!
Logged
saquivor
BFF
***
Offline Offline

Posts: 109



View Profile
« Reply #17 on: May 03, 2007, 07:33:47 AM »

Is there a public version of the latest version and/or patches. As I am testing some Linux testing at work and will have an excuse to play a bit Smiley

Thanks,

Saquivor
Logged
wodan
BFF
***
Offline Offline

Posts: 245


View Profile
« Reply #18 on: May 03, 2007, 05:12:35 PM »

Unfinished fluffos work is not available anywhere!
Making that available would just take even more time away to actually do stuff.

I might dump it in cvs somewhere if Fluffos gets popular.
Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #19 on: May 03, 2007, 07:25:26 PM »

What changes were made to DS for FluffOS to run?

Personally, I'm having a LOT of issues and i'm not too great of a C programmer.
Logged
sojan
Acquaintance
*
Offline Offline

Posts: 32


View Profile
« Reply #20 on: May 03, 2007, 07:36:38 PM »

Well to get DS to run first time around I basically had to change the position of a lot of include files as they were defining functions prior to inheritence lines, which fluffos doesn't like.  wodan has, however, since changed some of the fluffos stuff so there is an option to allow that without hacking the DSlib.  Also DS has a lot of places where variables of type string are assinged to variables of *string and so on - again fluffos gets shirty about that but wodan has been making some patches to allow that too [although frankly it's not an ideal situation to have variables doing that in the first place].

Those were the only changes to DS I made, however in compiling fluffos for DS I needed to fix quite a few things which Wodan has taken forward, cleaned up my rather messy code, and generally tidied.  Mainly there are a bunch of K&R macros that need removing and some changes to the iconv support.  Plus I needed to add #define DEBUG to the local_options file.  I do believe wodans patches should fix all this but we're still a ways from public release of that.

J

Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #21 on: May 03, 2007, 07:59:38 PM »

I've already removed the K&R macros and tidied up a lot of dirty code. What changes were made the iconv support though?

For the most part, it's just spitting errors at me during preload ( I haven't tried disabling preload yet ) and what does #define DEBUG in local_options do?
Logged
sojan
Acquaintance
*
Offline Offline

Posts: 32


View Profile
« Reply #22 on: May 03, 2007, 08:04:24 PM »

the preload errors are more than likely the result of include files that define functions prior to the inherit line.

The #define DEBUG just made sure all the debug code [which was turned on in the DS local options files I had in the distlib] compiled in properly - I'm not even sure it's critical to actually running the lib as I'm no DS expert, as far as the iconv stuff went it's mainly a case of some of the messaging functions referencing iconvised functions without the iconv support compiled in and thus they crash.

J
Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #23 on: May 03, 2007, 08:29:37 PM »

Here's a copy of what happens when I run the driver via ./driver config.lima2

I tried to connect to the MUD and I receive:
Code:
Trying 172.16.10.1...
Connected to 172.16.10.1.
Escape character is '^]'.

Where there any changes to sockets for connections? Or anything? Hmm.

Code:
using config file: config.lima2
Initializing internal tables....
----------------------------------------------------------------------------
Distortions II (FluffOS v2.6) starting up on Linux - Thu May  3 20:24:23 2007


Connected to address server on localhost port 8006

Loading preloaded files ...
object /std/adversary/target: eval_cost too big 500000
object /std/body/guilds: eval_cost too big 500000
/daemons/channel_d.c line 73: Warning: <TAB> before saved_listeners;
/daemons/channel_d.c line 74: Warning: <TAB> before saved_hooks;
/daemons/channel_d.c line 97: Warning: <TAB> before ci;
/daemons/channel_d.c line 100: Warning: <TAB> before error("channel alrea
/daemons/channel_d.c line 103: Warning: <TAB> before    = extract_channel_n
/daemons/channel_d.c line 103: Warning: <TAB> before = extract_channel_na
/daemons/channel_d.c line 104: Warning: <TAB> before = ({ });
/daemons/channel_d.c line 105: Warning: <TAB> before    = ({ });
/daemons/channel_d.c line 105: Warning: <TAB> before = ({ });
/daemons/channel_d.c line 106: Warning: <TAB> before    = ({ });
/daemons/channel_d.c line 106: Warning: <TAB> before = ({ });
/daemons/channel_d.c line 113: Warning: <TAB> before ci = info[channel_na
/daemons/channel_d.c line 117: Warning: <TAB> before /*
/daemons/channel_d.c line 123: Warning: <TAB> before create_channel(chann
/daemons/channel_d.c line 124: Warning: <TAB> before ci = info[channel_na
/daemons/channel_d.c line 131: Warning: <TAB> before /* ### don't error..
/daemons/channel_d.c line 132: Warning: <TAB> before return;
/daemons/channel_d.c line 136: Warning: <TAB> before /* ### don't error..
/daemons/channel_d.c line 137: Warning: <TAB> before return;
/daemons/channel_d.c line 142: Warning: <TAB> before if ( member_array(li
/daemons/channel_d.c line 143: Warning: <TAB> before     ci->hooked += ({
/daemons/channel_d.c line 147: Warning: <TAB> before if ( member_array(li
/daemons/channel_d.c line 148: Warning: <TAB> before     ci->listeners +=
/daemons/channel_d.c line 157: Warning: <TAB> before map_delete(info, cha
/daemons/channel_d.c line 166: Warning: <TAB> before ci->listeners -= ({
/daemons/channel_d.c line 168: Warning: <TAB> before /* purge the channel
/daemons/channel_d.c line 169: Warning: <TAB> before if ( undefinedp(perm
/daemons/channel_d.c line 170: Warning: <TAB> before     test_for_purge(c
/daemons/channel_d.c line 179: Warning: <TAB> before return;
/daemons/channel_d.c line 190: Warning: <TAB> before class channel_info c
/daemons/channel_d.c line 192: Warning: <TAB> before permanent_channels[c
/daemons/channel_d.c line 193: Warning: <TAB> before save_me();
/daemons/channel_d.c line 197: Warning: <TAB> before map_delete(permanent
/daemons/channel_d.c line 198: Warning: <TAB> before save_me();
/daemons/channel_d.c line 210: Warning: <TAB> before permanent_channels[c
/daemons/channel_d.c line 211: Warning: <TAB> before save_me();
/daemons/channel_d.c line 223: Warning: <TAB> before ci = info[channel_na
/daemons/channel_d.c line 226: Warning: <TAB> before return ci->name;
/daemons/channel_d.c line 254: Warning: <TAB> before names = keys(info);
/daemons/channel_d.c line 267: Warning: <TAB> before return sender_name;
/daemons/channel_d.c line 270: Warning: <TAB> before if ( sender_name = t
/daemons/channel_d.c line 271: Warning: <TAB> before     return sender_na
/daemons/channel_d.c line 274: Warning: <TAB> before sender_name = "<unkn
/daemons/channel_d.c line 287: Warning: <TAB> before sizeof(ci->listeners
/daemons/channel_d.c line 288: Warning: <TAB> before return;
/daemons/channel_d.c line 292: Warning: <TAB> before ci->history[0..0] =
/daemons/channel_d.c line 304: Warning: <TAB> before       sprintf(CHANNEL_
/daemons/channel_d.c line 304: Warning: <TAB> before    sprintf(CHANNEL_F
/daemons/channel_d.c line 305: Warning: <TAB> before               user_channel_na
/daemons/channel_d.c line 305: Warning: <TAB> before       user_channel_nam
/daemons/channel_d.c line 305: Warning: <TAB> before    user_channel_name
/daemons/channel_d.c line 306: Warning: <TAB> before               str));
/daemons/channel_d.c line 306: Warning: <TAB> before       str));
/daemons/channel_d.c line 306: Warning: <TAB> before    str));
/daemons/channel_d.c line 318: Warning: <TAB> before sizeof(ci->listeners
/daemons/channel_d.c line 319: Warning: <TAB> before return;
/daemons/channel_d.c line 323: Warning: <TAB> before ci->history[0..0] =
/daemons/channel_d.c line 334: Warning: <TAB> before                     string sender_na
/daemons/channel_d.c line 334: Warning: <TAB> before             string sender_nam
/daemons/channel_d.c line 334: Warning: <TAB> before     string sender_name
/daemons/channel_d.c line 334: Warning: <TAB> before  string sender_name,
/daemons/channel_d.c line 335: Warning: <TAB> before                     string type,
/daemons/channel_d.c line 335: Warning: <TAB> before             string type,
/daemons/channel_d.c line 335: Warning: <TAB> before     string type,
/daemons/channel_d.c line 335: Warning: <TAB> before  string type,
/daemons/channel_d.c line 336: Warning: <TAB> before                     mixed data)
/daemons/channel_d.c line 336: Warning: <TAB> before             mixed data)
/daemons/channel_d.c line 336: Warning: <TAB> before     mixed data)
/daemons/channel_d.c line 336: Warning: <TAB> before  mixed data)
/daemons/channel_d.c line 340: Warning: <TAB> before sizeof(ci->listeners
/daemons/channel_d.c line 341: Warning: <TAB> before return;
/daemons/channel_d.c line 352: Warning: <TAB> before             string sender_nam
/daemons/channel_d.c line 352: Warning: <TAB> before     string sender_name
/daemons/channel_d.c line 352: Warning: <TAB> before  string sender_name,
/daemons/channel_d.c line 353: Warning: <TAB> before             string message)
/daemons/channel_d.c line 353: Warning: <TAB> before     string message)
/daemons/channel_d.c line 353: Warning: <TAB> before  string message)
/daemons/channel_d.c line 359: Warning: <TAB> before       sprintf(CHANNEL_
/daemons/channel_d.c line 359: Warning: <TAB> before    sprintf(CHANNEL_F
/daemons/channel_d.c line 360: Warning: <TAB> before               user_channel_na
/daemons/channel_d.c line 360: Warning: <TAB> before       user_channel_nam
/daemons/channel_d.c line 360: Warning: <TAB> before    user_channel_name
/daemons/channel_d.c line 361: Warning: <TAB> before               sender_name + "
/daemons/channel_d.c line 361: Warning: <TAB> before       sender_name + ":
/daemons/channel_d.c line 361: Warning: <TAB> before    sender_name + ":
/daemons/channel_d.c line 370: Warning: <TAB> before              string sender_na
/daemons/channel_d.c line 370: Warning: <TAB> before      string sender_nam
/daemons/channel_d.c line 370: Warning: <TAB> before   string sender_name
/daemons/channel_d.c line 371: Warning: <TAB> before              string message)
/daemons/channel_d.c line 371: Warning: <TAB> before      string message)
/daemons/channel_d.c line 371: Warning: <TAB> before   string message)
/daemons/channel_d.c line 382: Warning: <TAB> before       sprintf(CHANNEL_
/daemons/channel_d.c line 382: Warning: <TAB> before    sprintf(CHANNEL_F
/daemons/channel_d.c line 383: Warning: <TAB> before               user_channel_na
/daemons/channel_d.c line 383: Warning: <TAB> before       user_channel_nam
/daemons/channel_d.c line 383: Warning: <TAB> before    user_channel_name
/daemons/channel_d.c line 384: Warning: <TAB> before               sender_name + "
/daemons/channel_d.c line 384: Warning: <TAB> before       sender_name + "
/daemons/channel_d.c line 384: Warning: <TAB> before    sender_name + " "
/daemons/channel_d.c line 400: Warning: <TAB> before ({ map_array(soul[1]
/daemons/channel_d.c line 401: Warning: <TAB> before         (: sprintf(CHA
/daemons/channel_d.c line 401: Warning: <TAB> before      (: sprintf(CHAN
/daemons/channel_d.c line 413: Warning: <TAB> before               string message)
/daemons/channel_d.c line 413: Warning: <TAB> before       string message)
/daemons/channel_d.c line 413: Warning: <TAB> before    string message)
/daemons/channel_d.c line 416: Warning: <TAB> before       sprintf(CHANNEL_
/daemons/channel_d.c line 416: Warning: <TAB> before    sprintf(CHANNEL_F
/daemons/channel_d.c line 417: Warning: <TAB> before               user_channel_na
/daemons/channel_d.c line 417: Warning: <TAB> before       user_channel_nam
/daemons/channel_d.c line 417: Warning: <TAB> before    user_channel_name
/daemons/channel_d.c line 418: Warning: <TAB> before               "(" + message +
/daemons/channel_d.c line 418: Warning: <TAB> before       "(" + message +
/daemons/channel_d.c line 418: Warning: <TAB> before    "(" + message + "
/daemons/channel_d.c line 431: Warning: <TAB> before {
/daemons/channel_d.c line 432: Warning: <TAB> before   object ob = find_o
/daemons/channel_d.c line 433: Warning: <TAB> before
/daemons/channel_d.c line 434: Warning: <TAB> before   if ( ob )
/daemons/channel_d.c line 435: Warning: <TAB> before     register_one(0,
/daemons/channel_d.c line 436: Warning: <TAB> before }
/daemons/channel_d.c line 443: Warning: <TAB> before {
/daemons/channel_d.c line 444: Warning: <TAB> before   object ob = find_o
/daemons/channel_d.c line 445: Warning: <TAB> before
/daemons/channel_d.c line 446: Warning: <TAB> before   if ( ob )
/daemons/channel_d.c line 447: Warning: <TAB> before     register_one(1,
/daemons/channel_d.c line 448: Warning: <TAB> before }
/daemons/channel_d.c line 458: Warning: <TAB> before create_channel(chann
/daemons/channel_d.c line 485: Warning: <TAB> before class listener_pair
/daemons/channel_d.c line 486: Warning: <TAB> before the end of line
/daemons/channel_d.c line 487: Warning: <TAB> before pair->channel_name =
/daemons/channel_d.c line 488: Warning: <TAB> before pair->filename = fna
/daemons/channel_d.c line 489: Warning: <TAB> before saved_listeners += (
/daemons/channel_d.c line 497: Warning: <TAB> before class listener_pair
/daemons/channel_d.c line 498: Warning: <TAB> before the end of line
/daemons/channel_d.c line 499: Warning: <TAB> before pair->channel_name =
/daemons/channel_d.c line 500: Warning: <TAB> before pair->filename = fna
/daemons/channel_d.c line 501: Warning: <TAB> before saved_hooks += ({ pa
/daemons/channel_d.c line 528: Warning: <TAB> before  previous_object() =
/daemons/channel_d.c line 530: Warning: <TAB> before class channel_info c
/daemons/channel_d.c line 532: Warning: <TAB> before if ( ci )
/daemons/channel_d.c line 533: Warning: <TAB> before     return ci->liste
/daemons/channel_d.c line 551: Warning: <TAB> before return 0;
/daemons/channel_d.c line 555: Warning: <TAB> before flags |= CHANNEL_PER
/daemons/channel_d.c line 589: Warning: <TAB> before if ( info[name] && (
/daemons/channel_d.c line 590: Warning: <TAB> before     return name;
/daemons/channel_d.c line 592: Warning: <TAB> before if ( info[name] && (
/daemons/channel_d.c line 593: Warning: <TAB> before     return name;
object /cmds/verbs/whisper: eval_cost too big 500000
]ERROR:
  The I3 daemon will not load until you set a proper ADMIN_EMAIL
  value in /include/config.h
/secure/daemons/ftp_d.c line 48: Illegal to inherit after defining functions. before the end of line
Initializations complete.

Accepting connections on port 8002.
******** FATAL ERROR: Process interrupted
FluffOS driver attempting to exit gracefully.
crash() in master called successfully.  Aborting.
Aborted

Logged
sojan
Acquaintance
*
Offline Offline

Posts: 32


View Profile
« Reply #24 on: May 03, 2007, 08:54:13 PM »

Wodan will know better than I but my guess would be that you're crashing in add_message in comm.c as that happened to me and thats where I had to fiddle with iconv stuff.  you could try compiling with iconv support turned on although I have no idea what that will do to DS.

Best thing to do is compile the driver with -g and attach gdb to it so you can see what line it crashes at.

J
Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #25 on: May 03, 2007, 09:22:13 PM »

So far, I've disabled iconv support. Modified comm.c in the function add_message back to it's original form (bypassing the translation in general) and i'm still unable to connect via telnet to the MUD.

Unable to use gdb.
« Last Edit: May 03, 2007, 10:12:50 PM by boobay » Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #26 on: May 03, 2007, 10:13:43 PM »

Modified my last repsonse, heh.
Logged
wodan
BFF
***
Offline Offline

Posts: 245


View Profile
« Reply #27 on: May 03, 2007, 11:45:29 PM »

hmm, was going to post my patch so far, but it seems to be over the max message size!  Shocked

you can get it at http://wodan.servebeer.com/patch instead.
Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #28 on: May 04, 2007, 12:02:00 AM »

Thanks! Compiling now! Smiley
Logged
boobay
Acquaintance
*
Offline Offline

Posts: 41


View Profile
« Reply #29 on: May 04, 2007, 12:39:51 AM »

Here's a patch for my minor updates (Picky compiler) Tongue

Code:
diff -ur fluffos-2.7a/packages/contrib.c  fluffos-2.7a-B/packages/contrib.c
--- fluffos-2.7a/packages/contrib.c     Fri Apr 20 21:33:52 2007
+++ fluffos-2.7a-B/packages/contrib.c   Fri May  4 00:32:34 2007
@@ -2088,6 +2088,7 @@
   object_t *ob, *origin;
   char *name;
   int i;
+  int count=0;

   origin = current_object;

@@ -2128,7 +2129,7 @@
       apply (name, event_ob->u.ob, numparam + 1, ORIGIN_EFUN);

       /* And then call it on it's inventory... */
-      int count = 0;
+      //int count = 0;
       for (ob = event_ob->u.ob->contains; ob; ob = ob->next_inv){
        if (ob == origin)
          continue;
diff -ur fluffos-2.7a/packages/parser.c   fluffos-2.7a-B//packages/parser.c
--- fluffos-2.7a/packages/parser.c      Fri May  4 00:32:58 2007
+++ fluffos-2.7a-B//packages/parser.c   Fri May  4 00:32:34 2007
@@ -203,18 +203,22 @@

 #if defined(DEBUG) || defined(PARSE_DEBUG)
 /* Usage:  DEBUG_P(("foo: %s:%i", str, i)); */
-static void debug_parse(char *fmt, ...) {
+static void debug_parse (char *fmt, ...)
+{
     va_list args;
     char buf[2048];
     char *p = buf;
     int n = debug_parse_depth - 1;
+    //V_DCL(char *fmt);

     while (n--) {
         *p++ = ' ';
         *p++ = ' ';
     }

+    //V_START(args, fmt);
     va_start(args, fmt);
+    //V_VAR(char * fmt, args);
     vsprintf(p, fmt, args);
     va_end(args);
diff -ur fluffos-2.7a/lex.c      fluffos-2.7a-B//lex.c
--- fluffos-2.7a/lex.c  Sat Apr 21 11:17:42 2007
+++ fluffos-2.7a-B//lex.c       Fri May  4 00:32:34 2007
@@ -2105,6 +2105,7 @@
     char save_buf[80];
     int i;
     lpc_predef_t *tmpf;
+    long tmp;

     add_predefine("MUDOS", -1, "");
     get_version(save_buf);
@@ -2148,7 +2149,8 @@
     }
     sprintf(save_buf, "%d", sizeof(long));
     add_predefine("SIZEOFINT", -1, save_buf);
-    long tmp = (long)1<<31;
+    //long tmp = (long)1<<31;
+    //tmp = (long)1<<31;
     if(tmp > 0)
       tmp = (long)1<<63;
     sprintf(save_buf, "%ld", tmp-1);
diff -ur fluffos-2.7a/sprintf.c  fluffos-2.7a-B//sprintf.c
--- fluffos-2.7a/sprintf.c      Wed Aug 30 13:25:08 2006
+++ fluffos-2.7a-B//sprintf.c   Fri May  4 00:32:34 2007
@@ -1124,8 +1124,8 @@
                     } else {    /* not column or table */
                         if (pres && pres < slen)
                             slen = pres;
-                       const char *tmp = carg->u.string; //work around tcc bug;
-                        add_justified(tmp, slen, &pad, fs, finfo,
+                       //const char *tmp = carg->u.string; //work around tcc bug;
+                        add_justified(carg->u.string, slen, &pad, fs, finfo,
                                       (((format_str[fpos] != '\n') && (format_str[fpos] != '\0'))
                                        || ((finfo & INFO_ARRAY) && (nelemno < (argv + sprintf_state->cur_arg)->u.arr->size)))
                                       || carg->u.string[slen - 1] != '\n');
Logged
Pages: 1 [2] 3   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!