MSCO07
Baseline - MSCO 07
SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.
|
BaseLine StructFew bytes left to figure out on this one. SHORT: ObjOpperandCount INT: SlotNameList INT: UpdateCounter { ASTRING: SlotNameTable INT: NotUsed ASTRING: SlotName } INT: SlotContentsList INT: UpdateCounter { INT: SlotContentType } INT: IngridientList INT: UpdateCounter { INT: Counter { LONG: IngredientID } } INT: QuantityList INT: UpdateCounter { INT: Counter { INT: IngredientQuantity } } INT: SlotQualityList INT: UpdateCounter { FLOAT: Quality } INT: CleanSlotList INT: UpdateCounter { INT: Value } INT: SlotIndexList INT: UpdateCounter { INT: SlotIndex } BYTE: IngredientsCounter INT: ExperimentationNameList INT: UpdateCounter { ASTRING: ExperimentationTable INT: NotUsed ASTRING: ExperimentationName } INT: CurrentExperimentationValueList INT: UpdateCounter { FLOAT: CurrentExperimentationValue } INT: ExperimentationOffsetList INT: UpdateCounter { FLOAT: ExperimentationValueOffset } INT: BlueBarSizeList INT: UpdateCounter { FLOAT: Size } INT: MaxExperimentationList INT: UpdateCounter { FLOAT: MaxExperimentationValue } INT: CustomizationNameList INT: UpdateCounter { ASTRING: CustomizationName } INT: PalleteSelectionList INT: UpdateCounter { INT: PalleteSelection } INT: PalleteStartIndexList INT: UpdateCounter { INT: PalleteStartIndex } INT: PalleteEndIndexList INT: UpdateCounter { INT: PalleteEndIndex } BYTE: CustomizationCounter FLOAT: RiskFactor INT: ObjectTemplateCustomizationList INT: UpdateCounter { ASTRING: ObjectTemplateIFF } BYTE: ReadyFlag Deltas StructI've written the deltas part numbers in the baseline above. This Packet is to huge that one could make sense of it without structure. Thus the Delta parts themselves are further divided into - lets call them - slotspots. For every slot there is a 3 Byte slotspot in the Deltapart, save part 7, where the byte stale flag (??) is. So that every slotspot can be modified on its own and the monster gets more palateable the slotspots must be inserted. Think of it as a kind of FlowControl. So to set the amount of resource that got filled into the first slot : SHORT: UpdateCount SHORT: UpdateType { 00: INT: SlotNameList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index ASTRING: SlotNameTable INT: NotUsed ASTRING: SlotName 02:(change) SHORT: Index ASTRING: SlotNameTable INT: NotUsed ASTRING: SlotName 03:(resetall) SHORT: NewListSize { ASTRING: SlotNameTable INT: NotUsed ASTRING: SlotName } 04:(clear) } } 01: INT: SlotContentsList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: SlotContentType 02:(change) SHORT: Index INT: SlotContentType 03:(resetall) SHORT: NewListSize { INT: SlotContentType } 04:(clear) } } 02: INT: IngridientList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: 01:(add) SHORT: Index INT: Counter { LONG: IngredientID } 02:(change) SHORT: Index INT: Counter { LONG: IngredientID } 03:(resetall) SHORT: NewListSize { INT: Counter { LONG: IngredientID } } 04:(clear) } } 03: INT: QuantityList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: Counter { INT: IngredientQuantity } 02:(change) SHORT: Index INT: Counter { INT: IngredientQuantity } 03:(resetall) SHORT: NewListSize { INT: Counter { INT: IngredientQuantity } } 04:(clear) } } 04: INT: SlotQualityList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index FLOAT: Quality 02:(change) SHORT: Index FLOAT: Quality 03:(resetall) SHORT: NewListSize { FLOAT: Quality } 04:(clear) } } 05: INT: CleanSlotList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: Value 02:(change) SHORT: Index INT: Value 03:(resetall) SHORT: NewListSize { INT: Value } 04:(clear) } } 06: INT: SlotIndexList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: SlotIndex 02:(change) SHORT: Index INT: SlotIndex 03:(resetall) SHORT: NewListSize { INT: SlotIndex } 04:(clear) } } 07: BYTE: IngredientsCounter 08: INT: ExperimentationNameList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index ASTRING: ExperimentationTable INT: NotUsed ASTRING: ExperimentationName 02:(change) SHORT: Index ASTRING: ExperimentationTable INT: NotUsed ASTRING: ExperimentationName 03:(resetall) SHORT: NewListSize { ASTRING: ExperimentationTable INT: NotUsed ASTRING: ExperimentationName } 04:(clear) } } 09: INT: CurrentExperimentationValueList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index FLOAT: CurrentExperimentationValue 02:(change) SHORT: Index FLOAT: CurrentExperimentationValue 03:(resetall) SHORT: NewListSize { FLOAT: CurrentExperimentationValue } 04:(clear) } } 0A: INT: ExperimentationOffsetList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index FLOAT: ExperimentationValueOffset 02:(change) SHORT: Index FLOAT: ExperimentationValueOffset 03:(resetall) SHORT: NewListSize { FLOAT: ExperimentationValueOffset } 04:(clear) } } 0B: INT: BlueBarSizeList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index FLOAT: Size 02:(change) SHORT: Index FLOAT: Size 03:(resetall) SHORT: NewListSize { FLOAT: Size } 04:(clear) } } 0C: INT: MaxExperimentationList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index FLOAT: MaxExperimentationValue 02:(change) SHORT: Index FLOAT: MaxExperimentationValue 03:(resetall) SHORT: NewListSize { FLOAT: MaxExperimentationValue } 04:(clear) } } 0D: INT: CustomizationNameList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index ASTRING: CustomizationName 02:(change) SHORT: Index ASTRING: CustomizationName 03:(resetall) SHORT: NewListSize { ASTRING: CustomizationName } 04:(clear) } } 0E: INT: PalleteSelectionList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: PalleteSelection 02:(change) SHORT: Index INT: PalleteSelection 03:(resetall) SHORT: NewListSize { INT: PalleteSelection } 04:(clear) } } 0F: INT: PalleteStartIndexList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: PalleteStartIndex 02:(change) SHORT: Index INT: PalleteStartIndex 03:(resetall) SHORT: NewListSize { INT: PalleteStartIndex } 04:(clear) } } 10: INT: PalleteEndIndexList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index INT: PalleteEndIndex 02:(change) SHORT: Index INT: PalleteEndIndex 03:(resetall) SHORT: NewListSize { INT: PalleteEndIndex } 04:(clear) } } 11: BYTE: CustomizationCounter 12: FLOAT: RiskFactor 13: INT: ObjectTemplateCustomizationList INT: UpdateCounter { BYTE: SubType { 00:(remove) SHORT: Index 01:(add) SHORT: Index ASTRING: ObjectTemplateIFF 02:(change) SHORT: Index ASTRING: ObjectTemplateIFF 03:(resetall) SHORT: NewListSize { ASTRING: ObjectTemplateIFF } 04:(clear) } } 14: BYTE: ReadyFlag } |
Variable DescriptionsObj_OperandCount = Tags
|