29 Dec, 2008, quixadhal wrote in the 1st comment:
Votes: 0
Heh, wrong clock! This is actually 12/28/2008.

Hi there folks!

This is the last meeting of the year, and while not as much is done as I'd have liked, we did manage to wedge OLC into the old dog, and it's almost ready for checkin to svn.

First though, I'd like to get a little testing done, and you guys are welcome to wander in and try that. I've set the game so everyone who logs in is promoted to implementor, so feel free to break stuff and offer suggestions about how to keep stuff from being broken. :)

I already see that the new OLC commands need to be added to the list of things logged, since I care more about someone doing "asave world", than "restore all".

In any case, once this is all hashed out and we're happy with it being solid and working, I'll merge the changes into both branches (it's actually done to the ICE branch, since there's no C++ in here) and check it in.

Also, I noticed that OLC has already changed the file format, so changing it further shouldn't be an issue.

If you'd like to stop by, it's running at shadowlord.o.... If it breaks, you're also welcome to use WileyMUD as a place to rant. You can see if anyone is on by going to port 3001 first, if you like.

See you there, or see you next year!
29 Dec, 2008, ghasatta wrote in the 2nd comment:
Votes: 0
I never seem to be able to make it to the meetings, but I am still interested in helping if I can.

Is the svn repos available publicly? What about ticket tracking? I can't seem to find any mention of either in this forum.

