ODE Plugin for Squeak/Croquet VM
Demos of
ODE
with Squeak and Croquet impressed me a lot. ODE is a high
performance library for simulating rigid body dynamics. You see ODE
in action in a
demo
video of Croquet about minute 58.
I just build the vm-plugin for Intel Macs
based on Takashi's work. Here are the steps for building the vm
plugin for Mac OS X 10.4.7, Sqeuak VM 3.8.12betaU, 3.8-6665 image
with Xcode 2.3 (see also
a japanese guide):
1) ODE Library:
- download, compile and install ODE
0.6 Library or download the pre-compiled library:
ODE Library
pre-compiled ODE 0.6 for Mac OS X
Intel
2) Generate Plugin Sources:
- get the current Squeak vm
sources
- open a new image (I used 3.8-6665)
- open the SqueakMap Package Loader and install package ODECo
0.2
- open the VMMaker, set path to platform code and the path to the
generated sources
- select ODEPlugin as External Plugin and generate it
3) Build Plugin with Xcode:
- create a new Xcode project: Carbon Bundle
- insert a reference to ODEPlugin.c
- insert the references to the header files of the vm (see also
PrintJobPlugin)
-
- /Developer/SDKs/MacOSX10.4u.sdk/usr/include/i386/types.h
- platforms/Mac OS/vm/Developer/interp.h
- platforms/Mac OS/vm/sqConfig.h (comment out statment #include
<mactypes.h>)
- platforms/Mac OS/vm/sqNamedPrims.h
- platforms/Mac OS/vm/sqPlatformSpecific.h
- platforms/Mac OS/vm/config.h
- platforms/Cross/vm/sq.h
- platforms/Cross/vm/sqMemoryAccess.h
- platforms/Cross/vm/sqVirtualMachine.h
- add libode.a (/usr/local/lib) as existing library to the xcode
project
- adjust configuration for release build target
-
- set Architectures to i386
- set Header Search Paths to /usr/local/include
- set Other Linker Flags to -lstdc++
- check 'Force Package Info Generation'
You also might download the pre-built ODEPlugin
for Intel based Macs:
Squeak-ODE Plugin
ODE Carbon-Plugin for Squeak 3.8.12betaU
VM (Mac OS X, Intel only)
ODEPlugin.bundle for Squeak Package
ODECo 0.2 and ODE 0.6 (read INSTALL.txt)
Please note that
I am not involved in any means in the development of ODE and ODECo.
Therefore I can not help with any bugs