SimPe Primitive Wizards

Versions of SimPe later than 0.77.69.9 are NOT supported. And I have no plans to add support, so please don't ask.

Improvements/Bugfixes for 0.77.69.7/9 may not be made available. Support for these versions may be dropped without notice.

There are a total of 60 SimAntics primitives used by The Sims 2, of which only 16 (27%) have a wizard in SimPe.

I have ascertained how to add wizards for primitives in SimPe. An additional 29 (48%) wizards have been created for the following primitives.

These are known to work for versions 0.72.01, 0.73.44 (the last QA version), 0.75.68/9 (Chris Hatch's versions) and 0.77.69.7/9 (another Chris Hatch version).


0x0007 - Refresh

Operand Table (note, this is wrong)


0x000B - Distance

Operand Table


0x000C - Direction

Operand Table (Note: Operand 8, Bit 2 is incorrectly described by SimPe)


0x000D - Push Interaction

Operand Table See also Op3 Bit 3 - As Continuation


0x000E - Find Best Object For Function

Operand Table


0x0010 - Find Location For

Operand Table


0x0011 - Idle For Input

Operand Table


0x0012 - Remove Object Instance

Operand Table


0x0014 - Run Functional Tree

Operand Table


0x0016 - Turn Body

Operand Table


0x0017 - Play / Stop Sound Effect

Operand Table


0x001A - Relationship

Operand Table


0x001D - Set Motive Change

Operand Table


0x0023 - Camera Control

Operand Table


0x002A - Create New Object Instance (CNOI)

Operand Table


0x002E - Snap

Operand Table


0x0030 - Stop All Sounds

Operand Table


0x006C - Animation Stop

Operand Table


0x006F - Change Light

Operand Table


0x0070 - Effect Stop / Start

Operand Table (Note: Operand 9 is incorrectly described by SimPe)


0x0071 - Snap Into

Operand Table


0x0072 - Assign Loco Animations

Operand Table


0x0074 - Reach / Put

Note: The description of this primitive is wrong in SimPe as it swaps the "Drop onto Object" and "Drop onto Floor" actions. This has been corrected in the modified pjse.coder DLL files.

Operand Table See also Op9 Bit 4 - Use Reach Anims


0x0077 - Message

Operand Table


0x0078 - Ray Trace

Operand Table


0x0079 - Change Outfit

Operand Table


0x007A - On Timer

Operand Table (Note: Operand 2 and 14 are incorrectly described by SimPe)


0x007C - Want Satisfy

Operand Table (Note: SimPe displays the subject operands as "Target" and ignores the subject completely.)


0x007E - Lua

Operand Table


Replacement pjse.coder DLL files

To get the wizards to work it has been necessary to disassemble the pjse.coder.plugin.dll (and pjse.coder.dll) file, modify it and reassemble it. Full details can be found with the source code on GitHub.


How To Report Errors

To report an error in one of these wizards you MUST supply

  • a .package file containing only one BHAV that has an example of the primitive for which the associated wizard is incorrect
  • a description of which control/operand is affected including what is wrong and what you would expect it to be

Messages along the lines of "X is broken in wizard Y, please fix it" will be ignored and deleted.


How To Contribute

PM me on Discord or MTS if you want to help test wizards.

If you want changes to their functionality or wizards for unsupported primitives, feel free to fork the source code on GitHub.


FAQ

Q) Will you be providing support for other versions of SimPe?
A) Unlikely.
Q) Will you create a wizard for a specific primitive?
A) Probably not. Of the primitives that now don't have wizards, 11 don't have operand tables and the remainder are pretty obscure.
Q) Can I provide the layout/code for a wizard for a specific primitive?
A) See "How To Contribute" above.
Q) Will you be translating the wizards into other languages?
A) No.
Q) Can I provide a translation for another language?
A) See "How To Contribute" above.

Credits

Thanks to beestew, gummilutt and Crisps for testing various builds.


Change Log

Version 1.7

  • Changed direction drop-down in 0x0010 to nine check boxes (as you can select multiple directions).

Version 1.6

  • Improved error handling for 0x007C. Should no longer crash SimPe if the Wants/Fears strings can't be loaded, just not display them.
  • Added "Continuation" check box to 0x000D (see here).

Version 1.5

  • Fixed an issue when cancelling string selection.
  • Added "Use Reach Anims" check box to 0x0074 (see here).

Version 1.4

  • Added 0x0010 Find Location For
  • Added 0x001A Relationship

Version 1.3

  • Fixed a cosmetic issue in 0x007A to hide the label along with the reset check box.
  • Added 0x000E Find Best Object For Function
  • Added 0x0011 Idle For Input
  • Added 0x0014 Run Functional Tree

Version 1.2

  • Fixed an issue with the attribute picker causing hidden controls to appear.
  • Fixed some incorrect/missing tooltips.
  • Fixed an issue in 0x000D with sync'ing the value between Param and Local.
  • Fixed a bug in 0x0070 with the string picker adding one to the chosen value.
  • Added attribute pickers in 0x000D for "Object:" and "Icon Object:"
  • Added attribute picker in 0x006C for "Animation String:"
  • Added 0x0023 Camera Control
  • Added 0x0072 Assign Loco Animations
  • Added 0x0078 Ray Trace

Version 1.1

  • Fixed a bug when changing between dec/hex modes after using a wizard with a string/bhav chooser.
  • Fixed a bug when choosing a string with Decimal checked.
  • Fixed a bug in 0x002A when "Create How" is invalid.
  • Fixed an issue in 0x0070 where the effect string was not being hidden for all cases.
  • Added 0x0017 Play / Stop Sound Effect
  • Added 0x0030 Stop ALL Sounds
  • Added 0x006F Change Light
  • Added 0x007C Want Satisfy

Version 1.0

  • Initial release of 17 additional wizards.


Files

Versions of SimPe later than 0.77.69.9 are NOT supported. And I have no plans to add support, so please don't ask.

Improvements/Bugfixes for 0.77.69.7/9 may not be made available. Support for these versions may be dropped without notice.

Make a backup of pjse.coder file first!

SimPe 0.72.01

These go in the Plugins sub-directory.

SimPe 0.73.44 QA to 0.75.69

These go in the Plugins sub-directory.

SimPe 0.77.69.7

These go in the main directory (the one with the SimPe.exe file in it).

SimPe 0.77.69.9

These go in the main directory (the one with the SimPe.exe file in it).