Here's some of the code. The first part is called once when the game is started:
dbLoadObject ( "greenshell.x", GREENSHELL );
dbHideObject(GREENSHELL);
dbSetObjectCollisionOff ( GREENSHELL );
GREENSHELL is a constant. Here's the code that is called when the user presses the button to fire the shell:
dbInstanceObject(id, GREENSHELL);
dbScaleObject ( id, 130, 130, 130 );
dbXRotateObject ( id, 90 );
dbSetObjectCull ( id, 0 );
dbFixObjectPivot ( id );
dbSetObjectCollisionToBoxes ( id );
id is sent in as a parameter, and it's never equal to the constant GREENSHELL. Also, I position it where I want later on, so that's not the problem. No matter which call I use to turn the collisions on, it still thinks collisions are turned off for the object. The dbFixObjectPivot function doesn't work either, although it does allow me to rotate different shells to different orientations and have them located in different areas.