Go to the bottom | Channel Index

first << < 35 36 37 38 39 40 41 42 43 44 45 > last
Mon Aug 17 16:23:37 2009 [dgd] Aidil@Way of the Force nods. 
Mon Aug 17 16:23:49 2009 [dgd] Aidil@Way of the Force: didn't get to it yet :) at work at the moment. 
Mon Aug 17 16:23:56 2009 [dgd] Thingol@The Void: That's quick :P 
Mon Aug 17 16:24:13 2009 [dgd] Aidil@Way of the Force: :) 
Mon Aug 17 16:24:25 2009 [dgd] Aidil@Way of the Force: usually, Felix is quite fast with fixes :) 
Mon Aug 17 16:25:28 2009 [dgd] Aidil@Way of the Force: the importing of new dgd versions is pretty much automated :) 
Mon Aug 17 16:27:34 2009 [dgd] Sorressean@Falcon: werd 
Mon Aug 17 16:27:52 2009 [dgd] Sorressean@Falcon: now I get to try to learn how to use sprintf for columnizing... :( 
Mon Aug 17 16:28:30 2009 [dgd] Kalinash@Fire and Ice: tis a simple thing 
Mon Aug 17 16:28:47 2009 [dgd] Kalinash@Fire and Ice: and make your column widths be percentages of the terminal width and dynamically generate the format string to suit 
Mon Aug 17 16:31:08 2009 [dgd] Subversion@Way of the Force: Aidil committed Gurbalib revision 317 to svn://wotf.org/gurbalib : Add error/usage messages to the cat command (patch by Sorressean)  
Mon Aug 17 16:31:50 2009 [dgd] Aidil@Way of the Force: there you go :) 
Mon Aug 17 16:45:12 2009 [dgd] Sorressean@Falcon: yay! 
Mon Aug 17 16:45:44 2009 [dgd] Sorressean@Falcon: danky. and yeah. I'm just not sure how to set that up. I need to figure out how to get term width and then set up the columns. 
Mon Aug 17 16:49:57 2009 [dgd] Aidil@Way of the Force: player->query_env("width") 
Mon Aug 17 16:50:06 2009 [dgd] Sorressean@Falcon: yeehaw! 
Mon Aug 17 16:50:16 2009 [dgd] Aidil@Way of the Force: oh. 
Mon Aug 17 16:50:29 2009 [dgd] Aidil@Way of the Force: assume 80 if it returns anything other then a positive number. 
Mon Aug 17 16:50:34 2009 [dgd] Kalinash@Fire and Ice: and things like %20s means a string 20 characters wide 
Mon Aug 17 16:50:58 2009 [dgd] Sorressean@Falcon: ooo. yay. 
Mon Aug 17 16:51:34 2009 [dgd] Kalinash@Fire and Ice: you can look up the standard C printf formatting strings 
Mon Aug 17 16:51:56 2009 [dgd] Sorressean@Falcon: nods. I know those, didn't think this worked the same. thanks 
Mon Aug 17 16:52:10 2009 [dgd] Aidil@Way of the Force: its more or less the same. 
Mon Aug 17 16:52:17 2009 [dgd] Kalinash@Fire and Ice: "%-15.15s %-12.12s %-18.18s %-27.27s\n" 
Mon Aug 17 16:52:21 2009 [dgd] Aidil@Way of the Force: the sprintf.doc file should list most of them. 
Mon Aug 17 16:52:33 2009 [dgd] Aidil@Way of the Force: and tell you about the lpc specific ones. 
Mon Aug 17 16:52:46 2009 [dgd] Sorressean@Falcon nods 
Mon Aug 17 16:53:48 2009 [dgd] Aidil@Way of the Force: btw, the sprintf plugin is just a very quick port of the older sprintf implementation for dgd. It probably doesn't like 'nil' values at all. 
Mon Aug 17 16:54:07 2009 [dgd] Aidil@Way of the Force: and with that.. its time for me to go home :) 
Mon Aug 17 16:54:12 2009 [dgd] Aidil@Way of the Force: have a good evening. 
Mon Aug 17 16:54:15 2009 [dgd] Sorressean@Falcon: peace! 
Mon Aug 17 16:54:21 2009 [dgd] Kalinash@Fire and Ice: have a scotch or two for me 
Mon Aug 17 16:54:22 2009 [dgd] Sorressean@Falcon: xcept it's morning. :p 
Mon Aug 17 16:54:24 2009 [dgd] Aidil@Way of the Force: or afternoon.. or morning :) 
Mon Aug 17 16:54:36 2009 [dgd] Aidil@Way of the Force: no scotch yet, Kal. 
Mon Aug 17 16:54:45 2009 [dgd] Aidil@Way of the Force: I'm not like you. 
Mon Aug 17 16:54:51 2009 [dgd] Kalinash@Fire and Ice: you poor, poor man :( 
Mon Aug 17 16:55:01 2009 [dgd] Sorressean@Falcon: bah scotch. kerona! 
Mon Aug 17 17:06:59 2009 [dgd] Quixadhal@Bloodlines: Added bonus points, if you build your format string in a variable, so you can do things like fmt = "FOO: %-" + width + "sn"; sprintf(fmt, stuff); 
Mon Aug 17 17:07:23 2009 [dgd] Sorressean@Falcon: werd, that's kinda what I was thinking about doing 
Mon Aug 17 17:07:44 2009 [dgd] Kalinash@Fire and Ice: that's what I said to do :P 
Mon Aug 17 17:07:49 2009 [dgd] Kalinash@Fire and Ice: "dynamically generate the format string" 
Mon Aug 17 17:07:51 2009 [dgd] Sorressean@Falcon: lol. 
Mon Aug 17 17:08:05 2009 [dgd] Kalinash@Fire and Ice gets no respect :( 
Mon Aug 17 17:08:44 2009 [dgd] Quixadhal@Bloodlines: Sorry Kal, you typed words without arcane %symbols in them, so I didn't notice. 
Mon Aug 17 17:08:57 2009 [dgd] Kalinash@Fire and Ice pouts. 
Mon Aug 17 17:09:49 2009 [dgd] Quixadhal@Bloodlines: But hey, have a scotch! :) 
Mon Aug 17 17:12:12 2009 [dgd] Quixadhal@Bloodlines: I actually still have some gin left... may have to remedy that later.  Gin always seems like a nice drink when it's raining. 
Mon Aug 17 17:12:14 2009 [dgd] Kalinash@Fire and Ice: or sunny... 
Mon Aug 17 17:12:15 2009 [dgd] Kalinash@Fire and Ice: or overcast... 
Mon Aug 17 17:12:17 2009 [dgd] Kalinash@Fire and Ice: or flaming brimstone 
Mon Aug 17 17:12:21 2009 [dgd] Quixadhal@Bloodlines: even when it's dark. :) 
Mon Aug 17 17:17:21 2009 [dgd] Quixadhal@Bloodlines: Yay, new motherboard/memory/cpu is supposedly arriving today. 
Mon Aug 17 17:30:50 2009 [dgd] Thingol@the Void: Hmm.. how would one 'tell' someone on another mud with a mudname with spaces 
Mon Aug 17 17:31:46 2009 [dgd] Kalinash@Fire and Ice: type it all out... rtell thingol@the void this should work 
Mon Aug 17 18:48:25 2009 [dgd] Aidil@GurbaDev1: nope, it doesn't. 
Mon Aug 17 18:48:44 2009 [dgd] Aidil@GurbaDev1: you have to quote the "name@mud name part" 
Mon Aug 17 18:51:17 2009 [dgd] Aidil@GurbaDev1: oh, and gin is for rainy days only. Bloody brits couldn't get 'jenever' so made their own variation.. and its always rainy there. 
Mon Aug 17 19:09:06 2009 [dgd] Sorressean@Falcon: how do I alter what shows up on my mudlist info? 
Mon Aug 17 19:57:44 2009 [dgd] Thingol@the Void: Right. That "" thing does the trick for me. 
Mon Aug 17 19:58:38 2009 [dgd] Thingol@the Void: And brits should just stick to whiskey. I'll buy that off em anyday. 
Mon Aug 17 20:41:57 2009 [dgd] Aidil@GurbaDev1: hrm. 
Mon Aug 17 20:42:12 2009 [dgd] Aidil@GurbaDev1: Whiskey comes either from Ireland or the USA. 
Mon Aug 17 20:42:26 2009 [dgd] Aidil@GurbaDev1: neither of which is properly called Brittish I think. 
Mon Aug 17 20:42:58 2009 [dgd] Thingol@the Void: The brits count Ireland & Scotland as theirs when it's profitable. 
Mon Aug 17 20:43:24 2009 [dgd] Thingol@the Void: That's why all of a sudden they were rooting for Andy Murray to win Wimbledon. :P 
Mon Aug 17 20:43:26 2009 [dgd] Aidil@GurbaDev1: Whisky on the other hand mostly comes from Scotland or Japan, or at times Canada. 
Mon Aug 17 20:43:54 2009 [dgd] Aidil@GurbaDev1: yes, but Brits don't make whisky or whiskey :) 
Mon Aug 17 20:44:24 2009 [dgd] Aidil@GurbaDev1: as a matter of fact, they are the main 'export' market for blended non pure malt whisk(e)y. 
Mon Aug 17 20:44:44 2009 [dgd] Kalinash@Fire and Ice: burbon whiskey, scotch and gin 
Mon Aug 17 20:53:46 2009 [dgd] Aidil@GurbaDev1: theres good whisky comming from Murray county :P 
Mon Aug 17 20:54:48 2009 [dgd] Aidil@GurbaDev1: iirc, Glen Elgin and Glenlivet come from there, besides the obvious Glen Murray :P 
Mon Aug 17 20:55:32 2009 [dgd] Thingol@the Void: I'll take your word for it. I just drink it. 
Mon Aug 17 20:56:03 2009 [dgd] Thingol@the Void: ...You also know where Laguvulin comes from? 
Mon Aug 17 20:57:19 2009 [dgd] Aidil@Way of the Force: Port Ellen, Islay 
Mon Aug 17 20:57:36 2009 [dgd] Aidil@Way of the Force: but I'm cheating :) I have a bottle at hand :) 
Mon Aug 17 20:57:53 2009 [dgd] Thingol@the Void: You lucky bastard! 
Mon Aug 17 20:58:07 2009 [dgd] Thingol@the Void: It's probably the best one I know, the 16 year old version. 
Mon Aug 17 20:58:46 2009 [dgd] Aidil@Way of the Force: hmm. thats the one I have around also.. I don't agree about it being the best, but thats a matter of taste. 
Mon Aug 17 21:00:16 2009 [dgd] Aidil@Way of the Force: I'm generally not a big fan of islay whiskies.. tho I do rather like Bowmore and Bunnahabhaim 
Mon Aug 17 21:42:26 2009 [dgd] Aidil@Way of the Force: anyway :) was nice chatting.. gonna read a bit and catch some sleep. 
Mon Aug 17 21:42:30 2009 [dgd] Aidil@Way of the Force: have a good day :) 
Mon Aug 17 21:42:37 2009 [dgd] Thingol@the Void: Cya around 
Mon Aug 17 22:07:58 2009 [dgd] Sorressean@Falcon waves 
Mon Aug 17 22:20:17 2009 [dgd] Sorressean@Falcon: um, is there a function that you can use on a player object to write? I was using users[i]->write, but that sends it to me. 
Mon Aug 17 22:22:37 2009 [dgd] Thingol@the Void: i believe this_player()->message(msg); 
Mon Aug 17 22:23:27 2009 [dgd] Sorressean@Falcon: werd, thanks 
Mon Aug 17 22:37:29 2009 [dgd] Sorressean@Falcon: is there a file or something that you can alter to add flags to areas? 
Mon Aug 17 22:46:23 2009 [dgd] Nullinfinite@Gurbalib: with gurbalib?  what are you trying to flag? 
Mon Aug 17 22:47:31 2009 [dgd] Sorressean@Falcon: I want to set up a weather system. each area will have a set pattern for weather, but some rooms may have higher temps or lower based on elevation or whatever. so I want to set up zone weather, then work off of that for the weather for the rooms. 
Mon Aug 17 22:48:00 2009 [dgd] Nullinfinite@Gurbalib: thats neat, ive been wanting to do something like that for awhile 
Mon Aug 17 22:48:55 2009 [dgd] Nullinfinite@Gurbalib: so by flags, you mean something that gives some info on a rooms region, and another for elevation and the like? 
Mon Aug 17 22:49:08 2009 [dgd] Sorressean@Falcon: yeah. 
Mon Aug 17 22:49:32 2009 [dgd] Sorressean@Falcon: room elevation will be added from region elevation. so lile region_elevation+room_elevation would determine the elevation for the current room 
Mon Aug 17 22:49:57 2009 [dgd] Nullinfinite@Gurbalib: to do that, you would need to add a few things into oode for /std/room, and would also need a weather daemon 
Mon Aug 17 22:53:09 2009 [dgd] Sorressean@Falcon: ok. here's my idea: first I have a qauestion. I need to add weather daemon, is there somewhere where I can add the daemon? are the daemon functions global? I can also create an area object in std, but I'll need to set the area up. so my issue is how do I make that area work with the room? I can inherit area, fill out the properties with a setup function and have the object, but how do you make say like gurba_town.c an object inside the rooms? 
Mon Aug 17 22:56:12 2009 [dgd] Nullinfinite@Gurbalib: lets say you have a region called somewhere.  Each room in somewhere could have a set / get pair for region, ie set_region("somewhere"), get_region to check the rooms region.  OR you could handle regions by name of folder in domains...eg any room in /domains/somewhere/ shares same weather.  The weather_d would handle the random generation of weather per region. 
Mon Aug 17 22:58:11 2009 [dgd] Nullinfinite@Gurbalib: you would add the daemon to the daemons folder, and it would have functions called in it...probably from room code.  One aspect of a weather system would be when to add the weather...if no players are in region, should each room in region still be called to adjust for changes?  its more efficient if these changes occurred on an event such as a player loading the region by entering, and than the calculation made for weather effects 
Mon Aug 17 23:01:12 2009 [dgd] Nullinfinite@Gurbalib: the daemon can be called anywhere, but where it needs to be called can vary greatly depending on design 
Mon Aug 17 23:01:16 2009 [dgd] Sorressean@Falcon: if I set up a region.c in /std, I could make a region in the folder, set it up and then set it in the room, but I'm not sure if I made a gurba_town.c region that would set all the info for my region, but I'm not sure how I'd set the rooms region to use the gurba_square that I just defined. 
Mon Aug 17 23:04:14 2009 [dgd] Nullinfinite@Gurbalib: here is an example implementation: in /std/room.c, i add a function called add_region.  the add_region function calls weather_d, and tells it that the object that just called it is a room in region x.  weather_d stores a mapping of string region : ({ rooms registered with region }). 
Mon Aug 17 23:05:24 2009 [dgd] Sorressean@Falcon: what I was planning on doing was setting properties like elevation, temperature, all that. so it makes sense that the region would be saved on the room, but I'm not sure how to do that. I could set up a mapping in weather_d, but none of the info like temp and that would be defined. 
Mon Aug 17 23:09:38 2009 [dgd] Nullinfinite@Gurbalib: thats okay, you could handle that info seperately, whats important is having rooms compartmentalized by region.  when we factor in some other variables, we handle them in the same loop that changes weather.  some more example: set_region_weather(string region) { for(i = 0; i < sizeof(m_values(region_map) ); i++) { if(region_map[region][i]->query_elevation() > 5000) { /* handle elevation > 5000*/ } else { /*handle elevation < 5000 */ } 
Mon Aug 17 23:11:22 2009 [dgd] Nullinfinite@Gurbalib: we wind up needing to loop through each room in a region anyway, to alter its weather, so in the same for loop adding checks like that is a good way to add 'nuance' to a room in a wider region 
Mon Aug 17 23:13:33 2009 [dgd] Sorressean@Falcon: gotcha. it makes sense that the object would be it's own region though wouldn't it? 
Mon Aug 17 23:14:24 2009 [dgd] Nullinfinite@Gurbalib: well, an object could be its own region, but in general, 2 adjacent rooms have the same thing going on, so one region for both is optimal 
Mon Aug 17 23:17:16 2009 [dgd] Nullinfinite@Gurbalib: another system that would work would be to make region daemons, which would be their own objects, but would exist to handle the weather for one region alone 
Mon Aug 17 23:18:49 2009 [dgd] Nullinfinite@Gurbalib: in other words, for 'someplace' and 'somewhere' we have 2 daemons, each handling weather in several rooms 
Mon Aug 17 23:18:56 2009 [dgd] Sorressean@Falcon: nods. I want to set it up so that I can register the weather patterns with the weather daemon. how would I do something like set object region to the region that I want, like if I set up the region to inherit region and set the props, then store them in gurba_region.c how can I set object region to use that object? also, is there a way that I can get the current object, like this_object or something from the room? I can set up like register_room(object room,object region) on weather_d 
Mon Aug 17 23:21:14 2009 [dgd] Nullinfinite@Gurbalib: for finding an object that called register room, previous_object(x) would work. 
Mon Aug 17 23:23:10 2009 [dgd] Nullinfinite@Gurbalib: i would think the regional weather would be adjusted automatically over time.  a timed event would be a good way to do this, when the event gets called after x amount of time, we change the weather in the region in some logical and/or random way 
Mon Aug 17 23:23:56 2009 [dgd] Nullinfinite@Gurbalib: at that point, we know which region needs weather changed, we would than use region_map[region_x] to get our array of rooms in region, and work on those 
Mon Aug 17 23:25:02 2009 [dgd] Nullinfinite@Gurbalib: im going to run some errands, but will be back in an hour or 2. 
Mon Aug 17 23:25:32 2009 [dgd] Sorressean@Falcon: kk. thanks. 
Mon Aug 17 23:25:33 2009 [dgd] Nullinfinite@Gurbalib: im sure i can find some examples in gurba that would help explain 
Mon Aug 17 23:25:47 2009 [dgd] Nullinfinite@Gurbalib: goodluck, later man 
Mon Aug 17 23:26:12 2009 [dgd] Sorressean@Falcon: peace 
Mon Aug 17 23:27:46 2009 [dgd] Sorressean@Falcon: aerg. I have ideas for setting it, I just can't figure out how to load the object 
Tue Aug 18 01:29:27 2009 [dgd] Quixadhal@Bloodlines: Sorressean, you might consider making your region a full seperate daemon and let the rooms query it for their own data.  If you did it that way, along with virtual rooms, you'd be on the path of allowing algorithm-based world maps. :) 
Tue Aug 18 01:41:28 2009 [dgd] Sorressean@Falcon: awesome. I can set properties per daemon. I'm not totally sure how they work though. I could make an areas dir, but I need to be able to start the daemon and set it up to run when the mud starts. are all daemon functions global, or how do I set it up so I can call daemon funcs? 
Tue Aug 18 02:18:24 2009 [dgd] Nullinfinite@Gurbalib: back 
Tue Aug 18 02:30:29 2009 [dgd] Sorressean@Falcon: wb 
Tue Aug 18 02:34:40 2009 [dgd] Nullinfinite@Gurbalib: there is one thing i started work on, but set aside for now, which might be helpful for a weather_d 
Tue Aug 18 02:35:29 2009 [dgd] Sorressean@Falcon: any help would be awesome and greatly appriciated. :p 
Tue Aug 18 02:35:56 2009 [dgd] Nullinfinite@Gurbalib: using the same escape markups gurba currently uses for ansi codes, there can be other commands added besides ansi color codes 
Tue Aug 18 02:36:16 2009 [dgd] Sorressean@Falcon: huh? 
Tue Aug 18 02:36:35 2009 [dgd] Nullinfinite@Gurbalib: when changing the properties of rooms, it becomes a lot of work to weave together functions ie, item_desc_raining, or, room_desc_raining 
Tue Aug 18 02:36:59 2009 [dgd] Sorressean@Falcon: I had the idea of the global demon from a couple people, which only leaves the question of how to call functions in another daemon, and how to set it up so that the daemon starts when the mud starts. 
Tue Aug 18 02:37:20 2009 [dgd] Sorressean@Falcon: after that point, I just need to learn how to use mappings and I'm good. 
Tue Aug 18 02:37:48 2009 [dgd] Nullinfinite@Gurbalib: heres an example 'This room is large.  RAINRain is hitting thr roof/RAIN
Tue Aug 18 02:38:02 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 02:38:10 2009 [dgd] Nullinfinite@Gurbalib: oh, the '%' '^' escapes get filtered 
Tue Aug 18 02:38:29 2009 [dgd] Nullinfinite@Gurbalib: hence i can color my text red 
Tue Aug 18 02:39:22 2009 [dgd] Nullinfinite@Gurbalib: you can use the % and ^ characters together before and after a keyword to perform some action 
Tue Aug 18 02:39:38 2009 [dgd] Nullinfinite@Gurbalib: not keyword, rather a string of input 
Tue Aug 18 02:40:01 2009 [dgd] Sorressean@Falcon: well, if I have a daemon running, I could just do like get_weather() from the daemon passing the room object in. 
Tue Aug 18 02:40:32 2009 [dgd] Nullinfinite@Gurbalib: so instead of changing flags in each room, you have a room check weather_d to see what weather is, and use text from the 'right' one 
Tue Aug 18 02:40:54 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 02:41:15 2009 [dgd] Sorressean@Falcon: so all I need to do is figure out how to set up a daemon so it's initialized and all that and call funcs from it. 
Tue Aug 18 02:41:45 2009 [dgd] Nullinfinite@Gurbalib: what i do with my descs, is use some description for any conditions, and have some special ones for specific conditions like day night or rain etc 
Tue Aug 18 02:42:17 2009 [dgd] Nullinfinite@Gurbalib: right.  you will have the initialization and query value functions...you will need some way to determine changes in a regions weather 
Tue Aug 18 02:42:40 2009 [dgd] Sorressean@Falcon: I can just write a weather_desc func that will be added to the outdoor room's descriptions 
Tue Aug 18 02:42:58 2009 [dgd] Nullinfinite@Gurbalib: this could be entirely random, or, you could have it be sequential, in example, lightning storm->rain->cloudy->sun 
Tue Aug 18 02:43:24 2009 [dgd] Sorressean@Falcon: yeah. i want it to be somewhat randomized, but not like sun snow tornado or something stupid. 
Tue Aug 18 02:43:52 2009 [dgd] Nullinfinite@Gurbalib: its tricky for me, since some of my description is for all weather...i wind up needing dozens of functions to do it without markups 
Tue Aug 18 02:44:31 2009 [dgd] Nullinfinite@Gurbalib: ie describe_room_window_day, describe_room_window_rain... 
Tue Aug 18 02:44:48 2009 [dgd] Nullinfinite@Gurbalib: and i describe say 5 items with special effects.. 
Tue Aug 18 02:44:59 2009 [dgd] Sorressean@Falcon: yeah. I plan on having a describe_window func that will return the desc too, but I can prepend like "through the window you see..."  
Tue Aug 18 02:46:14 2009 [dgd] Nullinfinite@Gurbalib: i mean the elements of a room description.  my room descriptions will change with weather, time of day, but without needing add numerous functions to compose a single description 
Tue Aug 18 02:46:20 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 02:47:37 2009 [dgd] Nullinfinite@Gurbalib: do you know about events? 
Tue Aug 18 02:48:14 2009 [dgd] Sorressean@Falcon: I seen the daemon, but I haven't looked at it quite yet. I'm looking for globalization and getting things set up so that I can start the weather daemon. 
Tue Aug 18 02:48:27 2009 [dgd] Sorressean@Falcon: then I can set it up to use the time daemon for day/night and events for weather changes 
Tue Aug 18 02:49:13 2009 [dgd] Nullinfinite@Gurbalib: okay.  what do you mean by globalization, do you mean like this_player()? 
Tue Aug 18 02:49:48 2009 [dgd] Sorressean@Falcon: I am trying to figure out how to call a function in a daemon from within an object like a room object so I can register rooms, and how to initialize or set the daemon to initialize when the mud starts. 
Tue Aug 18 02:50:47 2009 [dgd] Nullinfinite@Gurbalib: okay.  To make the changes apply to all rooms, you make them in /std/room.c   The code from /std/room is inherited 
Tue Aug 18 02:50:54 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 02:51:10 2009 [dgd] Nullinfinite@Gurbalib: in the create() function is a good place to register a value 
Tue Aug 18 02:51:29 2009 [dgd] Sorressean@Falcon: I'm going to let each room register its self with weather if it wants weather. it will have to make the call to the daemon. 
Tue Aug 18 02:52:08 2009 [dgd] Nullinfinite@Gurbalib: yeah thats the way to go 
Tue Aug 18 02:53:27 2009 [dgd] Sorressean@Falcon: ooo. I found objects to load at startup 
Tue Aug 18 02:53:46 2009 [dgd] Sorressean@Falcon: I can add weather to that. how do I make it so that weather functions can be called, though? 
Tue Aug 18 02:54:09 2009 [dgd] Nullinfinite@Gurbalib: yeah, those are in the driver.  You would define the path to the weather daemon to std.h 
Tue Aug 18 02:54:26 2009 [dgd] Nullinfinite@Gurbalib: than you could WEATHER_D->x(y) from anyplace 
Tue Aug 18 02:54:51 2009 [dgd] Nullinfinite@Gurbalib: std.h, thats lib/kernel/include or something 
Tue Aug 18 02:54:56 2009 [dgd] Sorressean@Falcon: ooo. thanks. 
Tue Aug 18 02:55:04 2009 [dgd] Sorressean@Falcon: makes sense. thanks a ton for the help and pacients. :p 
Tue Aug 18 06:55:31 2009 [dgd] Aidil@Way of the Force snores. 
Tue Aug 18 06:55:39 2009 [dgd] Sorressean@Falcon: no snoring! 
Tue Aug 18 06:56:02 2009 [dgd] Aidil@Way of the Force: too late! 
Tue Aug 18 06:56:18 2009 [dgd] Sorressean@Falcon grins 
Tue Aug 18 06:57:02 2009 [dgd] Sorressean@Falcon: you should write a daemon helpfile. :( 
Tue Aug 18 07:01:23 2009 [dgd] Aidil@Way of the Force: well, without actually knowing what daemon you are going to create, that is near impossible :) 
Tue Aug 18 07:01:47 2009 [dgd] Aidil@Way of the Force: or do you mean something that documents all existing daemons? 
Tue Aug 18 07:02:09 2009 [dgd] Aidil@Way of the Force: I'm sorry, if you want to understand them, in most cases reading the code is and will always be mandatory 
Tue Aug 18 07:02:42 2009 [dgd] Sorressean@Falcon: just something that outlines how they work. Not docs on every daemon. 
Tue Aug 18 07:03:29 2009 [dgd] Sorressean@Falcon: I'm trying to figure out how to make their funcs visible and all that fun stuff. 
Tue Aug 18 07:03:35 2009 [dgd] Aidil@Way of the Force: I'm not sure I understand what you want. 
Tue Aug 18 07:03:48 2009 [dgd] Aidil@Way of the Force: how they work is specific for each daemon. 
Tue Aug 18 07:04:49 2009 [dgd] Sorressean@Falcon: well, I found out how to add them to init. but I can't figure out how to make their funcs visible. 
Tue Aug 18 07:05:01 2009 [dgd] Aidil@Way of the Force: funcs visible? 
Tue Aug 18 07:05:12 2009 [dgd] Aidil@Way of the Force: a daemon is an object 
Tue Aug 18 07:05:18 2009 [dgd] Sorressean@Falcon: so I can call like weather_d->GetWeather("zone") 
Tue Aug 18 07:05:24 2009 [dgd] Aidil@Way of the Force: object->function() calls the function in it. 
Tue Aug 18 07:05:41 2009 [dgd] Sorressean@Falcon: but you have to make the object visible? 
Tue Aug 18 07:05:54 2009 [dgd] Aidil@Way of the Force: that has nothing to do with daemons, and everything with LPC in general. 
Tue Aug 18 07:06:08 2009 [dgd] Sorressean@Falcon: I apparently failed lpc 101 
Tue Aug 18 07:06:36 2009 [dgd] Aidil@Way of the Force: Something (in this case /sys/daemons/init_d I believe) must load the object. 
Tue Aug 18 07:06:49 2009 [dgd] Sorressean@Falcon: werd. 
Tue Aug 18 07:07:03 2009 [dgd] Sorressean@Falcon: but that object has to be made visible to all code, no? 
Tue Aug 18 07:07:38 2009 [dgd] Sorressean@Falcon: otherwise you could do something like object i; then you couldn't reuse i in later code because i was already defined and global. 
Tue Aug 18 07:07:45 2009 [dgd] Aidil@Way of the Force: I don't understand what you mean. if it is loaded, it is 'visible'. You seem to be talking about wanting some variable that points at the daemon. 
Tue Aug 18 07:08:38 2009 [dgd] Quixadhal@Bloodlines: Don't feel bad... I'm a Diku person, so I'm still wrangling with the driver/mudlib interaction too. 
Tue Aug 18 07:08:52 2009 [dgd] Aidil@Way of the Force: the typical way of doing this is adding a #define for it to /kernel/include/std.h 
Tue Aug 18 07:08:57 2009 [dgd] Sorressean@Falcon: heh 
Tue Aug 18 07:09:10 2009 [dgd] Sorressean@Falcon nods. I seen that. but that's just the path to it. 
Tue Aug 18 07:09:14 2009 [dgd] Aidil@Way of the Force: then you could do YOUR_DEFINE_D->whatever() 
Tue Aug 18 07:09:30 2009 [dgd] Aidil@Way of the Force: there are a gazillion daemons defined in there already. 
Tue Aug 18 07:09:32 2009 [dgd] Sorressean@Falcon: so your basically doing "/daemons/bla.c"->my_func(); 
Tue Aug 18 07:09:41 2009 [dgd] Quixadhal@Bloodlines: While you can consider top-level items to be public, they are still scoped by their object. 
Tue Aug 18 07:10:09 2009 [dgd] Sorressean@Falcon: yeah. that's why I was trying to figure out how you could call funcs on a file. 
Tue Aug 18 07:10:39 2009 [dgd] Aidil@Way of the Force: just for all clarity, there exists no such thing as system wide global variables. 
Tue Aug 18 07:11:29 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 07:11:54 2009 [dgd] Sorressean@Falcon: I'm having issues with the whole file thing. how is it that you can call funcs on a file? That doesn't make much sense to me. 
Tue Aug 18 07:12:04 2009 [dgd] Quixadhal@Bloodlines: Being scoped doesn't make them private, just that you have to refer to them by their scope from outside. 
Tue Aug 18 07:12:06 2009 [dgd] Quixadhal@Bloodlines: Being scoped doesn't make them private, just that you have to refer to them by their scope from outside. 
Tue Aug 18 07:12:08 2009 [dgd] Quixadhal@Bloodlines: Interesting. 
Tue Aug 18 07:12:11 2009 [dgd] Aidil@Way of the Force: You don't call functions on a file. 
Tue Aug 18 07:12:14 2009 [dgd] Quixadhal@Bloodlines: Had a really quite long lag there.... :) 
Tue Aug 18 07:12:18 2009 [dgd] Sorressean@Falcon: well 
Tue Aug 18 07:12:21 2009 [dgd] Aidil@Way of the Force: obj->fun() 
Tue Aug 18 07:12:26 2009 [dgd] Aidil@Way of the Force: obj can be a string 
Tue Aug 18 07:12:52 2009 [dgd] Aidil@Way of the Force: which then gets translated in the object that is compiled from the file it points to. 
Tue Aug 18 07:12:55 2009 [dgd] Sorressean@Falcon: imud_d is defined as "/daemons/imud_d.c" I believe, which from a preprocessor standpoint turns out to be like "/daemons/imud_d.c"->my_func() when you use imud_d->my_func() 
Tue Aug 18 07:13:04 2009 [dgd] Aidil@Way of the Force: you do NOT call the function in the file however 
Tue Aug 18 07:13:11 2009 [dgd] Aidil@Way of the Force: it is purely syntactic sugar. 
Tue Aug 18 07:14:10 2009 [dgd] Sorressean@Falcon: so what keeps the driver from instanciating a object or compiling it every time it's called? If you call a func in weather_d you want to make sure that the daemon won't be recreated 100 times over. Even if it weren't going to pose that issue, that could be costly on cpu and memory 
Tue Aug 18 07:14:19 2009 [dgd] Aidil@Way of the Force: what you are in fact saying there is 'object tmp; tmp = find_object(some_path); if( !tmp ) { tmp = compile_object( path); }; tmp->function() 
Tue Aug 18 07:14:37 2009 [dgd] Aidil@Way of the Force: since you don't want to write that out all the time, there is a short syntax for it. 
Tue Aug 18 07:14:56 2009 [dgd] Quixadhal@Bloodlines: It just so happens that the default mechanism for translating the name of an external object is to map it to the filesystem.  You could also have it map via something else like "coord,x,y,z->exits()" if you like. 
Tue Aug 18 07:14:58 2009 [dgd] Sorressean@Falcon: gotcha. so tmp returns if there is an instance of that object already created? 
Tue Aug 18 07:15:21 2009 [dgd] Aidil@Way of the Force: it returns the 'blueprint' of that object. 
Tue Aug 18 07:15:25 2009 [dgd] Sorressean@Falcon: that makes sense. 
Tue Aug 18 07:15:51 2009 [dgd] Sorressean@Falcon: thanks. :) 
Tue Aug 18 07:15:59 2009 [dgd] Aidil@Way of the Force: not just any instance, but a very specific one :) 
Tue Aug 18 07:16:49 2009 [dgd] Sorressean@Falcon: well, it would return a copy or a pointer or something to the instance that already exists? 
Tue Aug 18 07:16:51 2009 [dgd] Aidil@Way of the Force: /kernel/sys/driver.c, look for call_object 
Tue Aug 18 07:17:04 2009 [dgd] Aidil@Way of the Force: no. no pointers no copies. 
Tue Aug 18 07:17:20 2009 [dgd] Aidil@Way of the Force: it returns a REFERENCE to the blueprint. 
Tue Aug 18 07:17:51 2009 [dgd] Sorressean@Falcon: being the instance? or how would calls carry over 
Tue Aug 18 07:18:06 2009 [dgd] Aidil@Way of the Force: note that we do not have pointers, we have references ala JAVA and the like. the difference is relevant, you can do calculations on a pointer, you can't witha reference 
Tue Aug 18 07:18:21 2009 [dgd] Sorressean@Falcon: werd 
Tue Aug 18 07:18:24 2009 [dgd] Aidil@Way of the Force: instance is a C++ism or a JAVAism. 
Tue Aug 18 07:18:34 2009 [dgd] Aidil@Way of the Force: we have blueprints (originals) and clones. 
Tue Aug 18 07:19:08 2009 [dgd] Sorressean@Falcon: gotcha 
Tue Aug 18 07:19:10 2009 [dgd] Aidil@Way of the Force: when you compile something, that results in a program. 
Tue Aug 18 07:19:36 2009 [dgd] Aidil@Way of the Force: when you try to reference the result (ie, call a function in it), you have an object. 
Tue Aug 18 07:19:46 2009 [dgd] Aidil@Way of the Force: a blueprint or original object 
Tue Aug 18 07:19:58 2009 [dgd] Aidil@Way of the Force: which you can also clone to make clones :) 
Tue Aug 18 07:20:12 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 07:20:53 2009 [dgd] Aidil@Way of the Force: while the system can use program references underlying, you will normally not get to deal with those, unless you go meddle with things in /kernel 
Tue Aug 18 07:21:23 2009 [dgd] Sorressean@Falcon: last thing... I think. I have something like object zone; in my room.c file. I have a zone.c which defines the properties for an area, then in the gurba area I have a gurba_zone.c. How would I make the square.c's object zone point to the gurba_zone.c, or a blueprint of a pre-loaded gurba_zone object? and I will probably eventually at some point, but it's to soon for that right now. 
Tue Aug 18 07:23:21 2009 [dgd] Aidil@Way of the Force: look in /sys/lib/user.c, iirc there is a little bit of code in the function upgraded()  that ensures object ansi_d gets assigned 
Tue Aug 18 07:24:25 2009 [dgd] Aidil@Way of the Force: basicly.. zone_d = find_object("/path/to/your/object"); if( !zone_d ) { zone_d = compile_object("/path/to/your/object"); } 
Tue Aug 18 07:24:36 2009 [dgd] Aidil@Way of the Force: somewhere in say.. your create() function 
Tue Aug 18 07:24:54 2009 [dgd] Aidil@Way of the Force: anyway.. need to leave for work. 
Tue Aug 18 07:25:18 2009 [dgd] Sorressean@Falcon: thanks 
Tue Aug 18 07:25:31 2009 [dgd] Sorressean@Falcon: so I'll have to have a #define for that area's object file 
Tue Aug 18 07:25:46 2009 [dgd] Sorressean@Falcon: then I could just use gurba_zone->bla() 
Tue Aug 18 09:22:29 2009 [dgd] Aidil@Way of the Force: that is one way yes :) 
Tue Aug 18 09:42:07 2009 [dgd] Aidil@Way of the Force: I suggest tho you start with creating a few smaller simpler objects and play with how variables and objects work :) 
Tue Aug 18 09:42:47 2009 [dgd] Aidil@Way of the Force: combining the complexity of a weather system with learning about basic lpc laguage constructs may be a bit challanging :) 
Tue Aug 18 09:43:28 2009 [dgd] Quixadhal@Bloodlines: Yes, you might end up like me, discovering the joys of "resource tick limits" and such. :) 
Tue Aug 18 11:05:59 2009 [dgd] Quixadhal@Bloodlines: Yep, found that along my research path.  Western Digital has a utility (WDTLER.exe) to toggle the drive's firmware behavior in that respect.  Makes me wonder what you're actually paying for (other than 2 more years on the warrenty).... 
Tue Aug 18 11:06:52 2009 [dgd] Quixadhal@Bloodlines: They do stress NOT to enable TLER on a non-redundant/parity setup... unless you like unreverable data errors. 
Tue Aug 18 11:14:06 2009 [dgd] Quixadhal@Bloodlines: So far, I'm liking the WD6400AAKS drives... very good performance in reviews, good feedback ratings at several sites, fairly cheap.  Hitachi has some cheap "Deathstar" drives... but I remember when IBM made them. *shiver* 
Tue Aug 18 11:15:24 2009 [dgd] Quixadhal@Bloodlines: I really feel like I'm being forced to choose the lesser evil in this whole endeaver.  I felt GOOD about some of my choices on other parts, but I don't like ANY of the hard drives out there. 
Tue Aug 18 11:42:09 2009 [dgd] Aidil@Way of the Force: disks are always a choice between different evils. 
Tue Aug 18 11:42:34 2009 [dgd] Aidil@Way of the Force: the main difference, tolerance of parts, warranty... 
Tue Aug 18 11:42:59 2009 [dgd] Aidil@Way of the Force: heh. I have an IBM branded one around that is still alive. 
Tue Aug 18 11:43:02 2009 [dgd] Aidil@Way of the Force: but then.. 
Tue Aug 18 11:43:41 2009 [dgd] Aidil@Way of the Force: I also have IBM 400MB and 1GB 'spitfire' scsi disks that have been surviving for some 20 years already. 
Tue Aug 18 11:44:28 2009 [dgd] Aidil@Way of the Force: disks are always a choice between various evils.. since well.. what we are trying in disks is quite pushing the limits of what can be mass produced reliably. 
Tue Aug 18 11:45:55 2009 [dgd] Aidil@Way of the Force: I have 4 WD10EADS-00L5B1 disks around, and 2 WD4000AAKS-00C8A0 disks 
Tue Aug 18 11:47:01 2009 [dgd] Aidil@Way of the Force: so far I'm quite happy with them, they perform nicely and are rather quiet. Also, all of them turned out to not require any sector relocations when rewriting every sector a few times before initial use. 
Tue Aug 18 11:49:58 2009 [dgd] Aidil@Way of the Force: 2 of the WD10EADS disks are in one of those small NAS devices, the other disks are in my 'main' computer. 
Tue Aug 18 16:02:26 2009 [dgd] Sorressean@Falcon waves good morning 
Tue Aug 18 16:29:32 2009 [dgd] Aidil@The Zone: good almost evening :) 
Tue Aug 18 16:30:49 2009 [dgd] Sorressean@Falcon: heh 
Tue Aug 18 16:31:02 2009 [dgd] Nullinfinite@Gurbalib: hi aidil 
Tue Aug 18 16:39:20 2009 [dgd] Nullinfinite@Gurbalib: how did the parser work out you were playing with 
Tue Aug 18 21:06:48 2009 [dgd] Aidil@Way of the Force mumbles something. 
Tue Aug 18 21:07:37 2009 [dgd] Aidil@Way of the Force: ah, Nullinfinite isn't there anymore. ah well :) 
Tue Aug 18 21:37:01 2009 [dgd] Sorressean@Falcon: heh 
Tue Aug 18 21:37:26 2009 [dgd] Aidil@Way of the Force: :) 
Tue Aug 18 21:39:38 2009 [dgd] Aidil@Way of the Force: the answer to his question is.. it went very well, see 'man serialize' 
Tue Aug 18 21:41:53 2009 [dgd] Aidil@Way of the Force: at least at times I try to write documentation for the stuff I add :) 
Tue Aug 18 21:45:08 2009 [dgd] Aidil@Way of the Force: the way this module works is something you may want to look at also for any map system you may create :) the module just provides a generic interface, the actual implementation is seperate, and can easily be replaced, or in this case, you can easily pick one of multiple implementations. 
Tue Aug 18 21:53:55 2009 [dgd] Sorressean@Falcon nods 
Tue Aug 18 21:55:32 2009 [dgd] Kalinash@Fire and Ice: This is a no-nodding zone. 
Tue Aug 18 21:55:44 2009 [dgd] Sorressean@Falcon sorry, falling asleep. :p 
Tue Aug 18 21:59:10 2009 [dgd] Aidil@Way of the Force: this is a no sleeping zone! 
Tue Aug 18 22:28:31 2009 [dgd] Subversion@Way of the Force: Aidil committed Gurbalib revision 318 to svn://wotf.org/gurbalib : Added some info on Gurbalib's history, and updated the kernel intro manpage  
Wed Aug 19 01:11:27 2009 [dgd] Nullinfinite@Gurbalib: /his 
Wed Aug 19 03:13:31 2009 [dgd] Sorressean@Falcon yawns 
Wed Aug 19 09:14:16 2009 [dgd] Aidil@Way of the Force yawns. 
Wed Aug 19 09:14:56 2009 [dgd] Aidil@Way of the Force stretches. 
Wed Aug 19 09:23:30 2009 [dgd] Frutsel@fruts: morning 
Wed Aug 19 14:13:02 2009 [dgd] Quixadhal@Bloodlines: Hmmmm, I think Western Digital is trying to tempt me... newegg just dropped the price on their cavier black 640G's to less than the blue's. 
Wed Aug 19 15:51:49 2009 [dgd] Aidil@Way of the Force: heh. 
Wed Aug 19 22:16:40 2009 [dgd] Quixadhal@Bloodlines: Hrmph 
Wed Aug 19 22:20:13 2009 [dgd] Aidil@GurbaDev1: hrmph you 2! 
Wed Aug 19 22:22:48 2009 [dgd] Quixadhal@Bloodlines: Poking at various lpmud libraries is like browsing the english2foo language dictionary section. 
Wed Aug 19 22:22:52 2009 [dgd] Quixadhal@Bloodlines: Stupidly simple things seem to be called by wildly varying names. :) 
Wed Aug 19 22:23:00 2009 [dgd] Aidil@GurbaDev1: heh. 
Wed Aug 19 22:23:08 2009 [dgd] Aidil@GurbaDev1: welcome to the fragmented world of lpmuds :) 
Wed Aug 19 22:23:17 2009 [dgd] Quixadhal@Bloodlines: I figured a good "simple" task would be to boot up a few of the driver/mudlib package on lpmud.net and just get them all on I3 listening to the same channels. 
Wed Aug 19 22:23:23 2009 [dgd] Quixadhal@Bloodlines chuckles. 
Wed Aug 19 22:23:35 2009 [dgd] Aidil@GurbaDev1: to make matters worse, there are also many functions with the same name in various libs doing wildly different things. 
Wed Aug 19 22:23:46 2009 [dgd] Aidil@GurbaDev1: or at least working in wildly different ways. 
Wed Aug 19 22:24:17 2009 [dgd] Aidil@GurbaDev1: however, gurbalib 0.40 beats much of that by having a find_object() function that does various different things depending on how and where you call it. 
Wed Aug 19 22:24:32 2009 [dgd] Quixadhal@Bloodlines: I figured there shouldn't be THAT many different ways to add oneself to an I3 channel.  Seems a common enough thing to want to do, eh? :) 
Wed Aug 19 22:24:40 2009 [dgd] Aidil@GurbaDev1: heh. 
Wed Aug 19 22:25:34 2009 [dgd] Aidil@GurbaDev1: eventho way of the force and gurbalib actually share some of the i3 code, those 2 are already wildly different.. but that has a lot more to do with how channels are implemented on the lib then with the i3 side of things usually. 
Wed Aug 19 22:26:53 2009 [dgd] Aidil@GurbaDev1: but then, imho talking about lpmuds as a type of mud is like throwing every mud codebase in C on a heap and regarding them as the same type of mud. 
Wed Aug 19 22:30:10 2009 [dgd] Quixadhal@Bloodlines: I am thinking we might want to have a dual interface to many of these things though. 
Wed Aug 19 22:30:42 2009 [dgd] Kalinash@Fire and Ice: IDispatch ? 
Wed Aug 19 22:30:47 2009 [dgd] Aidil@GurbaDev1: hmm. why? 
Wed Aug 19 22:30:54 2009 [dgd] Quixadhal@Bloodlines: Both a command-based system (chan, mudlist, etc) and a menu-driven system (i3tool), for example. 
Wed Aug 19 22:31:00 2009 [dgd] Aidil@GurbaDev1: heh. 
Wed Aug 19 22:31:16 2009 [dgd] Aidil@GurbaDev1: I have been pondering this 'menu' thing for a while, esp. considering porting WOTF's menu system to gurbalib. 
Wed Aug 19 22:31:34 2009 [dgd] Quixadhal@Bloodlines: Some of the other mudlibs out there have very nice, elaborate menu tools for things like permissions, quests, etc. 
Wed Aug 19 22:31:51 2009 [dgd] Quixadhal@Bloodlines: No i3tool though. :( 
Wed Aug 19 22:32:04 2009 [dgd] Aidil@GurbaDev1: its a generic library to generate, present and handle menus. 
Wed Aug 19 22:33:25 2009 [dgd] Aidil@GurbaDev1: but I'm rather unsettled on it. Sure, it is useful, but, menus have 2 major issues. 
Wed Aug 19 22:33:56 2009 [dgd] Aidil@GurbaDev1: first, they tend to get outdated quickly 
Wed Aug 19 22:34:14 2009 [dgd] Aidil@GurbaDev1: second, they have a tendency to promote bloat. 
Wed Aug 19 22:34:25 2009 [dgd] Kalinash@Fire and Ice: bloat is underrated 
Wed Aug 19 22:34:41 2009 [dgd] Aidil@GurbaDev1: go away mickysofty. 
Wed Aug 19 22:34:50 2009 [dgd] Kalinash@Fire and Ice cackles! 
Wed Aug 19 22:34:57 2009 [dgd] Quixadhal@Bloodlines: I think becoming outdated is not the menu's problem, it's the admin's problem for not demoting coders who update the CLI tool without ALSO updating the menu interface appropriate to it. :) 
Wed Aug 19 22:35:27 2009 [dgd] Quixadhal@Bloodlines: Not so sure about bloat... I considered a windowing system (of any kind) bloat for years. 
Wed Aug 19 22:35:52 2009 [dgd] Kalinash@Fire and Ice: operating systems are bloat 
Wed Aug 19 22:36:01 2009 [dgd] Kalinash@Fire and Ice: so are high level languages 
Wed Aug 19 22:36:16 2009 [dgd] Kalinash@Fire and Ice: all you need is an assembler and the cpu docs 
Wed Aug 19 22:36:34 2009 [dgd] Quixadhal@Bloodlines: 11010010100010211010 
Wed Aug 19 22:36:42 2009 [dgd] Kalinash@Fire and Ice: heh 
Wed Aug 19 22:36:57 2009 [dgd] Aidil@GurbaDev1: I'm not arguing the usefulness of it btw, wotf has a generic menu system that gets used a fair bit, and I wrote that originally for KoBra, which also used it a fair bit. 
Wed Aug 19 22:37:05 2009 [dgd] Kalinash@Fire and Ice: is that Itanium asm? 
Wed Aug 19 22:37:22 2009 [dgd] Quixadhal@Bloodlines: Trinary logic FTW! 
Wed Aug 19 22:37:53 2009 [dgd] Aidil@GurbaDev1: and heh, router administration without some useful menu based ui is a nightmare :) 
Wed Aug 19 22:38:29 2009 [dgd] Aidil@GurbaDev1: so I have quite a neat system there that allows me to view and manipulate most router stuff without having to remember a gazillion commands and function names.. 
Wed Aug 19 22:38:39 2009 [dgd] Aidil@GurbaDev1: however.. 
Wed Aug 19 22:38:49 2009 [dgd] Quixadhal@Bloodlines: I particularly liked Skylib's permissions menu system.  You can add any directory path to it, and then add individual wizards or groups to each path, giving read-write access as you go. 
Wed Aug 19 22:38:57 2009 [dgd] Aidil@GurbaDev1: I think that for a mud it is a useful thing to have, but I'm not sure it is something gurbalib should provide beyond possibly a generator for it. 
Wed Aug 19 22:39:16 2009 [dgd] Quixadhal@Bloodlines: One could certainly do that via commands as well, but presenting it as a menu makes it easier to walk around if you're not just doing one quick change. 
Wed Aug 19 22:40:42 2009 [dgd] Quixadhal@Bloodlines: That's sort of where I'm coming from... the command version is nice for when you know what you want to do, but the menu is nicer for browsing settings or doing a bunch of changes in one sitting.  I3 is a good example, as one may wish to add a bunch of local channels in one fell swoop. 
Wed Aug 19 22:41:04 2009 [dgd] Aidil@GurbaDev1: no argument there, but you'll have to convince me that a lightweight, near barebones lib should have a menu system/ 
Wed Aug 19 22:42:52 2009 [dgd] Quixadhal@Bloodlines: I think the ease of use factor makes it worth doing.  Managing the custom colour symbols is another prime candidate. 
Wed Aug 19 22:43:59 2009 [dgd] Aidil@GurbaDev1: but maybe I'll convince myself :) 
Wed Aug 19 22:44:30 2009 [dgd] Quixadhal@Bloodlines: I guess the question is, how much overhead does it bring?  Obviously, one has to create the "tools" that are sets of menus and commands to run, but if the backend menu system is streamlined, they'd all be very similar in code. 
Wed Aug 19 22:45:23 2009 [dgd] Aidil@GurbaDev1: ease of use vs complexity. 
Wed Aug 19 22:47:52 2009 [dgd] Aidil@GurbaDev1: a menu system that can also be used to display and edit data and handles stacked menus is not totally trivial to implement in my experience :) 
Wed Aug 19 22:48:04 2009 [dgd] Quixadhal@Bloodlines: Heh, I used to use the "dialog" system quite a bit (shell scripts). 
Wed Aug 19 22:48:57 2009 [dgd] Aidil@GurbaDev1: yes, and shell can handle many of the not so nice sides of that. 
Wed Aug 19 22:54:12 2009 [dgd] Aidil@GurbaDev1: at any rate :) it is convenient, I agree. I'm convinced it is something gurbalib needs however. 
Wed Aug 19 22:54:39 2009 [dgd] Aidil@GurbaDev1: eh, I'm not convinced. 
Wed Aug 19 22:57:13 2009 [dgd] Aidil@GurbaDev1: I may change my mind on that when the railsgame link works tho.. being able to specify a menu in a simple way, and having the system present it either as html to a web client, or as text to a terminal client is kinda attractive, and can save lots of custom html stuff. 
Wed Aug 19 22:58:50 2009 [dgd] Aidil@GurbaDev1: one idea I have been pondering quite a bit is to create a seperate 'dialog' scripting language, and compile that to lpc. 
Wed Aug 19 22:59:19 2009 [dgd] Thingol@the Void: Anything that makes setting up organizational structure and privs easy is vital for a lib to become successful, imo. New admins want to get to coding a game asap, and will see such things as a nuissance. 
Wed Aug 19 22:59:44 2009 [dgd] Aidil@GurbaDev1: in all fairness, then they should start with DS. 
Wed Aug 19 22:59:55 2009 [dgd] Thingol@the Void: That's why TMI is so popular still. Setting up a staff is ridiculously easy there. 
Wed Aug 19 23:00:59 2009 [dgd] Aidil@GurbaDev1 nods. 
Wed Aug 19 23:01:49 2009 [dgd] Quixadhal@Bloodlines: Only problem with DS is that it's evolved to the point of having a full combat system, environment system, and a few other things that are a bit hairy to rip out.  They're nice, but if they aren't what you want, it's some work to find all the hooks and yank. 
Wed Aug 19 23:02:01 2009 [dgd] Thingol@the Void: Indeed. 
Wed Aug 19 23:02:08 2009 [dgd] Quixadhal@Bloodlines: I don't see some menu-based tools being such an entwined system. 
Wed Aug 19 23:02:20 2009 [dgd] Aidil@GurbaDev1: an alternative is to simply provide a sane setup that will work for many. 
Wed Aug 19 23:02:28 2009 [dgd] Aidil@GurbaDev1: I then challange you to write a generic menu handling system in LPC :) 
Wed Aug 19 23:02:34 2009 [dgd] Aidil@GurbaDev1: we will talk again after that. 
Wed Aug 19 23:03:37 2009 [dgd] Aidil@GurbaDev1: don't get me wrong btw, if someone comes up with a nice menu system for gurbalib, I'd consider that a useful addition. 
Wed Aug 19 23:03:43 2009 [dgd] Aidil@GurbaDev1: however, don't expect me to go spend any time on it in the forseeable future. 
Wed Aug 19 23:04:49 2009 [dgd] Quixadhal@Bloodlines: I assume input_to() is still the poison of choice? 
Wed Aug 19 23:05:04 2009 [dgd] Aidil@GurbaDev1: check the user object, but basicly, yes. 
Wed Aug 19 23:05:31 2009 [dgd] Aidil@GurbaDev1: it is not possible in LPC to send output, and handle the user response in a single execution round. 
Wed Aug 19 23:06:35 2009 [dgd] Aidil@GurbaDev1: the simple consequence is that you have to preserve state over multiple execution rounds. 
Wed Aug 19 23:06:51 2009 [dgd] Aidil@GurbaDev1: not too big a problem when you only have to consider a single user. 
Wed Aug 19 23:06:57 2009 [dgd] Quixadhal@Bloodlines: right, you send the output, set the prompt, and then call input_to (or equivalent) to process whatever the user types next. 
Wed Aug 19 23:08:04 2009 [dgd] Quixadhal@Bloodlines: In MudOS at least, you can pass parameters along with that, I guess I'll find out if dgd is similar. 
Wed Aug 19 23:08:47 2009 [dgd] Thingol@the Void: What's the general reason for a 'segmentation fault' and consequent core dump? 
Wed Aug 19 23:09:04 2009 [dgd] Aidil@GurbaDev1: that can litterally be a million things. 
Wed Aug 19 23:09:24 2009 [dgd] Quixadhal@Bloodlines: A segmentation fault means you attempted to access memory that was in a segment that didn't belong to your process. 
Wed Aug 19 23:09:32 2009 [dgd] Thingol@the Void: Ok, I'll be more precise. I passed 2000*2000 chars through a for loop. 
Wed Aug 19 23:10:09 2009 [dgd] Aidil@GurbaDev1: a number of common reasons, doing recursive stuff that is not wrapped in rlimits() 
Wed Aug 19 23:10:27 2009 [dgd] Aidil@GurbaDev1: it would be useful to have the eval command or code you used.. this is a bit vague :) 
Wed Aug 19 23:10:55 2009 [dgd] Aidil@GurbaDev1: pls drop it in a mail to aidil at wotf.org :) 
Wed Aug 19 23:11:04 2009 [dgd] Thingol@the Void: I was hoping it was an easy one :P 
Wed Aug 19 23:11:58 2009 [dgd] Aidil@GurbaDev1: well, for the easy cases, dgd will actually issue a useful message before the segmentation fault. 
Wed Aug 19 23:12:04 2009 [dgd] Aidil@GurbaDev1: things like 'out of swap segments'. 
Wed Aug 19 23:12:27 2009 [dgd] Aidil@GurbaDev1: if it doesn't, the only way to find out is to load the driver and core file in a debugger, and look at the stack (ie, the bt command in gdb) 
Wed Aug 19 23:12:45 2009 [dgd] Thingol@the Void: Nope, didn't do that. Just the seg fault. I'll mail the code to you now. (Mind you, I was just testing speed+capacity a little) 
Wed Aug 19 23:13:48 2009 [dgd] Aidil@GurbaDev1: a common cause is too deep recursion in code that is not wrapped with rlimits(), but unless you modify the kernel, that should not be possible. 
Thu Aug 20 17:58:25 2009 [dgd] Sorressean@Falcon: sup 
Thu Aug 20 17:59:08 2009 [dgd] Kalinash@Fire and Ice: yo 
Thu Aug 20 18:06:56 2009 [dgd] Nullinfinite@Gurbalib: hey 
Thu Aug 20 18:08:27 2009 [dgd] Sorressean@Falcon: how goes it? 
Thu Aug 20 18:09:34 2009 [dgd] Nullinfinite@Gurbalib: pretty good 
Thu Aug 20 18:10:05 2009 [dgd] Nullinfinite@Gurbalib: hows the weather? 
Thu Aug 20 18:11:47 2009 [dgd] Nullinfinite@Gurbalib: virtual weather even 
Thu Aug 20 18:12:03 2009 [dgd] Sorressean@Falcon: heh. it's going. I bounce around a lot. I started work on it, though. 
Thu Aug 20 18:12:27 2009 [dgd] Nullinfinite@Gurbalib: yeah, its been a month on the project im on...mainly because of me though heh 
Thu Aug 20 18:12:38 2009 [dgd] Sorressean@Falcon: lol. 
Thu Aug 20 18:12:41 2009 [dgd] Sorressean@Falcon: I know how that goes. 
Thu Aug 20 18:47:06 2009 [dgd] Sorressean@Falcon: um... you use %S to do spaces in sprintf, right? like %S3 would make 3 spaces?... 
Fri Aug 21 05:50:54 2009 [dgd] Quixadhal@Bloodlines: printf uses width specifiers for placeholders, so printf("%20s", foo) prints foo right-justified to 20 spaces.  %-20s would be left-justified. 
Fri Aug 21 19:20:49 2009 [dgd] Aidil@Way of the Force stretches. 
Fri Aug 21 22:20:51 2009 [dgd] Subversion@Way of the Force: Aidil committed Gurbalib revision 319 to svn://wotf.org/gurbalib : Fix permissions for code in /std, make warmboot deal better with objects for which no source file is present  
Sat Aug 22 01:46:29 2009 [dgd] Tricky@Rock the Halo scrapes gurbalib repos for http://ebspso.dnsalias.org:8080/wotf-gurbalib/devel/ 
Sat Aug 22 01:46:42 2009 [dgd] Tricky@Rock the Halo: Only 200 changesets to go 
Sat Aug 22 09:49:47 2009 [dgd] Aidil@Way of the Force: heh. 
Sat Aug 22 11:34:56 2009 [dgd] Aidil@Way of the Force smiles sleepily. 
Sat Aug 22 21:26:48 2009 [dgd] Sorressean@Falcon: anyone around that wouldn't mind helping me? I have my score command set up similar to what I want, but I'm having issues because it's putting in a blank line where it's not supposed to. 
Sat Aug 22 21:27:28 2009 [dgd] Sorressean@Falcon: nvm... I got it! :p 
Sat Aug 22 21:46:28 2009 [dgd] Aidil@GurbaDev2: :) 
Sat Aug 22 21:46:35 2009 [dgd] Aidil@GurbaDev2: sorry, kinda busy here. 
Sat Aug 22 21:47:30 2009 [dgd] Sorressean@Falcon: tis chill. I got it figured out. 
Sat Aug 22 21:47:36 2009 [dgd] Aidil@GurbaDev2: theres a party going on downstairs, I'm playing 'dj' for them :) 
Sat Aug 22 21:47:48 2009 [dgd] Sorressean@Falcon: haut 
Sat Aug 22 21:57:02 2009 [dgd] Sorressean@Falcon: hmm. does dgd have a mysql plugin so I can access databases? 
Sun Aug 23 01:38:11 2009 [dgd] Sorressean@Falcon: anyone around? I'm rather confused about something 
Sun Aug 23 08:51:18 2009 [dgd] Aidil@GurbaDev2 smiles sleep. 
Sun Aug 23 08:51:27 2009 [dgd] Aidil@GurbaDev2: eh. 
Sun Aug 23 13:14:00 2009 [dgd] Subversion@Way of the Force: Aidil committed Gurbalib revision 320 to svn://wotf.org/gurbalib : fix displaying the login and motd messages  
Sun Aug 23 15:30:08 2009 [dgd] Sorressean@Falcon: ok, so apparently the new update requires a hard boot 
Sun Aug 23 15:36:30 2009 [dgd] Kalinash@Fire and Ice: steel toed 
Sun Aug 23 15:36:49 2009 [dgd] Sorressean@Falcon: ? 
Sun Aug 23 16:09:46 2009 [dgd] Aidil@Way of the Force: it shouldn't. a warmboot should do. 
Sun Aug 23 16:10:15 2009 [dgd] Aidil@Way of the Force: if an update ever requires a 'cold' reboot, it will be mentioned very explicitly. if warmboot does not work, it is a bug. 
Sun Aug 23 16:12:25 2009 [dgd] Aidil@Way of the Force: the reason being that for a persisent mud, warmboot must work at all times. 
Sun Aug 23 16:13:01 2009 [dgd] Sorressean@Falcon nods 
Sun Aug 23 16:13:08 2009 [dgd] Sorressean@Falcon: warmboot had an error, so I just did a cold boot 
Sun Aug 23 16:13:57 2009 [dgd] Quixadhal@Bloodlines: That's part of the reason I kindof twisted Noah's arm, back when he was first writing Phantasmal, to include a file format that things could be dumped/restored from outside the state dump. 
Sun Aug 23 16:14:32 2009 [dgd] Aidil@Way of the Force: pls, if warmboot ever fails due to other reasons then your own, report it asap :) 
Sun Aug 23 16:14:36 2009 [dgd] Quixadhal@Bloodlines: Just in case you got yourself into a corrupt state without realizing it right away... nice to not lose all your work or go hunting down earlier backups AND driver versions. 
Sun Aug 23 16:14:52 2009 [dgd] Sorressean@Falcon: it didn't tell me the error, it was just kind enough to tell me it failed. :p 
Sun Aug 23 16:15:23 2009 [dgd] Aidil@Way of the Force: well, the consequence for phantasmal is an internal data strcture that requires a few years study to understand :P 
Sun Aug 23 16:15:27 2009 [dgd] Quixadhal@Bloodlines: Oh yeah, make sure you always keep about 100 backups of your state dumps, preferably labeled with the driver version they ran under. :) 
Sun Aug 23 16:15:53 2009 [dgd] Sorressean@Falcon: hahaha. I couldn't even tell you where those are. but I don't think I use them 
Sun Aug 23 16:16:08 2009 [dgd] Quixadhal@Bloodlines: *heh*  Yeah, it did get a little more complex than I expected it to... 
Sun Aug 23 16:16:46 2009 [dgd] Aidil@Way of the Force: I don't know, Quixandhal, I am running a persistent mud for years now. If you are sane, you can always repar a problematic statedump from inside the mud. 
Sun Aug 23 16:17:52 2009 [dgd] Aidil@Way of the Force: I understand the 'I want a human readable format', but I have only encountered one situation where it might have been very helpful in about 8 years time. 
Sun Aug 23 16:18:30 2009 [dgd] Sorressean@Falcon: I should probably figure out how those work though, I don't want players losing eq every time we reboot 
Sun Aug 23 16:18:31 2009 [dgd] Aidil@Way of the Force: a situation which I managed to resolve by modifying the dump loaded of dgd :) 
Sun Aug 23 16:18:57 2009 [dgd] Aidil@Way of the Force nods. 
Sun Aug 23 16:19:28 2009 [dgd] Aidil@Way of the Force: from my point of view, rebooting the server and rebooting the game are 2 entirely different things. 
Sun Aug 23 16:19:57 2009 [dgd] Aidil@Way of the Force: you may find OBJECT_D useful, it keeps track of every loaded game object (which can then get you every clone of it) 
Sun Aug 23 16:20:38 2009 [dgd] Sorressean@Falcon: well, yeah. but sometimes server is needed. and nods, I'll take a look. does everything automatically get dumped? 
Sun Aug 23 16:20:51 2009 [dgd] Aidil@Way of the Force nods. 
Sun Aug 23 16:21:19 2009 [dgd] Quixadhal@Bloodlines: Oh, I agree.  Under normal circumstances, I'd rather not reboot the game.  But, it's nice to have a way to rescue the data if you ever get to that position.  For that matter, if the dump file format is well documented, one could probably write a utility to extract/import things in and out of it. 
Sun Aug 23 16:21:43 2009 [dgd] Aidil@Way of the Force: statedumps are made every hour, see 'man local_config'. 
Sun Aug 23 16:21:50 2009 [dgd] Sorressean@Falcon: awesome. maybe i don't have to take a look. :p 
Sun Aug 23 16:21:52 2009 [dgd] Aidil@Way of the Force: they are also made on shutdown. 
Sun Aug 23 16:22:12 2009 [dgd] Aidil@Way of the Force: all you need to know is how to load it again on driver startup. 
Sun Aug 23 16:22:29 2009 [dgd] Aidil@Way of the Force: which is simply a matter of providing the dump file as extra argument. 
Sun Aug 23 16:22:41 2009 [dgd] Sorressean@Falcon: o. that's easy. 
Sun Aug 23 16:23:30 2009 [dgd] Aidil@Way of the Force: re: quixadhal, yes, it would be useful, but the consequence for the lib is so much complexity that I found it not worth the efford. 
Sun Aug 23 16:23:51 2009 [dgd] Aidil@Way of the Force: modifying the dumploader of dgd to do what you want is less work. 
Sun Aug 23 16:23:55 2009 [dgd] Aidil@Way of the Force: way less work. 
Sun Aug 23 16:24:13 2009 [dgd] Quixadhal@Bloodlines: Hmmmm, might be handy to have a little utility to safely copy a live dump file (IE: flock/copy/unlock) so cron can do backups without caring when DGD happens to be dumping.... 
Sun Aug 23 16:24:27 2009 [dgd] Aidil@Way of the Force: abeit, it does require writing C code and understanding some of the driver internals. 
Sun Aug 23 16:24:54 2009 [dgd] Quixadhal@Bloodlines: or perl *grin* 
Sun Aug 23 16:25:32 2009 [dgd] Aidil@Way of the Force: well, modifying the dumploader requires C. you could do a converter in perl, but Dworkin has this habbit of changing the dumpfile format every so often. 
Sun Aug 23 16:25:39 2009 [dgd] Aidil@Way of the Force: so that is a pain to keep uptodate. 
Sun Aug 23 16:25:40 2009 [dgd] Sorressean@Falcon: perl is only for old angry sysadmins who need more fiber in their diet... python! 
Sun Aug 23 16:26:04 2009 [dgd] Aidil@Way of the Force: a language that treats whitespace as syntax is out of the question. 
Sun Aug 23 16:26:20 2009 [dgd] Sorressean@Falcon frowns 
Sun Aug 23 16:26:33 2009 [dgd] Quixadhal@Bloodlines: I said perl... not python. 
Sun Aug 23 16:26:40 2009 [dgd] Aidil@Way of the Force: regardless. 
Sun Aug 23 16:26:45 2009 [dgd] Quixadhal@Bloodlines: Oh, SOrr said python. :) 
Sun Aug 23 16:26:59 2009 [dgd] Quixadhal@Bloodlines: perl only looks like it uses whitespace as syntax 
Sun Aug 23 16:27:51 2009 [dgd] Quixadhal@Bloodlines: Hmmm, I bet the dumpfile format has changed a bit since 1.1, eh? 
Sun Aug 23 16:28:07 2009 [dgd] Aidil@Way of the Force: yes. 
Sun Aug 23 16:28:16 2009 [dgd] Aidil@Way of the Force: the idea is still similar. 
Sun Aug 23 16:28:56 2009 [dgd] Aidil@Way of the Force: and it tends to change quite often. 
Sun Aug 23 16:29:11 2009 [dgd] Aidil@Way of the Force: ie, last format change is from 1.3.1 to 1.3.2 
Sun Aug 23 16:29:23 2009 [dgd] Aidil@Way of the Force: the one before that.. 1.2.157 to 1.3 
Sun Aug 23 16:29:24 2009 [dgd] Sorressean@Falcon: hrm. why don't you just write the flock into the driver? 
Sun Aug 23 16:30:15 2009 [dgd] Sorressean@Falcon: I haven't seen it, but my guess is you could write it in where it's going to start writing to file. 
Sun Aug 23 16:30:29 2009 [dgd] Aidil@Way of the Force: the driver does some funny stuff when writing the dumpfile. In fact, it moves the swap file and completes it (ensuring any cached changes are also written) and then modifies the header. 
Sun Aug 23 16:30:35 2009 [dgd] Quixadhal@Bloodlines: It may already do so, but I don't want to assume it does.  I also don't want to modify the driver for something that trivial. :) 
Sun Aug 23 16:30:49 2009 [dgd] Aidil@Way of the Force: why not have cron copy dump.old 
Sun Aug 23 16:31:05 2009 [dgd] Sorressean@Falcon: weird. 
Sun Aug 23 16:31:08 2009 [dgd] Aidil@Way of the Force: it is a move of an by definition complete dump file made just before the statedump is done. 
Sun Aug 23 16:31:18 2009 [dgd] Sorressean@Falcon: but it has to open and close the file, no? or does it just leave it open 
Sun Aug 23 16:31:40 2009 [dgd] Aidil@Way of the Force: read the source :) 
Sun Aug 23 16:31:51 2009 [dgd] Quixadhal@Bloodlines: If the driver is actively writing to the open dump file at the time you attempt to do the copy, the state wouldn't be guaranteed to be sane unless it uses flock itself. 
Sun Aug 23 16:32:26 2009 [dgd] Quixadhal@Bloodlines: Just like doing a backup of an SQL database without starting a transaction first... not good. 
Sun Aug 23 16:32:38 2009 [dgd] Sorressean@Falcon: why? I was just giving suggestions for how what he wanted might be done. it doesn't affect me either way. and yeah, that's why I was asking if the driver kept the file open. If it didn't, you could add the flock in when it opened and unlock when it closed 
Sun Aug 23 16:32:55 2009 [dgd] Sorressean@Falcon: so that you wouldn't have to worry about locking and unlocking each time a bit of the cache was written 
Sun Aug 23 16:34:13 2009 [dgd] Quixadhal@Bloodlines: Hrmph... dump.old eh? 
Sun Aug 23 16:35:00 2009 [dgd] Aidil@Way of the Force nods. 
Sun Aug 23 16:35:20 2009 [dgd] Aidil@Way of the Force: why.. well, because the answer is there :) 
Sun Aug 23 16:36:29 2009 [dgd] Quixadhal@Bloodlines: Aidil, how difficult is it to make the kind of cheesy old "invisible objects" we used back in the old days of lpmuds?  I was thinking that might be the simplest way to tackle that menu thing we were talking about.  Just pack the state into one of those, since you *should* only be in one menu-oriented input snagging thing at a time. 
Sun Aug 23 16:37:50 2009 [dgd] Quixadhal@Bloodlines declares that the word object has been overloaded one too many times in the context of computer science. 
Sun Aug 23 16:38:16 2009 [dgd] Aidil@Way of the Force: not too difficult. 
Sun Aug 23 16:38:43 2009 [dgd] Aidil@Way of the Force: was actually intending to add invis once I am out of this auth/connection kinda stuff. 
Sun Aug 23 16:39:28 2009 [dgd] Aidil@Way of the Force: btw.. currently, you can get the entire inventory of objects.. that is used very little throughout the lib, and I'm pondering preventing that alltogether. 
Sun Aug 23 16:40:47 2009 [dgd] Aidil@Way of the Force: adding support to the container class to describe the entire inventory (for use in descriptions). It would allow those who want to code a more advanced inventory system to do so (remembering the collapsable item discussion we had some time ago) 
Sun Aug 23 16:41:25 2009 [dgd] Quixadhal@Bloodlines: Right. 
Sun Aug 23 16:42:28 2009 [dgd] Quixadhal@Bloodlines: I suspect few things in game-space would need the full list of all (physical) objects in the game... that's more useful for update/upgrade activities. 
Sun Aug 23 16:42:58 2009 [dgd] Quixadhal@Bloodlines: It would be handy for an admin tool, since you may want to see every object that has the word "green" in the description. 
Sun Aug 23 16:43:32 2009 [dgd] Quixadhal@Bloodlines: The infamous "ofind" command from Dikuville. :) 
Sun Aug 23 16:43:58 2009 [dgd] Aidil@Way of the Force: at any rate.. to answer the 'does dgd keep the file open question', before writing a statedump, it will close the dump file (if it is open, which it is if you restored from a dump or it made a dump before), move it and then open a new file. during this time, the swapfile is also closed and reopened. 
Sun Aug 23 16:44:15 2009 [dgd] Aidil@Way of the Force: well.. different kind of use, OBJECT_D seems to be more what you are looking for. 
Sun Aug 23 16:45:15 2009 [dgd] Aidil@Way of the Force: as just mentioned, it can tell you all loaded objects. The blueprint of an object can get you all the clones of it. 
Sun Aug 23 16:45:57 2009 [dgd] Aidil@Way of the Force: re: 'green objects in current environment', I'd rather see the container class being able to return all green objects or such :) 
Sun Aug 23 16:46:28 2009 [dgd] Aidil@Way of the Force: a lot depends on scale also. 
Sun Aug 23 16:47:10 2009 [dgd] Aidil@Way of the Force: if you intend to have some hundreds to a few thousand objects (monsters, game objects, rooms) then its all pretty simple. 
Sun Aug 23 16:47:32 2009 [dgd] Aidil@Way of the Force: if you want to be able to support millions of objects, then it becomes quite difficult. 
first << < 35 36 37 38 39 40 41 42 43 44 45 > last

Go to the top | Channel Index