primitiveTextureGetColorMasks(void) { // B3DAcceleratorPlugin>>#primitiveTextureGetColorMasks sqInt array; sqInt arrayOop; sqInt handle; sqInt i; int masks[4]; sqInt renderer; sqInt result; if (!((methodArgumentCount()) == 3)) { return primitiveFail(); } array = stackObjectValue(0); handle = stackIntegerValue(1); renderer = stackIntegerValue(2); if (failed()) { return null; } if (!((fetchClassOf(array)) == (classArray()))) { return primitiveFail(); } if (!((slotSizeOf(array)) == 4)) { return primitiveFail(); } result = b3dxTextureColorMasks(renderer, handle, masks); if (!result) { return primitiveFail(); } arrayOop = array; for (i = 0; i <= 3; i += 1) { pushRemappableOop(arrayOop); result = positive32BitIntegerFor(masks[i]); arrayOop = popRemappableOop(); storePointerofObjectwithValue(i, arrayOop, result); } return pop(3); }
EXPORT(sqInt) primitiveTextureGetColorMasks(void) { int masks[4]; sqInt result; sqInt array; sqInt arrayOop; sqInt renderer; sqInt handle; sqInt i; if (!((interpreterProxy->methodArgumentCount()) == 3)) { return interpreterProxy->primitiveFail(); } array = interpreterProxy->stackObjectValue(0); handle = interpreterProxy->stackIntegerValue(1); renderer = interpreterProxy->stackIntegerValue(2); if (interpreterProxy->failed()) { return null; } if (!((interpreterProxy->fetchClassOf(array)) == (interpreterProxy->classArray()))) { return interpreterProxy->primitiveFail(); } if (!((interpreterProxy->slotSizeOf(array)) == 4)) { return interpreterProxy->primitiveFail(); } result = b3dxTextureColorMasks(renderer, handle, masks); if (!(result)) { return interpreterProxy->primitiveFail(); } arrayOop = array; for (i = 0; i <= 3; i += 1) { interpreterProxy->pushRemappableOop(arrayOop); result = interpreterProxy->positive32BitIntegerFor(masks[i]); arrayOop = interpreterProxy->popRemappableOop(); interpreterProxy->storePointerofObjectwithValue(i, arrayOop, result); } return interpreterProxy->pop(3); }