Thanks :cyclops:
29 Dec, 2008, quixadhal wrote in the 3rd comment:
Votes: 0
No ticket tracking, although something along the lines of bugzilla (but that doesn't suck) wouldn't be a bad idea.

svn is available for public checkout… which reminds me, I really should clean up the file section. It's waaaay out of date.

Davion and I are hanging around talking about Dwarf Fortress at the moment, if you'd like to join us and make us do something productive, stop on in! :)
29 Dec, 2008, quixadhal wrote in the 4th comment:
Votes: 0
Here be a log file! Yar, it be not pretty, but it have the hair of the dog in it!

Welcome aboard Ghasatta!

Quote
20:02:04 # Davion has entered the game.
20:02:19 # Davion gossips 'Sweet'
20:02:22 # Davion gossips 'First inhabitant!'
20:02:24 # Davion gossips 'Score!'
20:02:24 #
20:22:53 # Quixadhal grins evilly.
20:22:53 #
20:22:56 # [60 Human IMP] Davion the Implementor
20:22:56 # [60 Dwarf IMP] Quixadhal the Implementor
20:22:56 # Players found: 2
20:22:56 #
20:23:21 # Davion flexes his muscles…what a stud!?!
20:23:21 #
20:23:42 # The Temple Of Mota
20:23:42 # You are in the southern end of the temple hall in the Temple of Mota.
20:23:42 # The temple has been constructed from giant marble blocks, eternal in
20:23:42 # appearance, and most of the walls are covered by ancient wall paintings
20:23:42 # picturing gods, giants and peasants.
20:23:42 # Large steps lead down through the grand temple gate, descending the huge
20:23:42 # mound upon which the temple is built and ends on the temple square below.
20:23:42 # Equally large steps lead UP through a small door into the ENTRANCE to MUD
20:23:42 # SCHOOL. (type 'up' to go to MUD SCHOOL.) A small plaque is on this wall.
20:23:42 # Davion the Implementor is here.
20:23:42 # Hassan is here, waiting to dispense some justice.
20:23:42 #
20:23:49 # Quixadhal says 'No having dest wars now… *grin*'
20:24:36 # Quixadhal says 'I wonder if mprogs are flexible enough to port my old mosquito code from Nightmare LpMUD…'
20:24:36 #
20:24:56 # Davion says 'Usually if you have to ask, then no :)'
20:25:02 # Davion says 'Mprogs aren't exactly robust'
20:25:02 #
20:25:35 # Quixadhal says 'I wrote some mosquitos that would self-replicate up to a point, and would wander around buzzing at people. They were tiny critters, with only 3 hp'
20:25:35 #
20:25:45 # Davion says 'lol'
20:25:45 #
20:26:02 # Quixadhal says 'but if they saw an immortal, they'd buzz loudly and on the third buzz, would suicide attack, disconnecting the immortal. :)'
20:26:02 #
20:26:19 # Davion says 'That's so evil…'
20:26:19 #
20:26:31 # Quixadhal says 'so, imms learned to type "dest mosquito" pretty quickly *grin*'
20:26:31 #
20:27:36 # Davion says 'I'd imagine so!'
20:27:42 # Davion says 'That's horrible to do to your staff ;)'
20:27:42 #
20:28:04 # Quixadhal says 'It did keep them from hanging around idle all the time. :)'
20:28:48 # Quixadhal says 'It was an LpMUD, so I was actually hoping one of them would rise to the challenge and code some mosquito repellent… *sigh*'
20:28:48 #
20:29:18 # Davion says 'Did anyone do it?'
20:29:18 #
20:29:36 # Quixadhal says 'Nope, not even when they saw that I had a bug zapper installed in my room.'
20:29:56 # Quixadhal says 'Of course, *I* wasn't going to let them pester me. :)'
20:29:56 #
20:30:05 # Davion says 'Naturally ;)'
20:30:16 # Davion sighs.
20:30:20 # Davion says 'Shipping takes to long :('
20:30:20 #
20:30:33 # Quixadhal smiles happily.
20:30:42 # Quixadhal says 'New toy?'
20:30:42 #
20:30:47 # Davion nods.
20:31:09 # Davion says 'Got a bunch of PC parts for xmas, and well, they wont do in my current rig, so I gotta get a whole new PC'
20:31:09 #
20:31:17 # Quixadhal says 'cool. I'm kindof hoping to find a few post-xmas bargins myself.'
20:31:17 #
20:31:46 # Davion says 'We got a store here called NCIX, they've been having a Boxing Week sale since the 24th'
20:31:46 #
20:31:53 # Quixadhal says 'I'm in the same boat. My PC is 5 years old and is pretty much maxxed out.'
20:31:53 #
20:32:03 # Davion says 'Uhh, well'
20:32:07 # Davion says 'My current rig is only a year old'
20:32:23 # Davion says 'But the MoBo is pretty shitty, and the PSU could handled my new gfx card'
20:32:23 #
20:32:35 # Quixadhal says 'Heh, try finding a modern video card for AGP!'
20:32:35 #
20:32:48 # Davion says 'No such thing!'
20:33:05 # Davion says 'You could probably get a geforce 7900 though'
20:33:05 #
20:33:25 # Quixadhal says 'Yeah, but it would cost me almost as much as a new mobo/cpu/memory combined.'
20:33:25 #
20:34:08 # Davion says 'Actually, best I could find was a 7600'
20:34:12 # Davion says 'But ya'
20:34:12 #
20:34:27 # Quixadhal says 'I'd like to get one of the dual core CPU's. My old P4 won't even run a VM of OSX because it lacks SSE3 support.'
20:34:27 #
20:34:30 # Davion says 'You could spend less money on a g88 series and get better performance'
20:34:40 # Davion says 'p4!?!?'
20:34:45 # Davion gasps in astonishment.
20:34:45 #
20:34:46 # Quixadhal says 'Right now, I have an evil ATI x1950'
20:35:09 # Quixadhal says '3Ghz P4, 3G of RAM.'
20:35:09 #
20:35:32 # Davion says 'Oh, 3ghz isn't bad'
20:35:32 #
20:35:49 # Quixadhal says 'Up until my hard drive died last month, I had still be running the original XP pro installation'
20:35:49 #
20:36:01 # Davion says 'My new rig is a phenom 9950, 8gb ram, geforce gtx280 SSC'
20:36:01 #
20:36:19 # Quixadhal says 'nice :)'
20:36:19 #
20:36:36 # Davion says 'PSU is a 750W… and that's just scraping over the minimum'
20:36:36 #
20:36:38 # LOG_BALANCE> Level 5 weapon "a wet noodle"(#8010), wielded by level 17 mob "a Futsie"(#8002)
20:36:38 #
20:37:04 # Quixadhal says 'How are the new gtx 10,000 series? I haven't paid attention since the 9x00 set fell off the top.'
20:37:04 #
20:37:18 # Davion says 'That the ATI cards?'
20:37:33 # Davion says 'Ohh'
20:37:40 # Davion says '10k. Right, over the g9 series'
20:37:52 # Davion says 'I dunno yet! Waiting for all the parts to ship in so I can test it'
20:38:06 # Davion says 'It came with FarCry 2 so I guess that's what I'll be tryin out first'
20:38:06 #
20:38:12 # Quixadhal says 'I assume the "gtx280" would have been the nvidia 10280, but that's too many digits to market.'
20:38:12 #
20:38:39 # LOG_BALANCE> Level 7 object "an elemental rod of earthquake"(#9217), owned by level 3 mob "a small rock"(#9217)
20:38:39 # LOG_BALANCE> Level 27 object "elemental wand of wind and air"(#9218), owned by level 13 mob "an alchemist"(#9234)
20:38:39 # LOG_BALANCE> Level 25 object "an ice staff"(#9216), owned by level 8 mob "a puddle"(#9214)
20:38:39 # LOG_BALANCE> Level 16 object "elemental wand of fire"(#9215), owned by level 4 mob "a flame"(#9215)
20:38:39 # LOG_BALANCE> Level 16 object "elemental wand of fire"(#9215), owned by level 4 mob "a flame"(#9215)
20:38:39 # LOG_BALANCE> Level 27 object "elemental wand of wind and air"(#9218), owned by level 4 mob "a small spark"(#9218)
20:38:39 # LOG_BALANCE> Level 27 object "elemental wand of wind and air"(#9218), owned by level 2 mob "an eddie"(#9225)
20:38:39 #
20:38:51 # Davion says 'Well, the two new ones in the series are 260 and 280, so I dunno what the numbers would be'
20:38:51 #
20:39:25 # Quixadhal says 'just curious how they compare to the 9800 and such.'
20:39:25 #
20:39:44 # Davion says 'Apparently, they're roughly the same, except when you get into higher resolutions'
20:40:45 # Davion says 'So at 2560x1600 you'll notice a difference'
20:40:45 #
20:40:55 # Quixadhal says 'I might see about getting a 9800 then.. I won't be getting a new monitor, and this one is 1400x1050.'
20:41:41 # Quixadhal says 'It was a step up form my old 19" CRT, which actually did 1600x1200, but was getting so dark I couldn't use it even with gamma correction.'
20:42:20 # Quixadhal says 'I don't play *new* games so much. Although Fallout 3 was a lot of fun.'
20:42:20 #
20:42:28 # Davion grins evilly.
20:42:39 # Davion says 'I have yet to play that one. Very tempted to pick it up'
20:42:44 # Davion is usually an RTS junky though
20:42:44 #
20:42:47 # Quixadhal says 'I may even have to reinstall that (I was getting through it, but then the drive died)'
20:42:59 # Quixadhal nods.
20:42:59 #
20:43:00 # Davion says 'But you can only march so many armies over your oponent in supreme commander before it gets boring'
20:43:00 #
20:43:35 # Quixadhal says 'My favorite is stil Age of Empires 2. AoE3 isn't bad, but didn't feel as balanced'
20:43:35 #
20:43:36 # Davion says 'And that's only when I game. 80% of my PC time is spent either working on MudBytes or chatting on IMC'
20:44:04 # Davion says 'I don't even think windows works on this PC anymore'
20:44:04 #
20:44:14 # Quixadhal says 'I was playing Everquest 2 quite a bit, but they recently started doing items for cash, and I lost interest.'
20:44:39 #
20:45:08 # Davion says 'Heh'
20:45:10 # Davion says 'Ya'
20:45:10 #
20:45:29 # Quixadhal says 'I believe I've reinstalled World of Warcraft, Spore, and Civilization IV so far, so that's what I play the most I guess.'
20:45:29 #
20:46:12 # Davion says 'You can run spore on your setup!?'
20:46:15 # Davion says 'That's amazing'
20:46:15 #
20:46:15 # Quixadhal says 'If you really like RTS games and want to try one that's both hard and retro… check out Dwarf Fortress.'
20:46:44 # Quixadhal says 'http://www.bay12games.com/dwarves/'
20:46:57 # Quixadhal says 'It's an ASCII real-time strategy game.'
20:47:23 # Quixadhal says 'brb, my cat is begging to go out into the cold rain/snow *rolls eyes*'
20:47:23 #
20:47:36 # Davion says 'lol'
20:47:51 # Davion says 'Afk a sec, got put some xmas decorations away'
20:47:51 #
20:53:36 # Quixadhal nods.
20:54:06 # Quixadhal says 'turns out the cat was "starving" more than wanting to go out. Uh huh.'
20:56:29 # Quixadhal says 'http://www.youtube.com/watch?v=koZUS2h-Y...'
20:57:53 # Quixadhal says 'wow, it's actually a 14 part tutorial!'
20:58:14 # Quixadhal says 'that's 2 hours… and might actually almost be enough to explain the game.'
20:58:14 #
21:00:35 # Davion says 'lol'
21:00:39 # Davion says 'Wow. That big, eh?'
21:00:50 # Davion says 'I'm looking at the screen shots right now… awesome'
21:00:53 # Davion says 'MUD in RTS!'
21:00:53 #
21:00:57 # Quixadhal says 'If you've ever played Nethack, this is the RTS equivalent of it.'
21:01:46 # Quixadhal says 'I tried playing it a while ago, and it is incredibly detailed. It has flowing water and magma.'
21:02:16 # Quixadhal says 'If you're trying to dig for minerals and one of your dwarves breaks into an underground river… it gets interesting.'
21:02:16 #
21:02:24 # Davion says 'lol'
21:02:24 #
21:05:27 # Quixadhal says 'neat… they have permalinks to playlists now.'
21:05:30 # Quixadhal says 'http://www.youtube.com/view_play_list?p=...'
21:05:30 #
21:06:43 # Davion says 'The resolution is baaaad. I can't even read the text'
21:06:43 #
21:07:03 # Quixadhal says 'yeah, he has a link in the playlist description to two higher quality ones.'
21:07:03 #
21:07:08 # Davion says 'Oh… so there is'
21:07:08 #
21:07:17 # Quixadhal says 'I was just wondering if I could find it to download or soemthing… it is pretty fuzzy.'
21:07:38 # Quixadhal says 'the higher quality youtube one isn't bad, a little fuzzy.'
21:08:17 # Quixadhal says 'the sound is much better too…. not as muffled.'
21:09:27 # Quixadhal says 'the gamevee one is just sitting ther buffering… I should check and see if my firewall is blocking them I guess.'
21:15:15 # Quixadhal says 'ghasatta had an interesting idea on the forums… what do people use for bug tracking these days?'
21:15:39 # Quixadhal says 'Back when I did open source stuff, it was bugzilla… which kindof sucked, but it was better than nothing.'
21:15:39 #
21:15:58 # Davion says 'I think they still use bugzilla'
21:15:58 #
21:16:42 # Quixadhal says 'It might be worth making an entry for the RaM project on some such site. Easier than trying to keep track of things by hand anyways.'
21:16:42 #
21:16:56 # Davion says 'There's a bug tracker on MudBytes'
21:16:56 #
21:17:12 # Quixadhal says 'Oh, that might work then. :)'
21:17:22 # Quixadhal says 'LSD – Learn Something Daily.'
21:17:22 #
21:17:44 # Davion says 'Anyone can report something, then, when you update a file that has reported bugs, you have the option of changing the status right in the update form'
21:17:44 #
21:19:37 # Quixadhal says 'Where's it at? I only learned about the pastebin a short while ago, and that one's at the top of the page :)'
21:19:37 #
21:20:04 # Davion says 'lol'
21:20:54 # Davion says 'Uhh'
21:21:56 # Davion says 'Bug Tracking isn't on for RaM'
21:22:11 # Davion says 'I enabled it for Ram 008'
21:22:24 # Davion says 'http://www.mudbytes.net/index.php?a=bugs...'
21:22:24 #
21:22:29 # Quixadhal says 'Well, that's good since I didn't know to even look for it. :)'
21:22:39 # Quixadhal says 'At least there won't be 500 reports piled up waiting.'
21:22:39 #
21:23:05 # Davion says 'lol'
21:23:05 #
21:23:52 # Quixadhal says 'That reminds me… I haven't done a tarball release in a while. It might be good to move many of those old versions into a subdirectory or something.'
21:23:52 #
21:24:45 # Davion says 'I can set the most current one as the featured codebase. 008 looks like the most up to date'
21:25:15 # Davion says 'There, check out RaM's directory now'
21:25:15 #
21:25:17 # Quixadhal says 'By date, that's be 016… and even that is two months old.'
21:25:17 #
21:25:37 # Davion says 'Oh… right'
21:25:37 #
21:26:08 # Quixadhal says 'I think 008 was the last one I release as just numerically higher, after that they were the SVN repository checkin numbers.'
21:26:47 # Quixadhal says 'which means if we did a tarball of the pre-OLC version, it's be 062!'
21:26:47 #
21:27:30 # Davion says 'lol'
21:27:30 #
21:30:37 # Quixadhal says 'Yeah, perhaps I should update that soon. :)'
21:31:28 # Quixadhal says 'So, this OLC is new to me… what's the easy way to get a list of rooms in a given area?'
21:31:47 # Affects will now be shown in score.
21:32:06 # Huh?
21:32:23 # Quixadhal says 'LOL, ok… show rooms does something different than I expected.'
21:32:48 # Quixadhal says 'I'm thinking "show" needs to be a little more clear about arguments.'
21:33:08 # No help on that word.
21:33:13 # Quixadhal says 'and have a help entry'
21:33:16 #
21:34:03 # Davion says 'alist I think'
21:34:09 # Davion says 'Oh'
21:34:11 # Davion says 'rlist'
21:34:11 #
21:34:25 # LOG_ERROR> Bad d->connected state 0
21:34:25 # LOG_AUTH> Closing link to Davion.
21:34:25 # Davion has lost his link.
21:34:41 # Davion has reconnected.
21:34:44 # Davion sits down and thinks deeply.
21:34:46 # Davion says 'Ok'
21:34:50 # Davion says 'Typing 'rlist' is bad ;)'
21:34:50 #
21:36:04 # Quixadhal cackles gleefully.
21:36:15 # Quixadhal says 'I take it you have to give it a zone number?'
21:36:30 # Quixadhal says 'rlist by itself doesn't seem to do anything for me.'
21:36:30 #
21:36:54 # Davion says 'Just be in the editor'
21:36:54 #
21:36:56 # Quixadhal says 'and I assume it doesn't use page_printf()'
21:36:56 #
21:37:07 # Davion says 'I doubt it'
21:37:07 #
21:37:12 # LOG_BALANCE> Level 27 object "elemental wand of wind and air"(#9218), owned by level 13 mob "an alchemist"(#9234)
21:37:12 # LOG_BALANCE> Level 16 object "elemental wand of fire"(#9215), owned by level 4 mob "a flame"(#9215)
21:37:12 #
21:37:21 # Quixadhal says 'oh… that's counter-intuitive.'
21:37:34 # Quixadhal says 'I have to edit something to see the list of thigns I might want to edit. Hmmm.'
21:37:39 #
21:37:45 # Huh?
21:37:45 # LOG_ERROR> Bad d->connected state 0
21:37:45 # % Connection to testram closed by foreign host.
21:37:53 # % Not connected.

OOPS!

% Trying to connect to testram: 127.0.0.1 2000.
% Connected to testram.

THIS IS A MUD BASED ON…..

ROM Version 2.4 beta

Original DikuMUD by Hans Staerfeldt, Katja Nyboe,
Tom Madsen, Michael Seifert, and Sebastian Hammer
Based on MERC 2.1 code by Hatchet, Furey, and Kahn
ROM 2.4 copyright © 1993-1998 Russ Taylor

By what name do you wish to be known? quixadhal
Password:

Reconnecting. Type replay to see missed tells.

Quixadhal says 'I think the functions should emit some feedback too.'
Quixadhal says 'since typing aedit by itself just gives you a prompt'
Quixadhal says 'Ok, well… that's a first set of bugs to look into.'
Quixadhal says 'I hand-patched the whole thing that kaervos sent me, so I'm sure I
missed a few things along the way.'

Davion chuckles politely.
Davion says 'Why did you hand patch it?!'

Quixadhal says 'Partly because some of the files had moved around since the version he
patched in against'

Davion says 'Ah'

Quixadhal says 'and partly because I wanted to go through and do my usual variable
assignments and such.'
Quixadhal says 'so I'd have to walk it anyways.'

Davion says 'I've meant to ask… why do you do something like 'char buf[MSL] =
'\0\0\0\0\0\0\0\0'?'

Quixadhal smiles happily.
Quixadhal says 'That makes sure the first 8 bytes are all zero, so if you try to use
*buf as a pointer and get it wrong via casting, it will be NULL instead of
a random number.'
Quixadhal says 'I used to only do 3 null bytes, but we have 64-bit CPU's now.'
Quixadhal says 'and apparently I need to safeguard what gets said in chat'
Quixadhal says 'since \0 gets expanded.'
Quixadhal says 'although maybe that's tinyfugue doing it.'

Davion says 'nod'
Davion nods.
Davion says 'There's no way people will maintain that.'
Quixadhal says 'Of course not. But what people do with it on their own is their call.'
Quixadhal says 'It also has the side-benefit of making it obvious what parts we
released, and what parts were added on later.'
Quixadhal smiles happily.

21:52:22 # Quixadhal says 'Hell, look at the argument over the line endings in that thread.'
21:52:22 #
21:52:45 # Davion says 'lol'
21:52:45 #
21:52:46 # Quixadhal says 'I fully expect the first addons will be back to LFCR again.'
21:52:46 #
21:53:07 # Davion chuckles politely.
21:53:11 # Davion says 'std::endl'
21:53:14 # Davion says 'Problem solve'
21:53:15 # Davion says 'd'
21:53:15 #
21:53:52 # Quixadhal says 'Only for streams, I fear.'
21:54:29 # Quixadhal says 'I can't imagine anyone being willing to do sprintf(foo, "blah %s%s", thing, std::endl);'
21:54:29 #
21:54:58 # Davion nods.
21:55:02 # Davion says 'FLUSH'
21:55:06 # Davion says 'Well'
21:55:06 #
21:55:12 # Quixadhal grins evilly.
21:55:12 #
21:55:20 # Davion says 'Can't you do something like sprintf(foo, "Blah" LINE_END);'
21:55:58 # Davion says 'I remember some MUD used colour codes something like that'
21:55:58 #
21:56:02 # Quixadhal says 'Yeah, but people are lazy. "Blahnr" is easier to type.'
21:56:02 #
21:56:14 # Davion says 'Damn people'
21:56:14 #
21:56:15 # Quixadhal says 'unless you're in tinyfugue and have to double your backslashes.'
21:56:30 # Quixadhal says 'AND your percent signs. AND your dollar signs.'
21:56:34 # Quixadhal cackles gleefully.
21:57:03 # Quixadhal says 'I see the wisdom of the old Pascal people now.'
21:57:03 #
21:57:17 # Quixadhal says 'they had print() and println() for output.'
21:57:17 #
21:57:24 # LOG_ERROR> EOF encountered on socket read
21:57:24 # LOG_AUTH> Closing link to Ghasatta.
21:57:24 #
21:57:34 # Quixadhal says 'println() did line output.'
21:57:34 #
21:57:36 # Davion gasps in astonishment.
21:57:52 # Davion says 'Heh'
21:57:53 #
21:57:55 # LOG_ERROR> Cannot find "rom basics" in the skill table!
21:57:55 # LOG_ERROR> Cannot find "warrior basics" in the skill table!
21:57:55 #
21:57:56 # LOG_ERROR> Cannot find "warrior default" in the skill table!
21:57:56 # LOG_ERROR> Cannot find "weaponsmaster" in the skill table!
21:57:56 #
21:58:01 # Ghasatta has entered the game.
21:58:10 # Ghasatta gossips 'Word up'
21:58:10 #
21:58:10 # Davion bows deeply.
21:58:10 #
21:58:13 # Ghasatta gallantly tips his hat.
21:58:13 #
21:58:14 # Quixadhal says 'I still wonder why it tries to look up the skill groups when loading skills.'
21:58:24 # Quixadhal claps your hands together.
21:58:24 #
21:58:33 # Ghasatta says 'how's it going?'
21:58:33 #
21:58:59 # Quixadhal says 'not bad, although my cat is trying to eat something that's not food again.'
21:58:59 #
21:59:23 # Ghasatta says 'my cat only eats cheeseburgers'
22:00:54 # Ghasatta says 'just saw your post over on mudbytes so I thought I would drop in and say hi'
22:00:54 #
22:02:02 # Davion says 'Hi!'
22:02:02 #
22:02:21 # Ghasatta says 'hello!'
22:02:38 # Ghasatta says 'so, do you get many people attending your weekly meetings?'
22:02:38 #
22:03:47 # Davion says 'Not recently no'
22:03:52 # Davion says 'In the beginning there were many'
22:03:52 #
22:04:06 # Ghasatta nods.
22:04:21 # Ghasatta says 'I get the impression that there are just a few strong people doing most of the work right now'
22:04:21 #
22:04:32 # Davion points at you. How rude!
22:04:34 # Davion nods.
22:04:34 #
22:04:34 # Ghasatta says 'I keep meaning to attend but the timing just doesn't work for me'
22:04:34 #
22:04:41 # Davion says 'I hear ya'
22:04:41 #
22:04:45 # Quixadhal says 'Ah, had to take away a pork rib bone from her… it was small enough she could swallow it.'
22:04:45 #
22:05:08 # Ghasatta says 'reminds me of a dog I used to have'
22:05:18 # Ghasatta says 'would always eat any bone you gave him into oblivion'
22:05:28 # Ghasatta says 'and then puke it back up'
22:05:40 # Ghasatta says 'he was a snob though so at least he didn't lap up the puke again'
22:05:40 #
22:05:47 # Quixadhal says 'Yep, we're making progress slowly, so most people don't have the patience to stick around and listen to us ramble. :)'
22:05:47 #
22:05:53 # Ghasatta nods.
22:05:53 #
22:05:55 # Quixadhal grins evilly.
22:05:55 #
22:06:12 # Ghasatta says 'I've been working on my own custom codebase for…6+ years'
22:06:17 # Ghasatta says 'it's not ready yet ;)'
22:06:17 #
22:06:22 # Quixadhal cackles gleefully.
22:06:22 #
22:06:23 # Davion says 'lol'
22:06:25 # Davion says 'They never are ;)'
22:06:25 #
22:06:37 # Quixadhal says 'That's the problem… you never adequately define "ready" when you start.'
22:06:37 #
22:06:48 # Ghasatta says 'true'
22:06:59 # Ghasatta says 'so what's the story with the C and C++ branches? How is that working out for you guys?'
22:06:59 #
22:07:06 # Quixadhal says 'I finally released WileyMUD when I realized I'd stopped working on it AND didn't have any regular players anymore.'
22:07:56 # Quixadhal says 'We started out from plain old ROM, and decided to try and fix bugs and slowly add in "basic" features like OLC and color.. .so all that's in C.'
22:07:56 #
22:08:02 # Davion plants his palm right in his face.
22:08:02 #
22:08:20 # Quixadhal says 'Some people were very very resistant to the idea of moving away from C AT ALL'
22:08:20 #
22:08:36 # Davion says 'I was just trying to organize an array by keys, and was using asort and getting mind boggling results to the effect of (WHY IS 2 before 1?!)'
22:08:42 # Davion says 'Turns out ksort sorts by key :S'
22:08:42 #
22:08:42 # Quixadhal says 'so we figured we'd just make a C branch for the luddites to enjoy and a C++ branch for the rest of us.'
22:08:42 #
22:08:50 # Ghasatta chuckles politely.
22:09:20 # Ghasatta says 'I see'
22:09:20 #
22:09:22 # Quixadhal says 'as it happens, the luddites seem to have vanished, but even though I split branches, the OLC stuff is still all C based'
22:09:22 #
22:09:27 # Ghasatta nods.
22:09:27 #
22:09:30 # Quixadhal says 'so I'm applying it to both sides'
22:09:44 # Quixadhal says 'although I'm still debugging so it's not checked in yet.'
22:09:44 #
22:09:45 # Ghasatta says 'have you thought about what you will do for future enhancements?'
22:09:45 #
22:09:52 # Davion says 'Really, the C++ branch shouldn't have started till we reached a point where we stopped adding C code :S'
22:09:52 #
22:10:20 # Quixadhal says 'Correct. I hadn't actually planned to use any kind of pre-written OLC'
22:10:20 #
22:10:39 # Ghasatta says 'well if your goal is just to clean it up then it shouldn't be too hard to have two branches'
22:10:52 # Ghasatta says 'but you really need to make some choices about what style to use when creating new features'
22:10:52 #
22:10:58 # Quixadhal says 'I was thinking we'd write an OLC that worked like Ivan's IN C++, but someone else beat me to finding and getting one in.'
22:10:58 #
22:11:13 # Ghasatta says 'bastards'
22:11:13 #
22:11:16 # Quixadhal grins evilly.
22:11:16 #
22:11:17 # Davion says 'You could always not add it to the C++ branch'
22:11:17 #
22:11:38 # Quixadhal says 'I could… but it's about the same amount of work I suspect.'
22:11:56 # Quixadhal says 'I plan to redo the list code so it uses std::map or multimap as appropriate'
22:11:56 #
22:12:02 # Davion nods.
22:12:02 #
22:12:21 # Quixadhal says 'so things like room[vnum] just work.'
22:12:21 #
22:12:21 # Ghasatta says 'yeah that's what I did with object values'
22:12:29 # Ghasatta says 'they are all key/value pairs'
22:12:29 #
22:12:53 # Quixadhal says 'I also want to seperate mob/obj prototypes from instances.'
22:12:53 #
22:13:01 # Ghasatta says 'yeah I did that too'
22:13:01 #
22:13:10 # Quixadhal says 'so we have a std::map for the prototypes, and a std::multimap for the instances.'
22:13:10 #
22:13:14 # Ghasatta says 'sorry sounding like a broken record here'
22:13:14 #
22:13:18 # Quixadhal grins evilly.
22:13:18 #
22:13:19 # Davion grins evilly.
22:13:19 #
22:13:26 # Ghasatta says 'so you want to really expand beyond just fixing up rom eh'
22:13:26 #
22:13:59 # Davion says 'It's a good project for those who don't intend to ever be 'complete' ;)'
22:13:59 #
22:14:03 # Quixadhal says 'If we had the time/energy, I'd be horribly tempted to rewrite ROM in ruby/python/etc entirely.'
22:14:18 # Quixadhal says 'I mean, make a fully ROM compatible mud that isn't even C at all.'
22:14:18 #
22:14:31 # Ghasatta nods.
22:14:41 # Ghasatta says 'lots of rom horrifies me'
22:14:41 #
22:14:45 # Quixadhal says 'There IS a project I'm keeping an eye on over at lpmuds.net'
22:15:06 # Quixadhal says 'Someone there is finally trying to port DikuMUD alpha to MudOS as a mudlib.'
22:15:06 #
22:15:40 # Davion chuckles politely.
22:15:40 #
22:15:50 # Quixadhal says 'It's a good thing there are no young kids around to hear what I said when I saw the find_random_room() function.'
22:15:50 #
22:16:05 # Davion says 'Your poor cats :S'
22:16:05 #
22:16:12 # Quixadhal grins evilly.
22:16:12 #
22:16:13 # Ghasatta says 'well what are the next projects on the list?'
22:16:13 #
22:16:54 # Quixadhal says 'first up is fixing the OLC stuff so it actually works.'
22:16:54 #
22:17:10 # Ghasatta nods.
22:17:10 #
22:17:23 # Quixadhal says 'it worked enough to do an "asave all", but aedit does bad things.'
22:17:23 #
22:17:32 # LOG_ERROR> Bad d->connected state 0
22:17:32 # LOG_AUTH> Closing link to Davion.
22:17:32 # Davion has lost his link.
22:17:32 #
22:17:33 # Quixadhal says 'actually, pretty much all the submodes probably do.'
22:17:40 # Quixadhal says 'like that.'
22:17:40 #
22:17:53 # LOG_AUTH> Loading Davion.
22:17:53 # LOG_ERROR> Cannot find "beguiling" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "combat" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "detection" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "enhancement" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "illusion" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "maladictions" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "protective" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "transportation" in the skill table!
22:17:53 # LOG_ERROR> Cannot find "weather" in the skill table!
22:17:53 # Ghasatta says 'what kind of bad things?'
22:17:53 #
22:17:54 # Davion has reconnected.
22:17:58 # Davion says 'Yes, yes it does'
22:17:58 #
22:18:28 # Quixadhal cackles gleefully.
22:18:54 # Quixadhal says 'then adding color'
22:18:54 #
22:19:14 # Ghasatta says 'on c or c++ branch?'
22:19:14 #
22:19:38 # Quixadhal says 'I wrote a chunk of the color code that's in SmaugFUSS now, so I may try to merge that with Lope's API (as it were)'
22:20:15 # Quixadhal says 'those are for both, since they're just C code.'
22:20:35 # Quixadhal says 'the big C++ thing is to convert 99% of the char strings to std::string'
22:20:52 # Quixadhal says 'and then convert the lists and such.'
22:20:52 #
22:21:12 # Ghasatta says 'I would be interested in helping out on some c++ stuff'
22:21:26 # Ghasatta says 'not so much on porting old snippets, but if it's needed I can help with that too'
22:21:26 #
22:21:37 # Quixadhal nods.
22:22:04 # Quixadhal says 'Our main goal is to try and provide lots of tools for building, without really changing the gameplay.'
22:22:04 #
22:22:26 # Ghasatta says 'well I'm happy to help out'
22:22:38 # Ghasatta says 'my little side project atm is writing a C++ client for IMC2'
22:22:47 # Ghasatta says 'maybe that will be helpful too'
22:22:47 #
22:23:28 # Quixadhal says 'I'm sure that IMC would be a good addition. I'm still figuring out the psuedo-channels they have in ROM.'
22:23:28 #
22:23:36 # Ghasatta nods.
22:23:36 #
22:23:37 # Quixadhal says 'they aren't *really* channels at all'
22:24:03 # Quixadhal says 'Ideally, I'd like to make everything that goes to the user go through a channel of some kind.'
22:24:25 # Quixadhal says 'that way, if you're using a smart client, you can reroute anything to a seperate window as you like…. and if not, it still shows up normally.'
22:24:25 #
22:24:35 # Ghasatta says 'yep that would be cool'
22:24:48 # Ghasatta says 'basically what you are talking about it standardizing the output packets'
22:24:57 # Ghasatta says 'people have tried that before'
22:25:00 # Ghasatta says 'ala mxp '
22:25:00 #
22:25:19 # Quixadhal says 'the problem is, it has to be at a code API level or it won't be consistent.'
22:25:19 #
22:25:47 # Ghasatta nods.
22:25:47 #
22:26:18 # Quixadhal says 'In other words, when you walk into a room, you get a room name, description, list of contents, list of exits, etc… those should all have their own channels – but by default they just pass through to send_to_char or equivalent.'
22:26:50 # Quixadhal says 'if you have MXP set, the room description output channel just adds the appropriate tags for MXP to know it's a room.'
22:27:09 # Quixadhal says 'or perhaps just a color tag if you have ANSI enabled, but not MXP.'
22:27:09 #
22:27:22 # Ghasatta says 'sounds very OOP ;)'
22:27:22 #
22:27:36 # Davion says 'I think I released a snippet that has a new-style channels for ROM'
22:27:36 #
22:28:13 # Quixadhal says 'that sounds good. I'll definately look around for that one then.'
22:29:22 # Quixadhal says 'I worked on a OOP perl system for a few years, and making database tables seem like plain old mappings was pretty handy.'
22:29:22 #
22:29:41 # Ghasatta nods.
22:29:59 # Ghasatta says 'well, how can I help out for now guys?'
22:29:59 #
22:30:08 # Quixadhal says 'Moving away from functions like ch_printf() towards ch->printf() or room->printf() is a good thing too.'
22:30:57 # Quixadhal says 'I guess that depends on how messy you want to get. *grin*'
22:30:57 #
22:31:20 # Ghasatta says 'well given that I am 'wet behind the ears' atm'
22:31:20 #
22:31:23 # Quixadhal says 'The big sticking point right now is that these last few changes touch almost everything in the codebase, so they're hard to split up.'
22:31:23 #
22:31:35 # Ghasatta says 'I would want to do something that doesnt depend heavily on my knowledge of your coding conventions '
22:31:42 # Ghasatta says 'so something a little standalone I guess'
22:31:50 # Ghasatta says 'to start, and make sure I am on the right track'
22:32:09 # Ghasatta says 'if that's not possible, just give me whatever needs to be done atm'
22:32:09 #
22:32:32 # Quixadhal says 'On the C++ side, the first order of business is the std::string conversion. It's big and ugly, but probably not all that hard. Just tedius.'
22:32:32 #
22:32:47 # Ghasatta shivers uncomfortably.
22:32:50 # Ghasatta says 'ok then'
22:32:50 #
22:32:51 # Quixadhal grins evilly.
22:32:51 #
22:33:00 # Ghasatta says 'probably will need to break that up'
22:33:00 #
22:33:18 # Quixadhal says 'You could wait for me to finish the OLC merge… or we can convert the OLC stuff after the fact.'
22:33:18 #
22:33:30 # Quixadhal smiles happily.
22:33:45 # Quixadhal says 'I'm trying to think of other thigns that don't depend on that… :)'
22:33:45 #
22:33:47 # Ghasatta says 'well are there files that I can start with that are not dependent?'
22:33:47 #
22:34:11 # Quixadhal says 'If you like documentation, there are still commands and such that have no help files at all.'
22:35:01 # Quixadhal says 'if you have some ideas you want to play around with, we can also just give you a svn branch to work on.'
22:35:24 # Quixadhal says 'just be aware that merging it back in is a pain, especialy if you don't constantly merge FROM the main branch back into yours.'
22:35:24 #
22:35:38 # Ghasatta says 'well I want to start small'
22:35:52 # Ghasatta says 'so I can bite off some of those std::string changes'
22:35:55 # Ghasatta says 'just to start'
22:36:04 # Ghasatta says 'if you want to tell me which files to work on first :)'
22:36:04 #
22:36:47 # Davion says 'Instead of a file, you should pick a struct to convert'
22:36:54 # Davion says 'So pick a small one like, ban, or something'
22:36:54 #
22:36:56 # Ghasatta says 'gotcha'
22:37:04 # Ghasatta says 'ok, I need to look at the repos then'
22:37:04 #
22:37:05 # Quixadhal says 'that's the joys of Diku… everything is intertwined. :)'
22:37:05 #
22:37:15 # Ghasatta says 'how can I get read access to it?'
22:37:15 #
22:37:25 # Quixadhal says 'yes, that's probably the best way… start with bans or something and work outward.'
22:37:25 #
22:37:28 # Ghasatta nods.
22:38:06 # Ghasatta says 'I see what you mean now'
22:38:06 #
22:38:14 # Quixadhal says 'I believe you can just make a local directory somewhere and do "svn co http://sulinea.arthmoor.com/ram"'
22:38:14 #
22:38:16 # Ghasatta says 'will probably overlap the olc changes'
22:38:16 #
22:38:36 # Quixadhal says 'You'll need a somewhat recent version of SVN.'
22:38:36 #
22:38:52 # Quixadhal says 'God help you if you're in Windows…. *grin*'
22:38:52 #
22:39:08 # Ghasatta says 'nope, mac os X'
22:39:13 # Ghasatta flexes his muscles…what a stud!?!
22:39:13 #
22:39:15 # Davion gasps in astonishment.
22:39:18 # Davion says 'They do exist!'
22:39:18 #
22:39:19 # Quixadhal says 'oooo, you can test compling it for us!'
22:39:19 #
22:39:25 # Ghasatta says 'yep, that will be task one'
22:39:33 # Ghasatta says 'dl'ing now'
22:40:20 # Ghasatta says 'well one of my motivations for helping out is that my own project feels a bit…lonely'
22:40:25 # Ghasatta says 'I had some partners who are mia'
22:40:34 # Ghasatta says 'so I want to do something that people will get some benefit from'
22:40:40 # Ghasatta says 'and also to work with other people'
22:41:06 # Ghasatta says 'so I imagine there will be some of my existing code that can be repurposed'
22:41:06 #
22:41:10 # Quixadhal says 'This will get easier as we move along. Once those big sweeping infrastructure thigns are done, it will be MUCH easier to assign parts to people.'
22:41:10 #
22:41:14 # Ghasatta says 'as new items come up'
22:41:14 #
22:41:39 # Quixadhal nods.
22:41:39 #
22:41:51 # Quixadhal says 'I have a few bits from my old codebase that might prove useful as well'
22:41:51 #
22:42:12 # Ghasatta says 'which is Fire and which is Ice?'
22:42:12 #
22:42:13 # Quixadhal says 'Like the who port (telnet to port 3001 and it dumps a who list and disconnects you).'
22:42:13 #
22:42:27 # Davion says 'Fire == C++, Ice == C'
22:42:27 #
22:42:37 # Ghasatta nods.
22:42:37 #
22:42:45 # Quixadhal says 'check the welcome message *grin*.. but Ice is the frozen development one. :)'
22:43:16 # Quixadhal says 'You may also want to peruse the HACKLOG entires.'
22:43:23 # Quixadhal says 'at the very least, they may be amusing.'
22:44:03 # Quixadhal says 'they were very detailed at the top, as I was figuring out what the compiler was whining about.'
22:44:03 #
22:44:17 # Ghasatta says 'hehe'
22:44:28 # Ghasatta says 'so would you guys be opposed if I moved structures into their own header files?'
22:44:28 #
22:44:30 # Quixadhal says 'they also try to explain why I moved things around.'
22:44:30 #
22:44:43 # Ghasatta says 'I hate the monolithic merc.h '
22:44:43 #
22:45:26 # Quixadhal says 'I've started doing that already, but you'll find many things that really do have to be included by almost everything.'
22:45:53 # Quixadhal says 'I haven't gone by structure, but by file. So things defined in db.c get exported via db.h – for example.'
22:45:53 #
22:46:12 # Ghasatta nods.
22:46:12 #
22:46:34 # Quixadhal says 'I know C++ people like to try and almost have each file be its own object… a bit overkill, but somewhere in between is good.'
22:47:28 # Quixadhal says 'I am, BTW, and old C warhorse – so my C++ knowledge is mostly derived from my C experience and my OO experience in other languages.'
22:47:28 #
22:47:36 # Ghasatta nods.
22:47:36 #
22:48:05 # Quixadhal says 'I do have the nice fat STL book on my desk though *grin*'
22:48:05 #
22:48:21 # Ghasatta says 'hehe'
22:48:31 # Ghasatta says 'well if I am gong to be around for a while, get used to seeing lots of stl'
22:48:31 #
22:48:35 # Davion says 'Well, STL is only part of C++'
22:48:35 #
22:48:48 # Ghasatta says 'I also like to use boost, but that is a little more controversial with some folks'
22:48:48 #
22:48:57 # Quixadhal says 'Of course, but it's the most visible part.'
22:48:57 #
22:49:01 # Davion says 'Only until they get added to the standard'
22:49:19 # Davion is a huge fan of boost::python
22:49:19 #
22:49:27 # Quixadhal says 'Exception handling is good too, but much of that would require pretty heavy redesign to work for ROM.'
22:49:46 # Quixadhal says 'boost FOR python, or boost that embeds python?'
22:49:46 #
22:49:58 # Davion says 'Boost that embeds python into a c++ app'
22:50:09 # Davion says 'Its like… 200x simpler than the python c api'
22:50:09 #
22:50:13 # Quixadhal says 'embedding would be fun.'
22:50:13 #
22:50:41 # Davion says 'I probably have a rom mud with a limited style of python embedding lying around'
22:50:41 #
22:50:47 # Quixadhal says 'In the future(TM), using an embedded language for scripting and having an mprog module that did translations would be the way to go.'
22:51:14 # Quixadhal says 'IE: write an mprog, have it converted by the backend to python code that actualy runs'
22:51:36 # Quixadhal says 'for those builders who refuse to learn python, or legacy mprog areas'
22:51:36 #
22:52:17 # Ghasatta says 'my compiler doesn't like stderr = freopen( logfile, "a", stderr );"'
22:52:17 #
22:52:32 # Quixadhal says 'The big thing is the window you define to let python and the driver talk to each other. Too big, and a single python script can crash the game… too small, and the script can't get to anything.'
22:52:51 # Quixadhal says 'freopen() might be in another library for BSD.'
22:52:51 #
22:53:05 # Ghasatta says 'comm.c:243: error: invalid lvalue in assignment'
22:53:05 #
22:53:33 # Quixadhal says 'hmmm.. .so BSD makes stderr something interesting.'
22:53:33 #
22:53:34 # Ghasatta sits down and thinks deeply.
22:53:34 #
22:53:54 # Davion says 'With boost::python exceptions are thrown when a script botches.'
22:54:04 # Davion says 'And python itself prevents infinite loops with max-iterations'
22:54:11 # Davion says 'So it's fairly safe to run in-game'
22:54:11 #
22:54:24 # Quixadhal says 'stderr is probably a plain file descripter'
22:54:32 # Quixadhal says 'as opposed to a FILE * strucutre'
22:54:51 # Quixadhal says 'that's only in the "-l" flag in comm.c, right?'
22:55:16 # Quixadhal says 'it's not so much a script botching, as a script messing with data it shouldn't have access to.'
22:55:16 #
22:55:30 # Davion says 'You set that up when exposing python'
22:55:30 #
22:55:54 # Ghasatta says 'yeah has to do with redirecting log messages'
22:55:54 #
22:56:00 # Ghasatta says 'actually it might just be a missing header'
22:56:16 #
22:56:30 # Quixadhal says 'right, but it's hard to define that window without passing in everything.'
22:56:30 #
22:56:42 # Davion says 'class_<CHAR_DATA>("char_data").def_readonly("name", &CHAR_DATA::name)'
22:56:42 #
22:57:36 # Quixadhal says 'consider a spell-like effect that damages you for 10% of the current hit points of everyone in your group. It shouldn't have write access to every player, but it needs read access to them all.'
22:58:03 # Quixadhal says 'or an earthquake event from a trap… it might need write access to the surrounding rooms.'
22:58:03 #
22:58:38 # Davion says 'Well, that's just from the script side of things. You can expose functions directly to python from within your app'
22:58:38 #
22:58:49 # Quixadhal says 'of course, you can write C functions for the python script to call, but that means you can't extend it easily at run time.'
22:58:49 #
22:58:57 # Davion nods.
22:58:57 #
22:59:23 # Quixadhal says 'not saying it isn't a great thing, just that it's a bit tricky to know where the lines get drawn.'
23:00:03 # Quixadhal says 'I'd be happy with python, ruby, or lua… just not perl…. toooo messy. :)'
23:01:11 # Quixadhal says 'Thinking back a bit… you play Spore, Davion?'
23:01:11 #
23:01:17 # Davion shakes his head.
23:01:26 # Davion says 'Never got around to it'
23:01:26 #
23:01:36 # Quixadhal nods.
23:01:36 #
23:01:44 # Davion says 'It was one of those games that I was very concerned bout doing nothing but playing and forgetting life.'
23:01:44 #
23:02:04 # Quixadhal says 'I try to add spore people to my list so I get their creatures imported when I play. :)'
23:02:04 #
23:02:05 # Davion says '#1 reason I never tried WoW'
23:02:05 #
23:02:50 # Quixadhal says 'Spore is very absorbing through the space stage, after that it is easier to put down and pick back up again.'
23:03:15 # Quixadhal says 'however, you CAN spend a lot of time customizing buildings and such.. so be warned there.'
23:04:11 # Quixadhal says 'It was pretty amazing the first time, in the creature stage, I had to run from a UFO that was trying to abduct me.'
23:04:11 #
23:04:27 # Davion grins evilly.
23:04:27 #
23:08:19 # Ghasatta says 'heh'
23:08:28 # Ghasatta says 'I don't think your stderr redirect is compatible with bsd'
23:08:34 # Ghasatta says 'not to disrupt your convo ;)'
23:08:34 #
23:08:43 # Quixadhal grins evilly.
23:08:43 #
23:08:46 # Ghasatta says 'stderr is actually one in an array of FILE handles'
23:09:14 # Ghasatta says 'I'm going to just carve it out for mac os x for now and come back to it later'
23:09:14 #
23:09:27 # Quixadhal says 'that's fine. I expect a few thigns to be different'
23:09:39 # Quixadhal says 'I'd just stick #if 0/#endif around it for now'
23:09:59 # Quixadhal says 'If we find a BSD compatible way to do it, we can address it later.'
23:09:59 #
23:10:33 # Ghasatta nods.
23:10:33 #
23:10:35 # Quixadhal says 'That's mostly an addon I did from my old mud anyways… I ran it via an /etc/init.d script and wanted to shunt the output.'
23:10:35 #
23:10:38 # Ghasatta says 'well'
23:10:43 # Ghasatta says 'I think the best thing to do'
23:10:50 # Ghasatta says 'would be to use std::cerr'
23:10:50 #
23:10:52 # Quixadhal says 'obviously, 2>/foo.log would work too.'
23:10:52 #
23:10:54 # Ghasatta says 'but I digress'
23:10:54 #
23:11:08 # Quixadhal says 'sure, but not in the Ice branch *grin*'
23:11:08 #
23:11:54 # Ghasatta says 'well it would give them a wakeup'
23:11:56 # Ghasatta coughs loudly.
23:11:56 #
23:12:34 # Quixadhal says 'the -g flag and the -d flags are the only ones I really care about… the others were convenient because they were there. :)'
23:13:50 # Quixadhal says 'If you do come up with changes for the OSX architecure, I'll be interested to see if they're general BSD changes, or specific to OSX. I have an OpenBSD machine (my firewall), but it's a little old.'
23:14:19 # Quixadhal says 'gcc 2.95.3 *grin*'
23:14:49 # Quixadhal says '-bash-2.05b$ gcc -v'
23:14:57 # Quixadhal says 'Reading specs from /usr/lib/gcc-lib/i386-unknown-openbsd3.3/2.95.3/specs'
23:15:05 # Quixadhal says 'gcc version 2.95.3 20010125 (prerelease, propolice)'
23:15:05 #
23:16:28 # Ghasatta says 'well it compiled with a few minor alterations'
23:16:33 # Ghasatta says 'aside from what I just mentioned'
23:16:39 # Ghasatta says 'basically header file stuff'
23:16:39 #
23:16:50 # Quixadhal says 'cool'
23:17:24 # Quixadhal says 'I was hoping that would be the case. I stripped out all the ancient cruft for pre-osx macs, vax/vms, msdos, and other dinosaurs.'
23:17:45 # Quixadhal says 'Oh, are you a 32-bit or 64-bit cpu?'
23:18:14 #
23:18:15 # [60 Human IMP] Davion the Implementor
23:18:15 # [60 Human IMP] Ghasatta the Implementor
23:18:15 # [60 Dwarf IMP] Quixadhal the Implementor
23:18:15 #
23:18:15 # Players found: 3
23:18:15 #
23:18:41 # Quixadhal says 'Davion was kind enough to let me test-compile on his 64-bit platform, but I'm still in 32-bit land and don't always remember to try it there.'
23:18:56 # Quixadhal says 'Having another pair of eyes to watch for those kind of errors is a plus. :)'
23:18:56 #
23:19:05 # Ghasatta says '32'
23:19:26 # Ghasatta says 'intel core 2 duo'
23:19:26 #
23:19:41 # Quixadhal says 'If you compare against stock ROM, you'll see I also did away with just about all the short/long intgers and tried to replace everything with plain ints.'
23:19:41 #
23:19:51 # Ghasatta says 'my other mac is powerpc, it takes a little bit more effort to port'
23:19:57 # Ghasatta nods.
23:19:57 #
23:20:06 # Quixadhal says 'but there are a few places that needed special care for the number of bits.'
23:20:43 # Quixadhal says 'They make 32-bit core 2 duo's? Hmmm, I though they were all 64-bit. I'll have to be careful when shopping!'
23:20:43 #
23:21:12 # Ghasatta says 'err'
23:21:15 # Ghasatta says 'uhh'
23:21:17 # Ghasatta says 'hrm'
23:21:43 # Ghasatta says 'well maybe I am 64 bit :P'
23:21:43 #
23:21:58 # Quixadhal says 'I hate vista, but I'm sure at some point, some game I want to play will require it and I'll be forced to use it. I hear the 64-bit version is almost as fast as the 32-bit XP. :)'
23:21:58 #
23:22:59 # Ghasatta says 'guess I am running 64 bit after all'
23:23:28 # Ghasatta says 'I was confused because my macbook pro has a max ram limit of 3gb'
23:23:28 #
23:23:39 # Quixadhal says 'I dunno if uname -a would tell you. I'm sure /proc/cpu doesn't exist in OSX.'
23:23:39 #
23:24:19 # Ghasatta leaves north.
23:24:20 # Ghasatta has arrived.
23:24:21 # Ghasatta says 'oops'
23:24:22 # Ghasatta nods.
23:24:22 #
23:24:37 # Quixadhal says 'my server (where the muds run) is a P3 900MHz running debian linux.'
23:26:03 # Quixadhal says 'I did that too earlier… forgot to hit tick.'
23:26:33 # Quixadhal says 'I wonder… maybe a chat command that switched your interpreter so it defaults to "say" would be handy.'
23:26:33 #
23:26:53 # Ghasatta says 'yeah I love the idea of stacked interpreters'
23:26:57 # Ghasatta says 'that's how I implemented olc'
23:27:06 # Ghasatta says 'and also staff commands'
23:27:12 # Ghasatta says 'they are totally separate interpreters'
23:27:18 # Ghasatta says 'and can even parse input differently'
23:30:52 # Ghasatta says 'alright d00ds, how do oyu want me to submit my changes? Patch?'
23:30:52 #
23:31:10 # Quixadhal grins evilly.
23:32:14 # Quixadhal says 'a patch is fine, just upload it to the RaM file section and call it soemthing clever like "OS X compat" or soemthing… or PM it to me, whatever works.'
23:32:39 # Quixadhal says 'unless you meant the std::string conversion, of course… tha tmight be a little bigger.'
23:32:42 # Quixadhal grins evilly.
23:32:42 #
23:33:05 # Ghasatta says 'both'
23:33:05 #
23:34:07 # Quixadhal says 'if you upload that one as a file, you'll probably want to spell out what all it touches.'
23:34:33 # Quixadhal says 'Just so we don't go to apply it and realize it changes 59/60 files or something. :)'
23:34:33 #
23:34:58 # Ghasatta nods.
23:34:58 #
23:35:25 # Quixadhal says 'I'm hoping to have this OLC stuff fixed up tomorrow or the next day, and get that checked in.'
23:36:14 # Quixadhal says 'It looks like the first bug found is at least in one spot, how easy it will be to fix I'll wait until I look at the code again, to say.'
23:37:53 # Quixadhal says 'I'm also thinking it's probably about time to call it a meeting. Hey, people showed up, and I didn't have to kill anyone! :)'
23:38:17 # Quixadhal says 'Although… I might just port over my berserker axe special proc….'
23:38:17 #
23:39:03 # Ghasatta snickers softly.
23:39:12 # Ghasatta says 'ok well I am uploading my patches now'
23:39:22 # Ghasatta says 'you guys can look it over and let me know if I am on the right track'
23:39:22 #
23:39:49 # Quixadhal says 'cool!'
23:40:34 # Quixadhal says 'and if we haven't said it yet up there somewhere, welcome aboard!'
23:40:34 #
23:41:00 # Ghasatta bows deeply.
23:41:00 #
23:41:23 # Quixadhal says 'I'd give you a beer, but it might crash the driver. ;)'
23:41:23 #
23:41:37 # Ghasatta says 'hehe'
23:41:48 # Ghasatta says 'well compat patch file is there and pending approval'
23:41:48 #
23:42:18 # Quixadhal pokes him in the ribs.
23:42:18 #
23:42:42 # Davion nods.
23:42:42 #
23:44:03 # Quixadhal says 'hmmm, my cat seems to think it's time to eat or something. Then again, he always thinks that.'
23:44:40 # Quixadhal says 'Unless anyone has any more to add, I'll halt the log at this point and see about pasting it up somewhere soon. :)'
23:44:40 #
23:45:08 # Ghasatta says 'I didn't know you were logging'
23:45:13 # Ghasatta says 'if I did, I would have put some pants on'
23:45:14 # Ghasatta coughs loudly.
23:45:14 #
23:45:21 # Quixadhal says 'and if anyone plays Spore, the creatures from Quixadhal will conquer your planet soon.'
23:46:01 # Quixadhal says 'Oh, do the forums have pants now? I guess I misunderstood when they talked about various skins.'
23:46:09 # Quixadhal grins evilly.
29 Dec, 2008, quixadhal wrote in the 5th comment:
Votes: 0
Well, for those who might want to help with debugging…. :)

