From: MIGUEL A. B. L. <mb...@fe...> - 2002-01-17 20:22:27
Attachments:
attributes.master.txt
|
Quoting Peter Gantner <pet...@un...>: > > After talking to miguel on IRC I reviewed and updated the template, > merging the old "object template" into it. > > I also attach three examples, I hope they make the thing clearer. > > Please review that and tell me what needs to be added or removed, and > perhaps give me an example how this can be translated to XML. > > Hope that helps, > Peter G. Here is my modifications. Please if you don't agree, I would like to discuss it. Also I have disabled several attribs that MUST not reside on the template. I think that a few more revisions should not be bad... I really dislike the part of GFX and AUDIO, because it really don't allow a good Renderer integration... but I have no idea actually now. Regards, Miguel |
From: Brian K. <b_...@ho...> - 2002-01-18 23:03:51
|
>Please review that and tell me what needs to be added or removed, and >perhaps give me an example how this can be translated to XML. What about the Crystal Space parser? (As opposed to XML.) (I tried writing an object template[-like thing] in CS format, attached) BK _________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com |
From: MIGUEL A. B. L. <mb...@fe...> - 2002-01-19 11:01:02
|
Quoting Brian Kamps <b_...@ho...>: > >Please review that and tell me what needs to be added or removed, and > >perhaps give me an example how this can be translated to XML. > > What about the Crystal Space parser? (As opposed to XML.) > (I tried writing an object template[-like thing] in CS format, attached) No, because it make us depend on Crystal Space. I seriously would like to limit as much as possible the dependence of the server of "not standart" libraries. BTW You didn't attached it. |
From: Brian R. <bri...@ya...> - 2002-01-18 04:15:49
|
--- MIGUEL ANGEL BLANCH LARDIN <mb...@fe...> wrote: > # master document of object attributes. > # this lists all attributes any object can have. > # attributes with a prefixed underscore (_) are > optional > # ****************************** > # > # Format conventions: > # values are enclosed in "" seperated by whitespace. > > # attribute pairs in lists are seperated by a single > comma > # so this is the most simple format: > # <attributename> = "<stuff>" > # this the most complex > # <attributename> = "<stuff-1>,<stuff-2> > <other-stuff-1>,<other-stuff-2>" > # everything after a # until the next newline is > treated as a comment > # > # the format may change to XML so don't care too > much > > > ### *** GENERAL SECTION *** > [GENERAL] > > type = (TypeID) # This is the unique > type of the object class. > name = (String) # This is the name of > the class of the object. > descr_short = (String) # a short description (1 > line) > descr_file = (FilePath) # This is a file > containing a detailed description of the object or > object class. > obj_ondestruction = (LIST<TypeID,amount>) # LIST is > one or more of: TypeID, (Uint8) Amount > # and describes what new objects are spawned > if > # this one is destroyed > # Should be in other way, I love the way of > on_destruction...so we can assume ( rightly ) that > to eat you have to destroy it. > # obj_isedible = (BOOL,INT) # nourishment > value, negative meaning poisonous > > > [PHYSICS] > # Not really to be part of the template. > # The template refers to the attrib the Object must > have on creation time. > # Position is a runtime attribute. > # position_x = (Uint8) > # position_y = (Uint8) > # position_z = (Uint8) > # rotation_x = (Uint8) > # rotation_y = (Uint8) > # rotation_z = (Uint8) > volume = (Uint32,Uint32) # This is the > volume of the object class(Radius, Height) in AUD > # ( 1 AUD > equals to 10 cm ) > material = (TypelID) # This is the > main material of the object. > weight = (Uint32) # This is the weight > of the object in AUW > # ( 1 AUW equals to 10 gr ) > > [MAGIC] > # magic_type(value,resistance) > # value being the amount of magical energy it holds, > resistance is the > # resistance of this object to magic of that type. > magic_alchemy(Uint8,Uint8) > magic_binding(Uint8,Uint8) > magic_air(Uint8,Uint8) magic_earth(Uint8,Uint8) > magic_fire(Uint8,Uint8) magic_water(Uint8,Uint8) > magic_wood(Uint8,Uint8) magic_body(Uint8,Uint8) > magic_mind(Uint8,Uint8) magic_spirit(Uint8,Uint8) > magic_void(Uint8,Uint8) No complaints until now... we cannot go from: "key=value" to: "key(value)" That will cause far too much overhead in the parser All this magic stuff should be like this: magic_alchemy=Uint8,Uint8 > > [GFX] # This is the Index of the GFX associated the > object class. > gfx = (LIST<ActionType,GFX File>) # The list > contain an entry (or more) for each action > > [AUDIO] > # here a sound is defined for each action. if more > than one is specified, they are chosen at random. > audio = (LIST<ActionType,Audio File>) # The list > contain an entry (or more) for each action > # > ActionType=NULL for random sound. > > # Let's forget about Smell until ALPHA 3. > # > #[SMELL] > #smell = (LIST) # LIST is a list of smell types. > Smell is not implemented. > # > > > ### *** ACTIVE SECTION *** > [ACTIVE] > > [RP_ATTRIBUTES] > strengh = (Uint8) > agility = (Uint8) > dexterity = (Uint8) > intellect = (Uint8) > react = (Uint8) > perception = (Uint8) > essence = (Uint8) > > [ACTIVE STATE] > # note that any object must either have this, or the > passive section below, defined, but never both > active_alive = (Uint8) # 1=alive 2=dead 3=undead > active_move = (LIST) # LIST consists of > movement-type,speed pairs > > # Again, this as position is not part of the object > but of it is runtime enviroment. > # active_doing = (ActionID) # The ID of the Action > the Object is currently taking. > # > > [SLOTS] > # These are the slots that are present on the object > ( true ) or not ( false ) > slot_head = (BOOL) > slot_chest = (BOOL) > slot_back = (BOOL) > slot_hand_r = (BOOL) > slot_hand_l = (BOOL) > # Let's disable "extra" features until BETA stage. > # slot_front_leg_r = (BOOL) # we need these in > addition to "hand" because things like centaurs have > # slot_front_leg_l = (BOOL) # 4 legs plus 2 arms. > slot_hind_leg_r = (BOOL) > slot_hind_leg_l = (BOOL) > # Let's disable "extra" features until BETA stage. > # slot_extra = (LIST) # for tentacle-bearing > monsters, three-headed monkeys etc. > # list is an array of n_index,BOOL pairs > > [BIOLOGY] # this is MANDATORY for every > animal and plant > bio_gender = (Uint8) # 1=female 2=male > 3=both 0=none > bio_produce = (LIST<ActionType,ObjectType,Amount>) # > LIST consists of ObjectID,Frequency pairs. used to > define things like > # excreteing, egg-laying, giving birth, > breathing fire > # Let's disable "extra" features until BETA stage. > # bio_track = (LIST) # LIST consists of > movement_type,GfxID pairs, and defines the > footprints the > # animal leaves behind. > bio_ingest = (LIST<ObjectType,Sint8>) # LIST > contains the types of food and drink the animal > can/must/will use > # The number > define how good is that for the Object. - bad, + > good, 0 is not useful, but don't hurt. > > > ### *** PASSIVE SECTION *** > [PASSIVE] > passive_iscontainer = (Uint8) # zero if the object > is no container, 1 for gas, > # 2 for liquids, 4 for dust, 8 for solid > objects, any sum of > # these for multiple. > passive_container_volume= (Float) # This is the > volume this object can contain. > passive_iscontainable = (Uint8) # determines > wether this object can be contained in another > object > # zero if the object is no container, 1 for > gas, > # 2 for liquids, 4 for dust, 8 for solid > objects, any sum of > # these for multiple. > > > # TODO: should each object "know" where it is > contained, > # or each container know what it contains? Then we > use one of these two: > # passive_containable_iscontained=(BOOL, ObjectID) # > ObjectID of container Object > # Again this is part of the runtime enviroment of > the object and should not be on the template. > # passive_container_content = (LIST) # LIST of > ObjectIDs of contained Object > > passive_attribute = > (LIST<AttributeName,AttributeDescription,LIST(AttributePossibleValues)|NULL>) > # We have a list that contains attributes the > Object can have, it description and a list of the > possible > # Values or a > NULL field there. > # Example : > <"DoorOpen","Is the DoorOpen",["TRUE","FALSE"]> > # We now need to > agree a common way of defining attribs and possible values. From a quick glance, this looks ok... I will mail what I have of the Shema now... ===== "Teach a man to make fire, and he will be warm for a day Set a man on fire, and he will be warm for the rest of his life." - John Hrastar __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ |