Moving Phantom Objects Around OpenSim With llMoveToTarget

As part of a uni AI subject I’ve been playing around with implementing some basic path finding in OpenSim. Part of that involved moving objects around a region using the llMoveToTarget function. After some frustration, I’ve discovered that phantom objects do not appear to respond to this function (i.e. you can’t move them using this function). I’m not entirely sure what a phantom object is exactly, so this might be bleedingly obvious to others. Also, this may be incorrect as I haven’t really investigated it thoroughly. Anyways, if you’re trying to move something in OpenSim (or maybe Second Life) using llMoveToTarget and it doesn’t work, it might be worthwhile checking if the object is phantom.

On a personal note, I’m quite busy with uni at the moment, as well as courting (pun intended) my newfound sweetheart – squash (the sport, not the food). So don’t expect any major posts any time soon. If I do anything original with OpenSim (i.e. not implementing my lecturer’s code) I’ll hopefully get around to posting it here for you all to play with.

Sharing GLUT Code Between Windows and Mac OS X

If you’ve seen my last post, you’re aware that I’ve been playing with OpenGL and GLUT for a uni subject. As I like to straddle the OS fence and use a mixture of Windows Vista x64, Windows XP and Mac OS X 10.5, I like to have platform independent solutions to problems. The latest little issue I’ve come across regarding GLUT apps is that GLUT on the Mac has a different include. To include GLUT in a project for the mac, you must use the following:

#include <GLUT/glut.h>

and not:

#include <GL/glut.h>

In order to cut code that will compile successfully on either platform we can use optional includes with the #ifdef, #else and #endif preprocessor directives. Props to “kainjow” for providing this information in his/her forum post. Here’s how:

#ifdef __APPLE__
#include <GLUT/glut.h>
#include <GL/glut.h>

All this does is say “if we’re running on an Apple machine, include GLUT/glut.h, otherwise include GL/glut.h. Now to actually learn OpenGL/GLUT…