{*******************************************************} { } { Active Worlds SDK API Unit } { } {*******************************************************} unit AwSDKv70; interface uses SysUtils, Classes; const {$ifdef WIN32} AW_DLL = 'aw.dll'; {$else} AW_DLL = 'libaw_sdk.42.so'; {$endif} AW_BUILD = 70; AW_MAX_AVCHANGE_PER_SECOND = 10; AW_MAX_MESSAGES_PER_SECOND = 100; AW_MAX_WHISPERS_PER_SECOND = 100; AW_MAX_BOTGRAMS_PER_SECOND = 32; AW_MAX_ATTRIBUTE_LENGTH = 255; AW_CELL_MIN = -32767; AW_MAX_AVATAR_NAME_LENGTH = 18; (* Object versions *) AW_OBJECT_VERSION_CAMERA = 1; AW_OBJECT_VERSION_PARTICLES = 1; AW_OBJECT_VERSION_ZONE = 1; AW_OBJECT_VERSION_MOVER = 1; {$Z4} // this controls enumeration storage: $z2=unsigned words; $z4=unsigned double-word {$ifdef FPC} {$linklib c} {$linklib stdc++} {$endif} {$ifndef CDataTypeDefs} {$define CDataTypeDefs} type PInteger = ^Integer; UChar = Byte; // unsigned char PUChar = ^Byte; // unsigned char * WChar = Word; // actually a 16-bit unicode character Short = Smallint; PShort = ^Smallint; // short * UShort = Word; // unsigned short PUShort = ^Word; Long = Longint; PLong = ^Long; ULong = LongWord; // unsigned long UInt = Cardinal; {$endif} //----------------------------------------------------------------------------- // a t t r i b u t e s //----------------------------------------------------------------------------- type AW_ATTRIBUTE = ( AW_LOGIN_NAME, AW_LOGIN_PASSWORD, AW_LOGIN_OWNER, AW_LOGIN_PRIVILEGE_PASSWORD, AW_LOGIN_PRIVILEGE_NUMBER, AW_LOGIN_PRIVILEGE_NAME, AW_LOGIN_APPLICATION, AW_LOGIN_EMAIL, // not used by the SDK AW_UNIVERSE_BROWSER_MINIMUM, AW_UNIVERSE_BROWSER_RELEASE, AW_UNIVERSE_BROWSER_BETA, AW_UNIVERSE_WORLD_MINIMUM, AW_UNIVERSE_WORLD_START, AW_UNIVERSE_REGISTRATION_REQUIRED, AW_UNIVERSE_BUILD_NUMBER, AW_UNIVERSE_MONTHLY_CHARGE, AW_UNIVERSE_ANNUAL_CHARGE, AW_UNIVERSE_REGISTER_METHOD, AW_UNIVERSE_TIME, AW_UNIVERSE_CITIZEN_CHANGES_ALLOWED, AW_UNIVERSE_BROWSER_RELEASE_22, AW_UNIVERSE_WELCOME_MESSAGE, AW_UNIVERSE_WORLD_RELEASE, AW_UNIVERSE_WORLD_BETA, AW_UNIVERSE_ALLOW_TOURISTS, AW_UNIVERSE_SEARCH_URL, AW_UNIVERSE_NOTEPAD_URL, AW_UNIVERSE_NAME, AW_UNIVERSE_USER_LIST_ENABLED, AW_CITIZEN_NUMBER, AW_CITIZEN_NAME, AW_CITIZEN_PASSWORD, AW_CITIZEN_EMAIL, AW_CITIZEN_TIME_LEFT, AW_CITIZEN_PRIVILEGE_PASSWORD, AW_CITIZEN_IMMIGRATION_TIME, AW_CITIZEN_EXPIRATION_TIME, AW_CITIZEN_BETA, AW_CITIZEN_LAST_LOGIN, AW_CITIZEN_BOT_LIMIT, AW_CITIZEN_TOTAL_TIME, AW_CITIZEN_ENABLED, AW_CITIZEN_COMMENT, AW_CITIZEN_URL, AW_WORLD_NAME, AW_WORLD_TITLE, AW_WORLD_BACKDROP, AW_WORLD_GROUND, AW_WORLD_OBJECT_PATH, AW_WORLD_OBJECT_REFRESH, AW_WORLD_BUILD_RIGHT, AW_WORLD_EMINENT_DOMAIN_RIGHT, AW_WORLD_ENTER_RIGHT, AW_WORLD_SPECIAL_OBJECTS_RIGHT, AW_WORLD_FOG_RED, AW_WORLD_FOG_GREEN, AW_WORLD_FOG_BLUE, AW_WORLD_CARETAKER_CAPABILITY, AW_WORLD_RESTRICTED_RADIUS, AW_WORLD_PUBLIC_SPEAKER_CAPABILITY, AW_WORLD_PUBLIC_SPEAKER_RIGHT, AW_WORLD_CREATION_TIMESTAMP, AW_WORLD_HOME_PAGE, AW_WORLD_BUILD_NUMBER, AW_WORLD_OBJECT_PASSWORD, AW_WORLD_DISABLE_CREATE_URL, AW_WORLD_RATING, AW_WORLD_WELCOME_MESSAGE, AW_WORLD_EJECT_RIGHT, AW_WORLD_EJECT_CAPABILITY, AW_WORLD_CELL_LIMIT, AW_WORLD_BUILD_CAPABILITY, AW_WORLD_ALLOW_PASSTHRU, AW_WORLD_ALLOW_FLYING, AW_WORLD_ALLOW_TELEPORT, AW_WORLD_ALLOW_OBJECT_SELECT, AW_WORLD_BOTS_RIGHT, AW_WORLD_SPEAK_CAPABILITY, AW_WORLD_SPEAK_RIGHT, AW_WORLD_ALLOW_TOURIST_WHISPER, AW_WORLD_LIGHT_X, AW_WORLD_LIGHT_Y, AW_WORLD_LIGHT_Z, AW_WORLD_LIGHT_RED, AW_WORLD_LIGHT_GREEN, AW_WORLD_LIGHT_BLUE, AW_WORLD_AMBIENT_LIGHT_RED, AW_WORLD_AMBIENT_LIGHT_GREEN, AW_WORLD_AMBIENT_LIGHT_BLUE, AW_WORLD_ALLOW_AVATAR_COLLISION, AW_WORLD_FOG_ENABLE, AW_WORLD_FOG_MINIMUM, AW_WORLD_FOG_MAXIMUM, AW_WORLD_FOG_TINTED, AW_WORLD_MAX_USERS, AW_WORLD_SIZE, AW_WORLD_OBJECT_COUNT, AW_WORLD_EXPIRATION, AW_WORLD_SPECIAL_COMMANDS_RIGHT, AW_WORLD_MAX_LIGHT_RADIUS, AW_WORLD_SKYBOX, AW_WORLD_MINIMUM_VISIBILITY, AW_WORLD_REPEATING_GROUND, AW_WORLD_KEYWORDS, AW_WORLD_ENABLE_TERRAIN, AW_WORLD_ALLOW_3_AXIS_ROTATION, AW_WORLD_TERRAIN_TIMESTAMP, AW_WORLD_ENTRY_POINT, AW_WORLD_SKY_NORTH_RED, AW_WORLD_SKY_NORTH_GREEN, AW_WORLD_SKY_NORTH_BLUE, AW_WORLD_SKY_SOUTH_RED, AW_WORLD_SKY_SOUTH_GREEN, AW_WORLD_SKY_SOUTH_BLUE, AW_WORLD_SKY_EAST_RED, AW_WORLD_SKY_EAST_GREEN, AW_WORLD_SKY_EAST_BLUE, AW_WORLD_SKY_WEST_RED, AW_WORLD_SKY_WEST_GREEN, AW_WORLD_SKY_WEST_BLUE, AW_WORLD_SKY_TOP_RED, AW_WORLD_SKY_TOP_GREEN, AW_WORLD_SKY_TOP_BLUE, AW_WORLD_SKY_BOTTOM_RED, AW_WORLD_SKY_BOTTOM_GREEN, AW_WORLD_SKY_BOTTOM_BLUE, AW_WORLD_CLOUDS_LAYER1_TEXTURE, AW_WORLD_CLOUDS_LAYER1_MASK, AW_WORLD_CLOUDS_LAYER1_TILE, AW_WORLD_CLOUDS_LAYER1_SPEED_X, AW_WORLD_CLOUDS_LAYER1_SPEED_Z, AW_WORLD_CLOUDS_LAYER1_OPACITY, AW_WORLD_CLOUDS_LAYER2_TEXTURE, AW_WORLD_CLOUDS_LAYER2_MASK, AW_WORLD_CLOUDS_LAYER2_TILE, AW_WORLD_CLOUDS_LAYER2_SPEED_X, AW_WORLD_CLOUDS_LAYER2_SPEED_Z, AW_WORLD_CLOUDS_LAYER2_OPACITY, AW_WORLD_CLOUDS_LAYER3_TEXTURE, AW_WORLD_CLOUDS_LAYER3_MASK, AW_WORLD_CLOUDS_LAYER3_TILE, AW_WORLD_CLOUDS_LAYER3_SPEED_X, AW_WORLD_CLOUDS_LAYER3_SPEED_Z, AW_WORLD_CLOUDS_LAYER3_OPACITY, AW_WORLD_DISABLE_CHAT, AW_WORLD_ALLOW_CITIZEN_WHISPER, AW_WORLD_ALWAYS_SHOW_NAMES, AW_WORLD_DISABLE_AVATAR_LIST, AW_WORLD_AVATAR_REFRESH_RATE, AW_WORLD_WATER_TEXTURE, AW_WORLD_WATER_MASK, AW_WORLD_WATER_BOTTOM_TEXTURE, AW_WORLD_WATER_BOTTOM_MASK, AW_WORLD_WATER_OPACITY, AW_WORLD_WATER_RED, AW_WORLD_WATER_GREEN, AW_WORLD_WATER_BLUE, AW_WORLD_WATER_LEVEL, AW_WORLD_WATER_SURFACE_MOVE, AW_WORLD_WATER_WAVE_MOVE, AW_WORLD_WATER_SPEED, AW_WORLD_WATER_ENABLED, AW_WORLD_EMINENT_DOMAIN_CAPABILITY, AW_WORLD_LIGHT_TEXTURE, AW_WORLD_LIGHT_MASK, AW_WORLD_LIGHT_DRAW_SIZE, AW_WORLD_LIGHT_DRAW_FRONT, AW_WORLD_LIGHT_DRAW_BRIGHT, AW_WORLD_LIGHT_SOURCE_USE_COLOR, AW_WORLD_LIGHT_SOURCE_COLOR, AW_WORLD_TERRAIN_AMBIENT, AW_WORLD_TERRAIN_DIFFUSE, AW_WORLD_WATER_VISIBILITY, AW_WORLD_SOUND_FOOTSTEP, AW_WORLD_SOUND_WATER_ENTER, AW_WORLD_SOUND_WATER_EXIT, AW_WORLD_SOUND_AMBIENT, AW_WORLD_GRAVITY, AW_WORLD_BUOYANCY, AW_WORLD_FRICTION, AW_WORLD_WATER_FRICTION, AW_WORLD_SLOPESLIDE_ENABLED, AW_WORLD_SLOPESLIDE_MIN_ANGLE, AW_WORLD_SLOPESLIDE_MAX_ANGLE, AW_WORLD_ALLOW_TOURIST_BUILD, AW_WORLD_ENABLE_REFERER, AW_WORLD_WATER_UNDER_TERRAIN, AW_WORLD_TERRAIN_OFFSET, AW_WORLD_VOIP_RIGHT, AW_WORLD_DISABLE_MULTIPLE_MEDIA, AW_WORLD_BOTMENU_URL, AW_WORLD_ENABLE_BUMP_EVENT, AW_WORLD_ENABLE_SYNC_EVENTS, AW_WORLD_ENABLE_CAV, AW_WORLD_ENABLE_PAV, AW_WORLD_CHAT_DISABLE_URL_CLICKS, AW_WORLD_MOVER_EMPTY_RESET_TIMEOUT, AW_WORLD_MOVER_USED_RESET_TIMEOUT, AW_MY_X, AW_MY_Y, AW_MY_Z, AW_MY_YAW, AW_MY_PITCH, AW_MY_TYPE, AW_MY_GESTURE, AW_MY_STATE, AW_AVATAR_SESSION, AW_AVATAR_NAME, AW_AVATAR_X, AW_AVATAR_Y, AW_AVATAR_Z, AW_AVATAR_YAW, AW_AVATAR_PITCH, AW_AVATAR_TYPE, AW_AVATAR_GESTURE, AW_AVATAR_STATE, AW_AVATAR_ADDRESS, AW_AVATAR_VERSION, AW_AVATAR_CITIZEN, AW_AVATAR_PRIVILEGE, AW_AVATAR_LOCK, AW_AVATAR_FLAGS, AW_CHAT_SESSION, AW_CHAT_MESSAGE, AW_CELL_X, AW_CELL_Z, AW_CELL_SEQUENCE, AW_CELL_SIZE, AW_CELL_ITERATOR, AW_CELL_COMBINE, AW_OBJECT_ID, AW_OBJECT_NUMBER, AW_OBJECT_X, AW_OBJECT_Y, AW_OBJECT_Z, AW_OBJECT_YAW, AW_OBJECT_TILT, AW_OBJECT_ROLL, AW_OBJECT_MODEL, AW_OBJECT_DESCRIPTION, AW_OBJECT_ACTION, AW_OBJECT_OLD_NUMBER, AW_OBJECT_OLD_X, AW_OBJECT_OLD_Z, AW_OBJECT_OWNER, AW_OBJECT_SESSION, AW_OBJECT_BUILD_TIMESTAMP, AW_OBJECT_SYNC, AW_OBJECT_TYPE, AW_OBJECT_DATA, AW_QUERY_COMPLETE, AW_CHAT_TYPE, AW_LICENSE_NAME, AW_LICENSE_PASSWORD, AW_LICENSE_USERS, AW_LICENSE_RANGE, AW_LICENSE_EMAIL, AW_LICENSE_COMMENT, AW_LICENSE_CREATION_TIME, AW_LICENSE_EXPIRATION_TIME, AW_LICENSE_LAST_START, AW_LICENSE_LAST_ADDRESS, AW_LICENSE_HIDDEN, AW_LICENSE_ALLOW_TOURISTS, AW_LICENSE_VOIP, AW_LICENSE_PLUGINS, AW_WORLDLIST_NAME, AW_WORLDLIST_STATUS, AW_WORLDLIST_USERS, AW_WORLDLIST_RATING, AW_WORLDLIST_MORE, AW_EJECT_SESSION, AW_EJECT_DURATION, AW_EJECTION_TYPE, AW_EJECTION_ADDRESS, AW_EJECTION_EXPIRATION_TIME, AW_EJECTION_CREATION_TIME, AW_EJECTION_COMMENT, AW_DISCONNECT_REASON, AW_FILE_RECIPIENT, AW_FILE_SENDER, AW_FILE_SENDER_NAME, AW_FILE_SESSION, AW_FILE_ADDRESS, AW_FILE_PORT, AW_CLICKED_SESSION, AW_CLICKED_NAME, AW_URL_NAME, AW_URL_POST, AW_URL_TARGET, AW_URL_TARGET_3D, AW_TELEPORT_WORLD, AW_TELEPORT_X, AW_TELEPORT_Y, AW_TELEPORT_Z, AW_TELEPORT_YAW, AW_TELEPORT_WARP, AW_SERVER_BUILD, AW_SERVER_NAME, AW_SERVER_PASSWORD, AW_SERVER_REGISTRY, AW_SERVER_CARETAKERS, AW_SERVER_ID, AW_SERVER_INSTANCE, AW_SERVER_ENABLED, AW_SERVER_STATE, AW_SERVER_USERS, AW_SERVER_MAX_USERS, AW_SERVER_OBJECTS, AW_SERVER_SIZE, AW_SERVER_EXPIRATION, AW_SERVER_START_RC, AW_SERVER_MORE, AW_SERVER_TERRAIN_NODES, AW_TERRAIN_X, AW_TERRAIN_Z, AW_TERRAIN_PAGE_X, AW_TERRAIN_PAGE_Z, AW_TERRAIN_NODE_X, AW_TERRAIN_NODE_Z, AW_TERRAIN_NODE_SIZE, AW_TERRAIN_NODE_TEXTURE_COUNT, AW_TERRAIN_NODE_HEIGHT_COUNT, AW_TERRAIN_NODE_TEXTURES, AW_TERRAIN_NODE_HEIGHTS, AW_TERRAIN_SEQUENCE, AW_TERRAIN_COMPLETE, AW_TERRAIN_VERSION_NEEDED, AW_ENTER_GLOBAL, AW_CONSOLE_RED, AW_CONSOLE_GREEN, AW_CONSOLE_BLUE, AW_CONSOLE_BOLD, AW_CONSOLE_ITALICS, AW_CONSOLE_MESSAGE, AW_BOTGRAM_TO, AW_BOTGRAM_FROM, AW_BOTGRAM_FROM_NAME, AW_BOTGRAM_TYPE, AW_BOTGRAM_TEXT, AW_TOOLBAR_ID, AW_TOOLBAR_SESSION, AW_USERLIST_MORE, AW_USERLIST_NAME, AW_USERLIST_WORLD, AW_USERLIST_EMAIL, AW_USERLIST_CITIZEN, AW_USERLIST_PRIVILEGE, AW_USERLIST_STATE, AW_USERLIST_ADDRESS, AW_USERLIST_ID, AW_SOUND_NAME, AW_CAMERA_LOCATION_TYPE, AW_CAMERA_LOCATION_OBJECT, AW_CAMERA_LOCATION_SESSION, AW_CAMERA_TARGET_TYPE, AW_CAMERA_TARGET_OBJECT, AW_CAMERA_TARGET_SESSION, AW_PLUGIN_STRING, AW_BOTMENU_TO_SESSION, AW_BOTMENU_FROM_NAME, AW_BOTMENU_FROM_SESSION, AW_BOTMENU_QUESTION, AW_BOTMENU_ANSWER, (* not used in the SDK *) AW_CONTACT_NUMBER, AW_CONTACT_STATUS, AW_CONTACT_NAME, AW_CONTACT_WORLD, AW_CONTACT_MORE, AW_CONTACT_OPTIONS, AW_TELEGRAM_TO, AW_TELEGRAM_FROM, AW_TELEGRAM_TEXT, AW_TELEGRAM_SENT, AW_TELEGRAM_MORE, AW_JOIN_NAME, AW_JOIN_CITIZEN, AW_JOIN_WORLD, AW_JOIN_X, AW_JOIN_Y, AW_JOIN_Z, AW_JOIN_YAW, AW_REGISTER_CC_NAME, AW_REGISTER_CC_NUMBER, AW_REGISTER_CC_MONTH, AW_REGISTER_CC_YEAR, AW_REGISTER_ADDRESS, AW_REGISTER_CITY, AW_REGISTER_STATE, AW_REGISTER_ZIP, AW_REGISTER_PHONE_NUMBER, AW_REGISTER_BUSINESS_NAME, AW_REGISTER_VENDOR, AW_REGISTER_RESULT, AW_REGISTER_METHOD, AW_VOIP_DATA, (* these _are_ used in the SDK *) AW_UNIVERSE_CAV_PATH, AW_CITIZEN_PAV_ENABLED, AW_CAV_CITIZEN, AW_CAV_DEFINITION, AW_ENTITY_TYPE, AW_ENTITY_ID, AW_ENTITY_STATE, AW_ENTITY_FLAGS, AW_ENTITY_X, AW_ENTITY_Y, AW_ENTITY_Z, AW_ENTITY_YAW, AW_ENTITY_PITCH, AW_ENTITY_ROLL, AW_ENTITY_OWNER_SESSION, AW_ENTITY_OWNER_CITIZEN, AW_AVATAR_DISTANCE, AW_AVATAR_ANGLE, AW_AVATAR_Y_DELTA, AW_AVATAR_YAW_DELTA, AW_AVATAR_PITCH_DELTA, AW_AVATAR_WORLD_INSTANCE, AW_ATTRIB_SENDER_SESSION, AW_ENTITY_MODEL_NUM, AW_WORLD_V4_OBJECTS_RIGHT, AW_CITIZEN_LAST_ADDRESS, AW_HUD_ELEMENT_TYPE, AW_HUD_ELEMENT_ID, AW_HUD_ELEMENT_SESSION, AW_HUD_ELEMENT_ORIGIN, AW_HUD_ELEMENT_X, AW_HUD_ELEMENT_Y, AW_HUD_ELEMENT_Z, AW_HUD_ELEMENT_FLAGS, AW_HUD_ELEMENT_TEXT, AW_HUD_ELEMENT_COLOR, AW_HUD_ELEMENT_OPACITY, AW_HUD_ELEMENT_SIZE_X, AW_HUD_ELEMENT_SIZE_Y, AW_HUD_ELEMENT_SIZE_Z, AW_HUD_ELEMENT_CLICK_X, AW_HUD_ELEMENT_CLICK_Y, AW_HUD_ELEMENT_CLICK_Z, AW_HUD_ELEMENT_TEXTURE_OFFSET_X, AW_HUD_ELEMENT_TEXTURE_OFFSET_Y, AW_CITIZEN_PRIVACY, AW_CITIZEN_TRIAL, AW_UNIVERSE_CAV_PATH2, AW_WORLD_DISABLE_SHADOWS, AW_WORLD_ENABLE_CAMERA_COLLISION, AW_WORLD_SPECIAL_COMMANDS, AW_UNIVERSE_OBJECT_REFRESH, AW_UNIVERSE_OBJECT_PASSWORD, AW_CAV_SESSION, AW_CITIZEN_CAV_ENABLED, AW_WORLD_CAV_OBJECT_PATH, AW_WORLD_CAV_OBJECT_PASSWORD, AW_WORLD_CAV_OBJECT_REFRESH, AW_OBJECT_CALLBACK_REFERENCE, AW_MAX_ATTRIBUTE ); type AW_EVENT_ATTRIBUTE = ( AW_EVENT_AVATAR_ADD, AW_EVENT_AVATAR_CHANGE, AW_EVENT_AVATAR_DELETE, AW_EVENT_CELL_BEGIN, AW_EVENT_CELL_OBJECT, AW_EVENT_CELL_END, AW_EVENT_CHAT, AW_EVENT_OBJECT_ADD, AW_EVENT_OBJECT_DELETE, AW_EVENT_UNIVERSE_ATTRIBUTES, AW_EVENT_UNIVERSE_DISCONNECT, AW_EVENT_WORLD_ATTRIBUTES, AW_EVENT_WORLD_INFO, AW_EVENT_WORLD_DISCONNECT, AW_EVENT_SEND_FILE, AW_EVENT_CONTACT_STATE, AW_EVENT_TELEGRAM, AW_EVENT_JOIN, AW_EVENT_OBJECT_CLICK, AW_EVENT_OBJECT_SELECT, AW_EVENT_AVATAR_CLICK, AW_EVENT_URL, AW_EVENT_URL_CLICK, AW_EVENT_TELEPORT, AW_EVENT_ADMIN_WORLD_INFO, AW_EVENT_ADMIN_WORLD_DELETE, AW_EVENT_TERRAIN_BEGIN, AW_EVENT_TERRAIN_DATA, AW_EVENT_TERRAIN_END, AW_EVENT_CONSOLE_MESSAGE, AW_EVENT_TERRAIN_CHANGED, AW_EVENT_BOTGRAM, AW_EVENT_TOOLBAR_CLICK, AW_EVENT_USER_INFO, AW_EVENT_VOIP_DATA, AW_EVENT_NOISE, AW_EVENT_CAMERA, AW_EVENT_BOTMENU, AW_EVENT_OBJECT_BUMP, AW_EVENT_ENTITY_ADD, AW_EVENT_ENTITY_CHANGE, AW_EVENT_ENTITY_DELETE, AW_EVENT_ENTITY_RIDER_ADD, AW_EVENT_ENTITY_RIDER_DELETE, AW_EVENT_ENTITY_RIDER_CHANGE, AW_EVENT_AVATAR_RELOAD, AW_EVENT_ENTITY_LINKS, AW_EVENT_HUD_CLICK, AW_EVENT_HUD_CREATE, AW_EVENT_HUD_DESTROY, AW_EVENT_HUD_CLEAR, AW_EVENT_CAV_DEFINITION_CHANGE, AW_EVENT_WORLD_CAV_DEFINITION_CHANGE, AW_MAX_EVENT ); type AW_CALLBACK = ( AW_CALLBACK_CREATE, AW_CALLBACK_LOGIN, AW_CALLBACK_ENTER, AW_CALLBACK_OBJECT_RESULT, AW_CALLBACK_LICENSE_ATTRIBUTES, AW_CALLBACK_LICENSE_RESULT, AW_CALLBACK_CITIZEN_ATTRIBUTES, AW_CALLBACK_CITIZEN_RESULT, AW_CALLBACK_QUERY, AW_CALLBACK_QUERY_OBJECT, AW_CALLBACK_WORLD_LIST, AW_CALLBACK_SEND_FILE, AW_CALLBACK_JOIN, AW_CALLBACK_PASSWORD_SEND, AW_CALLBACK_IMMIGRATE, AW_CALLBACK_REGISTER, AW_CALLBACK_UNIVERSE_EJECTION, AW_CALLBACK_UNIVERSE_EJECTION_RESULT, AW_CALLBACK_ADDRESS, AW_CALLBACK_WORLD_EJECTION, AW_CALLBACK_WORLD_EJECTION_RESULT, AW_CALLBACK_ADMIN_WORLD_LIST, AW_CALLBACK_ADMIN_WORLD_RESULT, AW_CALLBACK_DELETE_ALL_OBJECTS_RESULT, AW_CALLBACK_CELL_RESULT, AW_CALLBACK_RELOAD_REGISTRY, AW_CALLBACK_ATTRIBUTES_RESET_RESULT, AW_CALLBACK_ADMIN, AW_CALLBACK_CONTACT_ADD, AW_CALLBACK_TELEGRAM_RESULT, AW_CALLBACK_TERRAIN_SET_RESULT, AW_CALLBACK_TERRAIN_NEXT_RESULT, AW_CALLBACK_TERRAIN_DELETE_ALL_RESULT, AW_CALLBACK_TERRAIN_LOAD_NODE_RESULT, AW_CALLBACK_BOTGRAM_RESULT, AW_CALLBACK_USER_LIST, AW_CALLBACK_BOTMENU_RESULT, AW_CALLBACK_CAV_TEMPLATE, AW_CALLBACK_CAV_TEMPLATE_RESULT, AW_CALLBACK_CAV, AW_CALLBACK_CAV_RESULT, AW_CALLBACK_WORLD_INSTANCE, AW_CALLBACK_HUD_RESULT, AW_CALLBACK_AVATAR_LOCATION, AW_CALLBACK_OBJECT_QUERY, AW_CALLBACK_WORLD_CAV_RESULT, AW_CALLBACK_WORLD_CAV, AW_MAX_CALLBACK ); (* * C/C++ allows enum types to be used as integer values. This is not * allowed in Pascal. Because of this, the following API types are * defined in 'const' blocks. *) { AW_CHAT_TYPES } const AW_CHAT_SAID = 0; AW_CHAT_BROADCAST = 1; AW_CHAT_WHISPER = 2; { AW_CONTACT_STATES } const AW_CONTACT_OFFLINE = 0; AW_CONTACT_ONLINE = 1; AW_CONTACT_NOT_A_CITIZEN = 2; AW_CONTACT_AFK = 3; AW_CONTACT_UNKNOWN = 4; AW_CONTACT_DELETE = 5; { AW_WORLD_STATES } const AW_WORLDSTATUS_UNKNOWN = 0; AW_WORLDSTATUS_PUBLIC = 1; AW_WORLDSTATUS_PRIVATE = 2; AW_WORLDSTATUS_STOPPED = 3; { AW_SERVER_STATES } const AW_SERVER_STOPPED = 0; AW_SERVER_STARTING = 1; AW_SERVER_START_WAIT = 2; AW_SERVER_RUNNING = 3; { AW_CONNECTION_TYPES } const AW_CONNECTION_DIRECT = 0; AW_CONNECTION_FIREWALL_NO_PROXY = 1; AW_CONNECTION_PROXY_AUTO = 2; AW_CONNECTION_PROXY_NO_AUTH = 3; AW_CONNECTION_PROXY_BASIC = 4; AW_CONNECTION_PROXY_AUTH_NTLM = 5; AW_CONNECTION_MAX = 6; { AW_CONNECTION_STATES } const AW_CONNECTION_STATE_NOT_CONNECTED = 0; AW_CONNECTION_STATE_CONNECTING_TO_PROXY = 1; AW_CONNECTION_STATE_NEGOTIATING_WITH_PROXY = 2; AW_CONNECTION_STATE_CONNECTING_TO_TUNNEL = 3; AW_CONNECTION_STATE_CONNECTING_TO_UNIVERSE = 4; AW_CONNECTION_STATE_CONNECTED = 5; AW_CONNECTION_STATE_PASSWORD_REQUIRED = 6; { AW_EJECTION_TYPES } const AW_EJECT_BY_ADDRESS = 0; AW_EJECT_BY_COMPUTER = 1; AW_EJECT_BY_CITIZEN = 2; { AW_AVATAR_STATES } const AW_AVATAR_STATE_WALKING = 0; AW_AVATAR_STATE_RUNNING = 1; AW_AVATAR_STATE_FLYING = 2; AW_AVATAR_STATE_SWIMMING = 3; AW_AVATAR_STATE_FALLING = 4; AW_AVATAR_STATE_JUMPING = 5; AW_AVATAR_STATE_WARPING = 6; AW_AVATAR_STATE_RIDING = 7; AW_AVATAR_STATE_SLIDING1 = 8; AW_AVATAR_STATE_SLIDING2 = 9; AW_AVATAR_STATE_SLIDING3 = 10; AW_AVATAR_STATE_CLIMBING = 11; { AW_ZONE_TYPES } const AW_ZONE_TYPE_CUBE = 0; AW_ZONE_TYPE_CYLINDER = 1; AW_ZONE_TYPE_SPHERE = 2; { AW_PARTICLE_TYPES } const AW_PARTICLE_TYPE_SPRITE = 0; AW_PARTICLE_TYPE_FACER = 1; AW_PARTICLE_TYPE_FLAT = 2; AW_PARTICLE_TYPE_OBJECT = 3; { AW_PARTICLE_DRAW_STYLES } const AW_PARTICLE_DRAW_NORMAL = 0; AW_PARTICLE_DRAW_BRIGHT = 1; AW_PARTICLE_DRAW_GLOW = 2; { AW_CAMERA_TYPES } const AW_CAMERA_TRACK_DEFAULT = 0; AW_CAMERA_TRACK_AVATAR = 1; AW_CAMERA_TRACK_OBJECT = 2; AW_CAMERA_TRACK_AHEAD = 3; { AW_REGISTER_METHODS } const AW_REGISTER_MONTHLY = 0; AW_REGISTER_ANNUAL = 1; AW_REGISTER_USER = 2; { AW_AVATAR_SET_FLAGS } const AW_AVATAR_SET_NONE = 0; AW_AVATAR_SET_POSITION = 1; AW_AVATAR_SET_TYPE = 2; AW_AVATAR_SET_GESTURE = 4; AW_AVATAR_SET_STATE = 8; { AW_ENTITY_TYPES } const AW_ENTITY_AVATAR = 0; // not used as such AW_ENTITY_MOVER = 1; { AW_MOVER_STATE_TYPES } const AW_MOVER_STATE_IDLE = 1; // never set by SDK AW_MOVER_STATE_START = 2; AW_MOVER_STATE_MOVE = 3; // never set by SDK AW_MOVER_STATE_PAUSE = 4; AW_MOVER_STATE_CONTINUE = 5; AW_MOVER_STATE_STOP = 6; AW_MOVER_STATE_RESET = 7; { AW_MOVER_FLAG_TYPES } const AW_MOVER_FLAG_LOOP = $00000001; AW_MOVER_FLAG_USE_OBJTAG = $00000002; AW_MOVER_FLAG_BUMP_ADD = $00000004; AW_MOVER_FLAG_CLICK_START = $00000008; AW_MOVER_FLAG_CLICK_PAUSE = $00000010; AW_MOVER_FLAG_LOCK_POSITION = $00000020; AW_MOVER_FLAG_LOCK_YAW = $00000040; AW_MOVER_FLAG_LOCK_PITCH = $00000080; AW_MOVER_FLAG_SINGLE_RIDER = $00000100; AW_MOVER_FLAG_NO_AUTO_YAW = $00000200; AW_MOVER_FLAG_EMPTY_RESET = $00000400; AW_MOVER_FLAG_DISABLE_FLYING = $00000800; AW_MOVER_FLAG_KEEP_ON_WATER = $00001000; AW_MOVER_FLAG_DISABLE_UPWARDS = $00002000; AW_MOVER_FLAG_INVISIBLE_AV = $00004000; AW_MOVER_FLAG_EXIT_EJECT_UP = $00008000; AW_MOVER_FLAG_EXIT_NON_SOLID = $00010000; AW_MOVER_FLAG_AV_APPLY_TILT_X = $00020000; AW_MOVER_FLAG_AV_APPLY_TILT_Z = $00040000; AW_MOVER_FLAG_OBJECT_LINK = $00080000; AW_MOVER_FLAG_DISABLE_MOVE = $00100000; AW_MOVER_FLAG_TILT_BY_TERRAIN = $00200000; AW_MOVER_FLAG_DISABLE_EXPL_SEQS = $00400000; AW_MOVER_FLAG_DISABLE_TURN_ON_PLACE = $00800000; AW_MOVER_FLAG_DISABLE_TELEPORTS = $01000000; AW_MOVER_FLAG_DETACH_ON_TELEPORT = $02000000; { AW_MOVER_TYPES } const AW_MOVER_TYPE_PASSIVE = 0; AW_MOVER_TYPE_ACTIVE = 1; AW_MOVER_TYPE_ITEM = 2; { AW_ZONE_FLAGS } const AW_ZONE_FLAG_WATER = $01; AW_ZONE_FLAG_BLOCK_PARTICLES = $02; AW_ZONE_FLAG_BLOCK_LIGHTS = $04; AW_ZONE_FLAG_BLOCK_WORLD_LIGHT = $08; AW_ZONE_FLAG_BLOCK_CHAT = $10; AW_ZONE_FLAG_VISIBLE = $20; AW_ZONE_FLAG_BLOCK_JOIN = $40; // new 64 { AW_PARTICLE_FLAGS } const AW_PARTICLE_FLAG_INTERPOLATE = $01; AW_PARTICLE_FLAG_GRAVITY = $02; AW_PARTICLE_FLAG_COLLIDE_ZONES = $04; AW_PARTICLE_FLAG_ZONE_EXCLUSIVE = $08; AW_PARTICLE_FLAG_CAMERA_EMIT = $10; AW_PARTICLE_FLAG_MOVER_LINK = $20; AW_PARTICLE_FLAG_DRAW_IN_FRONT = $40; // new 66 { AW_CAMERA_FLAGS } const AW_CAMERA_FLAG_TRACK_USER = 1; { AW_OBJECT_TYPES } const AW_OBJECT_TYPE_V3 = 0; AW_OBJECT_TYPE_UNKNOWN = 1; AW_OBJECT_TYPE_ZONE = 2; AW_OBJECT_TYPE_PARTICLES = 3; AW_OBJECT_TYPE_MOVER = 4; AW_OBJECT_TYPE_CAMERA = 5; AW_MAX_OBJECT_TYPES = 6; { AW_HUD_ORIGIN_TYPES } const AW_HUD_ORIGIN_TOP_LEFT = 0; AW_HUD_ORIGIN_TOP = 1; AW_HUD_ORIGIN_TOP_RIGHT = 2; AW_HUD_ORIGIN_LEFT = 3; AW_HUD_ORIGIN_CENTER = 4; AW_HUD_ORIGIN_RIGHT = 5; AW_HUD_ORIGIN_BOTTOM_LEFT = 6; AW_HUD_ORIGIN_BOTTOM = 7; AW_HUD_ORIGIN_BOTTOM_RIGHT = 8; { AW_HUD_TYPES } const AW_HUD_TYPE_TEXT = 0; AW_HUD_TYPE_IMAGE = 1; AW_HUD_TYPE_MODEL = 2; { AW_HUD_ELEMENT_FLAGS_ENUM } const AW_HUD_ELEMENT_FLAG_CLICKS = $0001; AW_HUD_ELEMENT_FLAG_STRETCH = $0002; AW_HUD_ELEMENT_FLAG_ADDITIVE = $0004; AW_HUD_ELEMENT_FLAG_SIZE_PERCENT = $0008; AW_HUD_ELEMENT_FLAG_TRANSITION = $0010; AW_HUD_ELEMENT_FLAG_TEMPORARY = $0020; AW_HUD_ELEMENT_FLAG_UNIVERSE_PATH = $0040; AW_HUD_ELEMENT_FLAG_CLAMP = $0080; AW_HUD_ELEMENT_FLAG_HIGHLIGHT = $0100; { AW_PRIVACY_TYPES } const AW_PRIVACY_BLOCK_TELEGRAMS = $0001; { AW_WORLD_ENABLE_CAV flags } const AW_ENABLE_CAV_CITIZEN = $01; AW_ENABLE_CAV_BOT = $02; AW_ENABLE_CAV_TOURIST = $04; AW_ENABLE_CAV_WORLD_CITIZEN = $10; AW_ENABLE_CAV_WORLD_BOT = $20; AW_ENABLE_CAV_WORLD_TOURIST = $40; //----------------------------------------------------------------------------- // v a r i a b l e s t y p e s //----------------------------------------------------------------------------- // 3D vector type aw_type_vector = packed record x,y,z: single; end; // 3D vector range, min and max type aw_type_vector_range = packed record min,max: aw_type_vector; end; //----------------------------------------------------------------------------- // o b j e c t t y p e d a t a s t r u c t u r e s //----------------------------------------------------------------------------- // Use GetMem and FreeMem rather than New and Dispose if allocating these manually, // so you can set the length to greater than the record (record size + str_data size) // ((but normally you would use the aw_object_*_set functions // --Magine // AW_OBJECT_TYPE_ZONE type aw_object_data_zone = packed record size: aw_type_vector; // BBox, MUST be first item in struct! version: UChar; // structure version (set by SDK) shape: UChar; priority: Byte; gravity, friction: single; flags: UShort; // boolean flags color: ULong; // COLORREF fog_min: UShort; fog_max: UShort; footstep_len: UShort; // length of 1st string in str_data ambient_len: UShort; // length of 2nd string in str_data camera_len: UChar; // length of 3nd string in str_data target_cur_len: UChar; reserved: array [0..11] of char; // Bytes reserverd for future use // note: increase the structure's total size // by the length of the strings // when allocating memory for this structure! // (str_data is the reference to the first byte) str_data: array [0..0] of char; end; p_aw_object_data_zone = ^aw_object_data_zone; // AW_OBJECT_TYPE_PARTICLES type aw_object_data_particles = packed record volume: aw_type_vector_range; // BBox, MUST be first item in struct! version: UChar; // structure version (set by SDK) speed, accel, angle, spin, size: aw_type_vector_range; release_min, // time in ms release_max: ULong; // time in ms release_size: UShort; // # of particles released lifespan, // time in ms emitter_lifespan, // time in ms fade_in, // time in ms fade_out, // time in ms color_start, // COLORREF color_end: ULong; // COLORREF opacity: single; render_style: UChar; flags: UShort; // boolean flags (interp, collide, gravity) style: UChar; asset_list_len: UShort; // length of 1st string in str_data name_len: UChar; // length of 2nd string in str_data reserved: array [0..11] of char; // Bytes reserverd for future use // note: increase the structure's total size // by the length of the strings // when allocating memory for this structure! // (str_data is the reference to the first byte) //char str_data[1]; str_data: array [0..0] of char; end; p_aw_object_data_particles = ^aw_object_data_particles; // AW_OBJECT_TYPE_CAMERA type aw_object_data_camera = packed record version: UChar; // structure version (set by SDK) flags: UShort; zoom: single; name_len: UChar; // length of 1st string in str_data reserved: array [0..11] of char; // Bytes reserverd for future use // note: increase the structure's total size // by the length of the strings // when allocating memory for this structure! // (str_data is the reference to the first byte) //char str_data[1]; str_data: array [0..0] of char; end; p_aw_object_data_camera = ^aw_object_data_camera; // AW_OBJECT_TYPE_MOVER type aw_object_data_mover = packed record version: UChar; // structure version (set by SDK) otype: UChar; flags: UInt; locked_pos_x, locked_pos_y, locked_pos_z, locked_pos_yaw, locked_pos_pitch: Short; glide_factor: Byte; speed_factor, friction_factor: UChar; accel_tilt_x, accel_tilt_z: Byte; turn_factor: UChar; avatar_tag: UChar; reserved1: array [0..8] of char; // Bytes reserved for future use name_len, // length of 1st string in str_data seq_len, // length of 2nd string in str_data script_len, // length of 3nd string in str_data sound_len: UChar; // length of 4th string in str_data waypoints_len: UShort; // length of 5th string in str_data bump_name_len: UChar; // length of 6th string in str_data?? reserved2: array [0..1] of char; // note: increase the strucure's total size // by the length of the strings // when allocating memory for this structure! // (str_data is the reference to the first byte) //char str_data[1]; str_data: array [0..0] of char; end; p_aw_object_data_mover = ^aw_object_data_mover; type aw_waypoint = packed record x,y,z,yaw,pitch,roll: Short; speed: UShort; pause: UChar; flag: UShort; end; p_aw_waypoint = ^aw_waypoint; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++ type AWhInst = Pointer; PAWhInst = ^AWhInst; AWEventProc = procedure; cdecl; AWCallbackProc = procedure(rc : Integer); cdecl; SectorSeqs = Array[0..2, 0..2] of Integer; Sector5Seqs = Array[0..4, 0..4] of Integer; //----------------------------------------------------------------------------- // m e t h o d s //----------------------------------------------------------------------------- function aw_init (build: Integer): Integer; cdecl; external AW_DLL; function aw_init_bind (build: integer; addr: ULong): integer; cdecl; external AW_DLL; procedure aw_term; cdecl; external AW_DLL; function aw_create (const domain: PChar; port: Integer; instance: PAWhInst): Integer; cdecl; external AW_DLL; function aw_create_resolved (address: Cardinal; port: Integer; instance: PAWhInst): Integer; cdecl; external AW_DLL; function aw_destroy : Integer; cdecl; external AW_DLL; function aw_instance : AWhInst; cdecl; external AW_DLL; function aw_instance_set (instance: AWhInst): Integer; cdecl; external AW_DLL; function aw_login : Integer; cdecl; external AW_DLL; function aw_wait (milliseconds: Integer): Integer; cdecl; external AW_DLL; function aw_int (a: AW_ATTRIBUTE): Integer; cdecl; external AW_DLL; function aw_int_set (a: AW_ATTRIBUTE; value: Integer): Integer; cdecl; external AW_DLL; function aw_string (a: AW_ATTRIBUTE): PChar; cdecl; external AW_DLL; function aw_string_set (a: AW_ATTRIBUTE;const value: PChar): Integer; cdecl; external AW_DLL; function aw_bool (a: AW_ATTRIBUTE): Integer; cdecl; external AW_DLL; function aw_bool_set (a: AW_ATTRIBUTE; value: Integer): Integer; cdecl; external AW_DLL; function aw_float (a: AW_ATTRIBUTE): Single; cdecl; external AW_DLL; function aw_float_set (a: AW_ATTRIBUTE; value: Single): integer; cdecl; external AW_DLL; function aw_data(a: AW_ATTRIBUTE; var length: UInt): PChar; cdecl; external AW_DLL; function aw_data_set(a: AW_ATTRIBUTE; const value: PChar; length: UInt): integer; cdecl; external AW_DLL; function aw_callback_(c: AW_CALLBACK): AWCallbackProc; cdecl; external AW_DLL name 'aw_callback'; function aw_callback_set(c: AW_CALLBACK; callback: AWCallbackProc): Integer; cdecl; external AW_DLL name 'aw_callback_set'; function aw_instance_callback_set(c: AW_CALLBACK; callback: AWCallbackProc): Integer; cdecl; external AW_DLL name 'aw_callback_set'; function aw_event (a: AW_EVENT_ATTRIBUTE): AWEventProc; cdecl; external AW_DLL; function aw_event_set (a: AW_EVENT_ATTRIBUTE; handler: AWEventProc): Integer; cdecl; external AW_DLL; function aw_instance_event_set (a: AW_EVENT_ATTRIBUTE; handler: AWEventProc): Integer; cdecl; external AW_DLL; function aw_enter (const world: PChar): Integer; cdecl; external AW_DLL; function aw_exit : Integer; cdecl; external AW_DLL; function aw_say (const awmessage: PChar): Integer; cdecl; external AW_DLL; function aw_whisper (session_id: Integer; const awmessage: PChar): Integer; cdecl; external AW_DLL; function aw_state_change : Integer; cdecl; external AW_DLL; function aw_citizen_attributes_by_name (const name: PChar): Integer; cdecl; external AW_DLL; function aw_citizen_attributes_by_number (citizen: Integer): Integer; cdecl; external AW_DLL; function aw_citizen_add : Integer; cdecl; external AW_DLL; function aw_citizen_change : Integer; cdecl; external AW_DLL; function aw_citizen_delete (citizen: Integer): Integer; cdecl; external AW_DLL; function aw_citizen_next : Integer; cdecl; external AW_DLL; function aw_citizen_previous : Integer; cdecl; external AW_DLL; function aw_cav_request(const citizen, session: Integer): Integer; cdecl; external AW_DLL; function aw_cav_change: Integer; cdecl; external AW_DLL; function aw_cav_delete: Integer; cdecl; external AW_DLL; function aw_cav_world_request(const citizen, session: Integer): Integer; cdecl; external AW_DLL; function aw_cav_world_change: Integer; cdecl; external AW_DLL; function aw_cav_world_delete: Integer; cdecl; external AW_DLL; function aw_license_add : Integer; cdecl; external AW_DLL; function aw_license_attributes (const name: PChar): Integer; cdecl; external AW_DLL; function aw_license_change : Integer; cdecl; external AW_DLL; function aw_license_delete (const name: PChar): Integer; cdecl; external AW_DLL; function aw_license_next : Integer; cdecl; external AW_DLL; function aw_license_previous : Integer; cdecl; external AW_DLL; function aw_world_list : Integer; cdecl; external AW_DLL; function aw_object_add : Integer; cdecl; external AW_DLL; function aw_object_change : Integer; cdecl; external AW_DLL; function aw_object_delete : Integer; cdecl; external AW_DLL; function aw_object_load : Integer; cdecl; external AW_DLL; function aw_object_query : Integer; cdecl; external AW_DLL; function aw_query (x_sector: Integer; z_sector: Integer; sequence: SectorSeqs): Integer; cdecl; external AW_DLL; function aw_query_5x5 (x_sector, z_sector: integer; sequence: Sector5Seqs): Integer; cdecl; external AW_DLL; function aw_random : Integer; cdecl; external AW_DLL; function aw_world_attributes_change : Integer; cdecl; external AW_DLL; function aw_universe_attributes_change : Integer; cdecl; external AW_DLL; function aw_session : Integer; cdecl; external AW_DLL; function aw_world_eject : Integer; cdecl; external AW_DLL; function aw_sector_from_cell (cell: Integer): Integer; cdecl; external AW_DLL; function aw_universe_ejection_add : Integer; cdecl; external AW_DLL; function aw_universe_ejection_delete (address: Integer): Integer; cdecl; external AW_DLL; function aw_universe_ejection_lookup : Integer; cdecl; external AW_DLL; function aw_universe_ejection_next : Integer; cdecl; external AW_DLL; function aw_universe_ejection_previous : Integer; cdecl; external AW_DLL; function aw_object_click : Integer; cdecl; external AW_DLL; function aw_object_select : Integer; cdecl; external AW_DLL; function aw_avatar_click (session_id: Integer): Integer; cdecl; external AW_DLL; function aw_address (session_id: Integer): Integer; cdecl; external AW_DLL; function aw_url_send (session_id: Integer; const url, target: PChar): Integer; cdecl; external AW_DLL; function aw_url_click(const url: PChar): Integer; cdecl; external AW_DLL; // new 37 function aw_teleport(session_id: Integer): Integer; cdecl; external AW_DLL; function aw_world_ejection_add: integer; cdecl; external AW_DLL; function aw_world_ejection_delete: integer; cdecl; external AW_DLL; function aw_world_ejection_lookup: integer; cdecl; external AW_DLL; function aw_world_ejection_next: integer; cdecl; external AW_DLL; function aw_world_ejection_previous: integer; cdecl; external AW_DLL; function aw_world_attribute_set (attribute: integer; value: PChar): integer; cdecl; external AW_DLL; function aw_world_attribute_get (attribute: integer; read_only: PInteger; value: PChar): integer; cdecl; external AW_DLL; function aw_delete_all_objects: integer; cdecl; external AW_DLL; function aw_cell_next: integer; cdecl; external AW_DLL; function aw_world_reload_registry: integer; cdecl; external AW_DLL; function aw_world_attributes_reset: integer; cdecl; external AW_DLL; function aw_terrain_set (x,z,count,texture: integer; heights: PInteger): integer; cdecl; external AW_DLL; function aw_terrain_query (page_x, page_z: integer; sequence: ULong): integer; cdecl; external AW_DLL; function aw_terrain_next: integer; cdecl; external AW_DLL; function aw_terrain_delete_all: integer; cdecl; external AW_DLL; function aw_terrain_load_node: integer; cdecl; external AW_DLL; function aw_console_message_ (session_id: integer): integer; cdecl; external AW_DLL name 'aw_console_message'; function aw_user_data_set (data: Pointer): integer; cdecl; external AW_DLL; function aw_user_data: Pointer; cdecl; external AW_DLL; function aw_avatar_set (session_id: integer): integer; cdecl; external AW_DLL; function aw_avatar_reload (citizen, session_id: integer): integer; cdecl; external AW_DLL; function aw_avatar_location (citizen, session_id: integer; name: PChar): integer;cdecl; external AW_DLL; // new 65 function aw_world_instance_set (citizen, world_instance: integer): integer; cdecl; external AW_DLL; function aw_world_instance_get (citizen: integer): integer; cdecl; external AW_DLL; function aw_botgram_send: Integer; cdecl; external AW_DLL; // new 37 function aw_toolbar_click: Integer; cdecl; external AW_DLL; // new 37 function aw_user_list: Integer; cdecl; external AW_DLL; // new 37 function aw_noise (session_id: integer): integer; cdecl; external AW_DLL; function aw_world_attributes_send (session_id: integer): integer; cdecl; external AW_DLL; function aw_camera_set (session_id: integer): integer; cdecl; external AW_DLL; function aw_botmenu_send: integer; cdecl; external AW_DLL; function aw_object_bump: integer; cdecl; external AW_DLL; function aw_mover_set_state (id,state,model_num: integer): integer; cdecl; external AW_DLL; function aw_mover_set_position (id,x,y,z,yaw,pitch,roll: integer): integer; cdecl; external AW_DLL; function aw_mover_rider_add (id,session,dist,angle,y_delta,yaw_delta,pitch_delta: integer): integer; cdecl; external AW_DLL; function aw_mover_rider_change (id,session,dist,angle,y_delta,yaw_delta,pitch_delta: integer): integer; cdecl; external AW_DLL; function aw_mover_rider_delete (id,session: integer): integer; cdecl; external AW_DLL; function aw_mover_links (id: integer): integer; cdecl; external AW_DLL; (* object type function macros below *) function aw_object_zone_set ( size: aw_type_vector; shape: UChar; priority: Byte; gravity, friction: single; flags: UShort; color: ULong; fog_min,fog_max: UShort; footstep,ambient,camera,target_cur: PChar): integer; cdecl; external AW_DLL; function aw_object_zone (var len: integer): p_aw_object_data_zone; cdecl; external AW_DLL; function aw_object_particles_set ( volume, speed, accel, angle, spin, size: aw_type_vector_range; release_min, release_max: ULong; release_size: UShort; lifespan, emitter_lifespan, fade_in, fade_out, color_start,color_end: ULong; opacity: single; render_style: UChar; flags: UShort; style: UChar; asset_list,name: PChar): integer; cdecl; external AW_DLL; function aw_object_particles (var len: integer): p_aw_object_data_particles; cdecl; external AW_DLL; { function aw_object_camera_set (flags: UShort; zoom: single; name: PChar): integer; cdecl; external AW_DLL; function aw_object_camera (len: integer): p_aw_object_data_camera; cdecl; external AW_DLL; } function aw_object_mover_set (otype: UChar; flags: UShort; name, script, sound: PChar; waypoints_len: UShort; waypoints: pointer): integer; cdecl; external AW_DLL; function aw_object_mover (var len: integer): p_aw_object_data_mover; cdecl; external AW_DLL; (* gui control functions *) function aw_hud_create: integer; cdecl; external AW_DLL; function aw_hud_click: integer; cdecl; external AW_DLL; function aw_hud_destroy (session,id: integer): integer; cdecl; external AW_DLL; function aw_hud_clear (session: integer): integer; cdecl; external AW_DLL; (* helper functions *) {$ifdef WIN32} function aw_tick: UInt; cdecl; external AW_DLL; {$else} function aw_tick: Int64; cdecl; external AW_DLL; {$endif} function aw_check_right (citizen: integer; str: PChar): integer; cdecl; external AW_DLL; function aw_check_right_all (str: PChar): integer; cdecl; external AW_DLL; function aw_has_world_right (citizen: integer; right: AW_ATTRIBUTE): integer; cdecl; external AW_DLL; function aw_has_world_right_all (right: AW_ATTRIBUTE): integer; cdecl; external AW_DLL; function aw_traffic_count (var traffic_in: integer; var traffic_out: integer): integer; cdecl; external AW_DLL; function aw_zip(dest_buf: PUChar; out dest_len: Cardinal; const in_buf: PUChar; const in_len: Cardinal): integer; cdecl; external AW_DLL; function aw_unzip(dest_buf: PUChar; out dest_len: Cardinal; const in_buf: PUChar; const in_len: Cardinal): integer; cdecl; external AW_DLL; (* world server admin methods *) function aw_server_admin (const domain: PChar; port: integer; password: PChar; instance: PAWhInst): integer; cdecl; external AW_DLL; function aw_server_world_add: integer; cdecl; external AW_DLL; function aw_server_world_delete (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_change (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_list: integer; cdecl; external AW_DLL; function aw_server_world_start (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_stop (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_set (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_instance_set (id: integer): integer; cdecl; external AW_DLL; function aw_server_world_instance_add (id, instance_id: integer): integer; cdecl; external AW_DLL; function aw_server_world_instance_delete (id,instance_id: integer): integer; cdecl; external AW_DLL; implementation end.