Primitive 0x0079 - Change Outfit
This primitive changes the outfit a Sim is wearing, either to one of the standard ones (everyday, swimwear, pjs, etc) or a custom outfit specified by GUID.
There is no SimPe wizard for this instruction, so the following table details the meaning of each of the operands.
Operand | Description | Operand Values |
---|---|---|
0 - bit 1 | Controls where the Source for the outfit is | Off: See bit 2 On: Stack Object |
0 - bit 2 | Controls where the Source for the outfit is | Off: See bit 7 On: Use GUID in Ops4-7 |
0 - bit 3 | Controls where Outfit Type is taken from | Off: Use value in Op8 On: Use variable in Op1 |
0 - bit 4 | Save | |
0 - bit 5 | Rebuild | |
0 - bit 6 | Clear GUID pointers in person data fields | |
0 - bit 7 | Controls where the Source for the outfit is | Off: Sim's Outfits On: Use GUID in Temp0/1 |
0 - bit 8 | Unused | |
1 | Variable containing the Outfit Type (if Op0 bit3 is 1) | |
2 & 3 | Qualifiers on the variable in operand 1 | |
4 thru 7 | GUID (for the GUID 0xAABBCCDD, Op4 contains 0xDD to Op7 contains 0xAA) | |
8 | Outfit Type (if Op0 bit3 is 0) | 0x00: Everyday 0x01: Naked 0x02: Swimwear 0x03: Gym 0x04: Formal 0x05: PJs 0x08: Maternity 0x0B: Underwear 0x0D: Outerwear |
9 | Variable containing the Target | |
10 & 11 | Qualifiers on the variable in operand 9 | |
12 thru 15 | Unused |
// Decompiled with JetBrains decompiler // Type: pjse.BhavNameWizards.WizPrim0x0079 // Assembly: pjse.coder.plugin, Version=4.0.3349.37576, Culture=neutral, PublicKeyToken=null using SimPe.PackedFiles.Wrapper; using System; namespace pjse.BhavNameWizards { public class WizPrim0x0079 : BhavWizPrim { public WizPrim0x0079(Instruction i) : base(i) { } protected override string Operands(bool lng) { byte[] o = new byte[16]; ((byte[]) this.instruction.Operands).CopyTo((Array) o, 0); ((byte[]) this.instruction.Reserved1).CopyTo((Array) o, 8); string str1 = ""; if (((int) o[0] & 16) != 0) str1 = str1 + Localization.GetString("bwp79_rebuild") + ", "; string str2 = str1 + (lng ? Localization.GetString("Target") + ": " : "") + this.dataOwner(lng, o[9], o[10], o[11]); if (lng) { string str3 = str2 + ", " + Localization.GetString("bwp_source") + ": "; string str4 = (((int) o[0] & 1) == 0 ? (((int) o[0] & 2) == 0 ? (((int) o[0] & 64) == 0 ? str3 + Localization.GetString("bwp79_self") : str3 + "GUID [" + this.dataOwner((byte) 8, (ushort) 0) + ",1]") : str3 + BhavWiz.FormatGUID(lng, o, 4)) : str3 + BhavWiz.dnStkOb()) + ", "; str2 = (((int) o[0] & 4) != 0 ? str4 + Localization.GetString("bwp79_outfitIndex") + ": " + this.dataOwner(o[1], o[2], o[3]) : str4 + Localization.GetString("bwp79_outfit") + ": " + BhavWiz.readStr(GS.BhavStr.PersonOutfits, (ushort) o[8])) + ", " + Localization.GetString("bwp79_personData") + ": " + (((int) o[0] & 32) != 0).ToString() + ", " + Localization.GetString("bwp79_save") + ": " + (((int) o[0] & 8) != 0).ToString(); } return str2; } } }