Crossfire Server, Trunk
Modules
Here is a list of all modules:
 Quest file parsing state.This is the parsing state when loading a file through QuestLoader::load()
 Treasure lists
 Assets flagsWhat to collect when calling assets_collect()
 Attack types
 Subtypes for ::BUILDER objects.
 Subtypes for ::MATERIAL objects.
 Weapon types
 Pickup modesDefinitions for detailed pickup descriptions. The objective is to define intelligent groups of items that the user can pick up or leave as he likes
 Convenience macros to determine what kind of things we are dealing with.
 Object flagsThose flags are object-related flags, stored in the obj::flags fields
 Movement types and related macros.Those flags are all possible movement types
 Monster movements
 Player state.Use of the state-variable in player objects
 Flags for apply_special().Those flags correspond to the aflags parameter of the apply_special() function
 flags for apply_changes_to_player()These flags determine what apply_changes_to_player() does for stat adjustment, if anything
 Values returned by apply_can_apply_object().Bitmask values for 'apply_can_apply_object()' return values. the CAN_APPLY_ prefix is to just note what function the are returned from
 Event codes.To not have to check the whole inventory each time, each object has a event_bitmask field which indicates whether the object has a handler or not for this event. The bitmask is updated when an event hook is inserted into another, and cleaned when a hook is removed from an object. In this case is it recomputed the first time it is needed
 Beginnings of linked lists.
 Misc global variables.
 For plugin eventsGROS: Those are used by plugin events (argument fixthem)
 God description flags, used with describe_god().
 Map layers
 Map loading flagsOptions passed to ready_map_name() and load_original_map()
 Save object flagsFlags for save_object() and save_objects(). Can be combined for various effects
 Save map flagsHow save_map() should save the map. Can't be combined
 Values for mapstruct->in_memory field.
 Save error valuesThose values are returned by save_map(), save_object() and save_objects()
 Square flags.These are used in the MapLook flags element. They are not used in in the object flags structure
 Material types.
 What monsters applyHow monsters should handle some items they have or things on the ground. Those flags correspond to the object::will_apply field
 Object update flagsUsed by object_update() to know if the object being passed is being added or removed
 Object free flagsUsed by object_free() to specify options
 Object insertion flags.These are flags passed to object_insert_in_map() and object_insert_in_ob(). Note that all flags may not be meaningful for both functions. Most are fairly explanatory:
 Flags to search players through find_player().Those flag control what player should be returned
 Flags - flags passed to add_player()To control behavior
 Random map layout
 Random map layout options.Move these defines out of room_gen_onion.c to here, as other files (like square_spiral) also uses them
 Random map symetrySymmetry definitions – used in this file AND in treasure::c, the numerical values matter so don't change them
 Type values present in map2 commands.The different type values that may be present in a map2 command. These are described in the protocol entry in more detail. These values are sent in the bottom 5 bits of their byte, the top 3 are for the length of the data that is sent
 FLOAT_xxx multipliers for changing floats to int.And vice versa
 CS_STAT_xxx IDs for character statistics.
 SF_xxx Masks used in conjunction with fire and run states.These values are used with CS_STAT_FLAGS above to communicate S->C what the server thinks the fireon & runon states are
 CF_xxx Masks used in conjunction with CS_STAT_CHARACTER_FLAGS.
 ACL_xxx field IDs that support account login.These values are used for the account login code to denote what field follows. ACL = Account Character Login
 NDI_xxx message color flags and masks.The following are the color flags passed to new_draw_info()
 F_xxx flags for the item command.
 FACE_xxx magic map masks.Used in the new_face structure on the magicmap field. Low bits are color information. For now, only high bit information we need is for the floor
 UPD_xxx UpdSpell constants.
 Sound types
 Animation constants.
 EMI_xxx extended map constants.Even if the client select the additionnal infos it wants on the map, there may exist cases where this whole info is not given in one bunch but in separate bunches. This is done performance reasons (imagine some info related to a visible object and another info related to a 4 square width and height area). At the begin of an extended info packet is a bit field. A bit is activated for each extended information present in the data
 MSG_TYPE_xxx message types
 Experience flagsThis is used in the exp functions - basically what to do if the player doesn't have the skill he should get exp in
 Spell path
 Spell/grace pointsThis is passed to SP_level_spellpoint_cost() to determine what to check. These values are also used in other places when we want to pass into a function if it is a cleric spell or a wizard (mana) spell
 Spell subtypesThis is the subtype for the SPELL type. Start at 1 so that it is easy to see 0 as an uninitialized value. Note that for some spells, subtype pretty accurately describes the entire spell (SP_DETECT_MAGIC). But for other, the subtype may not really say much (eg, SP_BOLT), and it is other fields within the object which really determines its properties. No effort is made to match these new numbers with the old ones, and given there is not a 1:1 mapping, you can't do that anyways
 Potion subtypes.Subtypes for POTION
 Force subtypesThis is for the FORCE subtypes
 Random spiral map options
 Special objects in random map
 Random map holes
 Treasure optionsSome defines for various options which can be set for random map treasures
 Emotes players can use to communicate
 City bell moduleRings the temple bells in the main cities
 City life moduleThis module adds random NPCs to town, and makes them enter houses, spawns new ones
 Random house generation moduleThis module links unused exits to random maps. The random map parameters vary based on the map it is in, but each exit will always use the same random seed to have the same layout and content