I found and fixed the error that caused disconnects. I had a logic pair flipped around. So you can use the various editors now.
However, there are some issues…..

Doing an aedit does indeed put you into the area editor, but you can't get a listing of rooms from there… you have to switch to redit. Very counter-intuitive IMHO. Once there, that works, but mlist and olist show no mobs in the area. Yet, I'm standing next to mob 3011 in midgaard, area 3.

Also, hitting "help" by itself should probably do "help redit" if you're IN redit.

In any case, it's running on port 2000 of wiley.shadowlord.org. Do please stop by and see if you can find things that are broken, or things that just don't seem right. I want to get things polished up soon. I'll do a checkin of THIS code as soon as we can determine that it won't corrupt anything, but there's more refinement that needs doing.

Thanks guys!
29 Dec, 2008, kaervos wrote in the 6th comment:
Votes: 0
Ey Quix,

Sorry I missed the meeting. Looks like we still have all our ducks in a row though.

There is a problem with the OLC command interpretation… 'mlist all' should show all the mobs in the area… 'mshow 3011' should show Hassan when editing Midgaard.

If you try 'mshow <vnum>', You'll notice it tells you to enter a number even when <vnum> is a proper number. redit_mshow( … ) in olc_act.c is getting the entire "mshow 3011" string as an argument. It is coming from the redit( … ) interpreter function in olc.c…

