Re: EU Server

new topic     » goto parent     » topic index » view thread      » older message » newer message

Jeff Grandy wrote:
> So, you would need a EU version of PennMUSH
yes... an EUServer version, specifically...

> or a Windows version?
no...

> I know there are Windows ports for MUSH and MUX out there
yes...

these ports you speak of, are still C code.
all they did was alter the makefile to use a different
compiler, and adjust the .h files accordingly.

they then created an executable with that compiler to
run with win32 instead of unix/linux.

the code is still the *same* tho... it's in C.

being in C for linux/unix and being in C for windows doesn't
help anything. the code needs to be converted to EU.

let's look at this MU* code, firsthand, to see the difference
between these programs you speak of in their native tongue,
as ported to windows, and as it would be in EUServ, and what
would need to happen to take EnvyMUD and make it into EUMud.

this is an excerpt from act_wiz.c from EnvyMUD:

void do_echo( CHAR_DATA *ch, char *argument )
{   CHAR_DATA *rch;
    rch = get_char( ch );
    if ( !authorized( rch, gsn_echo ) )
        return;
    if ( argument[0] == '\0' )
    {   send_to_char( "Echo what?\n\r", ch );
        return;
    }
    strcat( argument, "\n\r" );
    send_to_all_char( argument );
    return;
}

kinda ugly... :)

to make this work with EUServ we need to *convert* this C code,
all hundreds of thousands of lines to something like:

global function do_echo(sequence user, sequence param)
   if not IsSysop(user,"echo") then return user end if
   if not length(param) then
        SendToUser(user,NEWLINE & "Syntax: echo <thistoallusers>")
        return user
   end if
   SendToAllUsers(user,Param2String(param))
   return user
end function

(side note: that is a ready to go do_func you can drop into
 sysopcmd.ew, adding the proper line in cmdlist.ew as you do so,
 i think :) i haven't _tested_ it...)

personally, i find this second form a little easier to read
and understand... :)

i also think that attempting to explain the first batch of code
to a 'newbie' and attempting to explain the second batch of code
to said 'newbie', would be a lot easier as well, for that 'newbie'
to begin helping you write new capabilities into EUMud.

to sum up:
the C code, no matter what OS it's ported to, is still C code.
it still needs to become EU code and more importantly, it needs
to become EUServer code, which you might say is an enhanced
script language for EU as relating to multiple user programming.

an automatic, "MU* written in C code" to "MU* written in EUServ code",
translator, would be.... hard :) too many tricks, too much subtley,
too much real human thought over each line is needed...

clear as opaque now, right? :)

--Hawke'

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu