2005-05-16 09:30:39 +02:00
|
|
|
#ifndef __API_H__
|
|
|
|
#define __API_H__
|
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Function specs (registered by rmgen.cpp)
|
2005-05-16 09:30:39 +02:00
|
|
|
extern JSFunctionSpec globalFunctions[];
|
|
|
|
|
|
|
|
// JS API implementation
|
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Map creation functions
|
2005-05-16 09:30:39 +02:00
|
|
|
JSBool init(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-06-20 04:45:11 +02:00
|
|
|
JSBool initFromScenario(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-05-16 09:30:39 +02:00
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Utility functions
|
2005-05-16 09:30:39 +02:00
|
|
|
JSBool error(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
JSBool print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-05-23 04:52:37 +02:00
|
|
|
JSBool randInt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
JSBool randFloat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Low-level access to map data
|
2005-06-06 09:46:28 +02:00
|
|
|
JSBool getTexture(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
JSBool setTexture(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-05-16 09:30:39 +02:00
|
|
|
JSBool getHeight(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
JSBool setHeight(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Low-level placement functions
|
2005-06-06 09:46:28 +02:00
|
|
|
JSBool placeTerrain(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-07-25 03:31:19 +02:00
|
|
|
JSBool placeObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-06-06 09:46:28 +02:00
|
|
|
|
2005-07-25 03:31:19 +02:00
|
|
|
// Medium-level placement functions (high level JS API sits on top of these)
|
2005-05-23 04:52:37 +02:00
|
|
|
JSBool createArea(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-07-25 03:31:19 +02:00
|
|
|
JSBool createObjectGroup(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
|
2005-05-16 09:30:39 +02:00
|
|
|
|
|
|
|
#endif
|