I used the char local_argument[MAX_INPUT_LENGTH]; const char *lap = local_argument; trick to get a const character array, but then after calling one_argument( … ) on it, I went ahead and passed the original argument variable to the olc_fun function in the redit_table. *bonk self*

redit( … ), aedit( … ), medit( … ) and oedit( … ) in olc.c need to be modified to pass on 'lap' instead of 'argument'.

olc_mpcode.c uses the same strategy to get a const char *, but the variable is passed correctly to the olc_fun function in the mpedit_table, so no worries there.
29 Dec, 2008, kaervos wrote in the 7th comment:
Votes: 0
I added some OLC documentation in the RaM file area… its an old file I've had kicking around for over a decade, but still quite helpful.

I also zipped the MPDocs directory found in Ivan's original 1.81 distribution and stuck that in the RaM file area for reference.

*shrug*
31 Dec, 2008, yzor wrote in the 8th comment:
Votes: 0
i just loged on to shadowlord.org port 2000 and tested the one problem i've noticed with OLC and that is setting mob armor, the syntax for it is ac then the values you want, yours still has the same problem, when you try to add armor class it reverts to 'act' instead.
31 Dec, 2008, kaervos wrote in the 9th comment:
Votes: 0
There does seem to be a confusion regarding the command to set mobile armor class. The actual command that works in our version of OLC from medit is 'armor'. Strangely enough, when you type 'armor' without arguments, it tells you:

Syntax: ac [ac-pierce [ac-bash [ac-slash [ac-exotic]]]]

Even though typing 'ac' will trigger the act flags command.

typing '?' from inside medit will show a list of commands, and 'armor' is correctly listed. If you type 'help medit', however, it incorrectly lists 'ac' as the command to set mob armor class.

Confusing indeed…
31 Dec, 2008, quixadhal wrote in the 10th comment:
Votes: 0
That's probably due to the way the parser does keyword lookup, namely using prefix_string() to allow abbreviations to work.

ac is a prefix of act, and the way the table got loaded, act probably comes first. I should probably sit down and write a unique_prefix() function that only returns true if "ac" is a unique prefix of ALL skills.

In the shorter term, I can correctly rename things so armour/armor works and "ac" doesn't. :)

Thanks guys! I'm hoping to find a few hours tomorrow to sit down and plug some of these things in.
02 Jan, 2009, quixadhal wrote in the 11th comment:
Votes: 0
I didn't get quite as much time as hoped, but a quick fix for the arguments is in place. If I can nail down the ac vs. act problem, I may just check this in and see what floats up from here, bugwise.

Of course, I can easily just rename ac to armor and call it good, but I would like to look at the parser and see if I can find a cheap way to ensure that there are no duplicate prefix commands. On my own game, years ago, we had the problem of "kiss" and "kill" being out of order in the search because emotes got checked first…. all the k and ki typers were very unhappy! :)
02 Jan, 2009, David Haley wrote in the 12th comment:
Votes: 0
quixadhal said:
but I would like to look at the parser and see if I can find a cheap way to ensure that there are no duplicate prefix commands.

I use a lexical trie for the command tree, and count at each node how many commands lie below it. Then when you look up a string, it either gives you the only possible match, or informs you of the ambiguity (e.g., "did you mean 'kiss' or 'kill'?).
02 Jan, 2009, ghasatta wrote in the 13th comment:
Votes: 0
I'm of the opinion that even if you scanned the entire command list, this wouldn't be too expensive. You are doing a max scan of ~100 nodes, which won't even register a blip on your CPU unless you have hundreds of players spamming olc commands rapidly. And then you would have a different problem ;). So, even if you scanned the entire list of commands to see all possible prefix matches when interpreting input, you wouldn't have any problems (imho).

Alternatively, I think you would need to put your commands into a lexically sorted list (a trie sounds interesting too). Your operation would be very simple if all you had to do was scan until you found a prefix and then continued walking the list until you found the next command that did *not* match the prefix.
02 Jan, 2009, Davion wrote in the 14th comment:
Votes: 0
ghasatta said:
I'm of the opinion that even if you scanned the entire command list, this wouldn't be too expensive. You are doing a max scan of ~100 nodes, which won't even register a blip on your CPU unless you have hundreds of players spamming olc commands rapidly. And then you would have a different problem ;). So, even if you scanned the entire list of commands to see all possible prefix matches when interpreting input, you wouldn't have any problems (imho).


Considering that in this particular case, we'd only be scanning the individual OLC list, it's like 15 commands. We could scan it a few times :D.
03 Jan, 2009, quixadhal wrote in the 15th comment:
Votes: 0
Of course, as with everything Dikuesque, you can never just fix things in one place. Rather than a single function to do command lookups by name and table, there are for loops everywhere…
03 Jan, 2009, quixadhal wrote in the 16th comment:
Votes: 0
Hmmmm, ok. I've come to the conclusion that the coders who wrote ROM and it's ancestors didn't really understand what str_prefix() does.

I'm finding lots of cases of things like if(!str_prefix( argument, "on" )), with cases right below for "off". So, the user can type "wiznet o" and instead of an error message, it does "on" since that's the first case it checks. Likewise, "wiznet s" will do status, rather than show.

I believe someone got the idea that str_prefix() actually means an exclusive prefix. In the DCL shell of the old VAX/VMS cluster I used to use, you could set command aliai with globbing, so if you defined "dir*ectory = "show /directory", typing dir worked, typing direct worked (as long as you didn't also have "direct*ion" defined), but typing "di" would fail.

I'm thinking many of these cases should either have a function that works like that (no glob symbol means it works just like str_cmp), or should pass in an array of all defined matches to avoid ambiguity. IE: str_unique( "dir", "dir*ectory" ) would match, but str_unique( "dir", "directory" ) would not. Or, str_unique( "dir", [ "directory", "direction" ] ) would fail.

I just really don't like reading flags from a file and having half the flags start with the same letter, and having THAT hit on the first one because they used str_prefix() for database stuff too! :(
03 Jan, 2009, ghasatta wrote in the 17th comment:
Votes: 0
Is it really so bad if the interpreter guesses wrong on a prefix? In your off/on example, I'm not so sure it's that bad if the interpreter guesses 'on' instead of 'off'. I can see it being a problem if you have 'off vs. offense', and the interpreter guesses 'off' every time, but in this case I'm not so sure…
03 Jan, 2009, quixadhal wrote in the 18th comment:
Votes: 0
It's annoying and bad UI design. If you were driving a car, would you be happy if you went to shift into forth gear and instead shifted into first? Sure, right now we use mechanical devices, but the future might bring touch screen interfaces, or something else where such a mistake might happen. Abbreviations should be natural and intuitive. If I type 'k', I probably mean "kill", given the context of most combat muds. If I type "ansi o", do I mean on or off? In that case, it's NOT intuitive which one is right, so it shouldn't just pick one.

It's far worse when the database routines use prefixes while reading flags. If someone hand-edited a file (or some offline creator program had a bug, or OLC had a bug), and puts a line in there for "a 12", what does that mean? The database import should abort with an error message at that point, rather than "guess" at what it might be.

I guess my point is that abbreviations should be used to enhance the UI where it's very clear and appropriate to use them. If it adds confusion, even if minor, it's a poor design.
03 Jan, 2009, Tyche wrote in the 19th comment:
Votes: 0
quixadhal said:
It's annoying and bad UI design.


Maybe it is, maybe it isn't. One could suggest the game is poorly designed as well.
So does it fit under the scope of the project?

Aside:
I searched but couldn't find the url for the svn repository.
03 Jan, 2009, ghasatta wrote in the 20th comment:
Votes: 0
I'm still agnostic on the UI component, but, yeah no excuses for the data i/o.
0.0/26