unit mAWAPI; interface uses Windows, Messages, SysUtils, Classes; { #ifdef LINUX #include #include #endif } const AW_BUILD = 71; 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; //----------------------------------------------------------------------------- // o b j e c t v e r s i o n s //----------------------------------------------------------------------------- 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 type { Generic integer types for 32-bit implementations of Delphi Type Range Format Integer -2147483648..2147483647 signed 32-bit Cardinal 0..4294967295 unsigned 32-bit Fundamental integer types include Shortint, Smallint, Longint, Int64, Byte, Word, and Longword. Fundamental integer types Type Range Format Shortint -128..127 signed 8-bit Smallint -32768..32767 signed 16-bit Longint -2147483648..2147483647 signed 32-bit Int64 -2^63..2^63-1 signed 64-bit Byte 0..255 unsigned 8-bit Word 0..65535 unsigned 16-bit Longword 0..4294967295 unsigned 32-bit } {$ifndef CDataTypeDefs} {$define CDataTypeDefs} PInt = ^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, // new 21 AW_UNIVERSE_WORLD_RELEASE, // new 21 AW_UNIVERSE_WORLD_BETA, // new 21 AW_UNIVERSE_ALLOW_TOURISTS, // new 24 AW_UNIVERSE_SEARCH_URL, // new 24 AW_UNIVERSE_NOTEPAD_URL, // new 53 AW_UNIVERSE_NAME, AW_UNIVERSE_USER_LIST_ENABLED, // new 53 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, // new 58 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, // new in 29... 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, // new 58 AW_WORLD_LIGHT_SOURCE_COLOR, // new 58 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, // new 41 AW_WORLD_GRAVITY, AW_WORLD_BUOYANCY, //...new in 29 AW_WORLD_FRICTION, // new in 55... AW_WORLD_WATER_FRICTION, AW_WORLD_SLOPESLIDE_ENABLED, AW_WORLD_SLOPESLIDE_MIN_ANGLE, AW_WORLD_SLOPESLIDE_MAX_ANGLE, // ...new in 55 AW_WORLD_ALLOW_TOURIST_BUILD, // new 31 AW_WORLD_WORLD_ENABLE_REFERER, // new 32 AW_WORLD_WATER_UNDER_TERRAIN, // new 37 AW_WORLD_TERRAIN_OFFSET, // new 37 AW_WORLD_VOIP_RIGHT, // new 31 (for AWB 4.0) AW_WORLD_DISABLE_MULTIPLE_MEDIA, //new 41 AW_WORLD_BOTMENU_URL, // new 53 AW_WORLD_ENABLE_BUMP_EVENT, // new 53 AW_WORLD_ENABLE_SYNC_EVENTS, // new 53 AW_WORLD_ENABLE_CAV, // new in 55 AW_WORLD_ENABLE_PAV, // new in 55 AW_WORLD_CHAT_DISABLE_URL_CLICKS, // new 58 AW_WORLD_MOVER_EMPTY_RESET_TIMEOUT, // new 58 AW_WORLD_MOVER_USED_RESET_TIMEOUT, // new 58 AW_MY_X, AW_MY_Y, AW_MY_Z, AW_MY_YAW, AW_MY_PITCH,// new 29 AW_MY_TYPE, AW_MY_GESTURE, AW_MY_STATE, // new 29 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, // new 53 AW_AVATAR_FLAGS, // new 53 AW_CHAT_SESSION, AW_CHAT_MESSAGE, AW_CELL_X, AW_CELL_Z, AW_CELL_SEQUENCE, AW_CELL_SIZE, AW_CELL_ITERATOR, AW_CELL_COMBINE, // new 21 AW_OBJECT_ID, // new 53 AW_OBJECT_NUMBER, AW_OBJECT_X, AW_OBJECT_Y, AW_OBJECT_Z, AW_OBJECT_YAW, AW_OBJECT_TILT, // new 24 AW_OBJECT_ROLL, // new 24 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, // new 53 AW_OBJECT_TYPE, // new 53 AW_OBJECT_DATA, // new 53 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, // new 24 AW_LICENSE_HIDDEN, // new 24 AW_LICENSE_ALLOW_TOURISTS, // new 24 AW_LICENSE_VOIP, // new 55 AW_LICENSE_PLUGINS, // new 55 AW_WORLDLIST_NAME, AW_WORLDLIST_STATUS, AW_WORLDLIST_USERS, AW_WORLDLIST_RATING, // new 29 AW_WORLDLIST_MORE, // new 20 AW_EJECT_SESSION, AW_EJECT_DURATION, AW_EJECTION_TYPE, // new 24 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, // new 37 AW_URL_TARGET, AW_URL_TARGET_3D, // new 37 AW_TELEPORT_WORLD, AW_TELEPORT_X, AW_TELEPORT_Y, AW_TELEPORT_Z, AW_TELEPORT_YAW, AW_TELEPORT_WARP, AW_SERVER_BUILD, // new 24 AW_SERVER_NAME, AW_SERVER_PASSWORD, AW_SERVER_REGISTRY, AW_SERVER_CARETAKERS, AW_SERVER_ID, AW_SERVER_INSTANCE, // new 58 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, // new 37... 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_ENABLED, //removed in 55 AW_USERLIST_ID, // ...new 37 AW_SOUND_NAME, // new 53... 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, // ...new 53 // ======================================================== // 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, // new 41 // ======================================================== AW_UNIVERSE_CAV_PATH, // new 53... AW_CITIZEN_PAV_ENABLED, // new 70 //removed 70 //AW_CITIZEN_CAV_ENABLED, //AW_CITIZEN_CAV_TEMPLATE, //AW_CAV_TEMPL_NUMBER, //AW_CAV_TEMPL_TYPE, //AW_CAV_TEMPL_RATING, //AW_CAV_TEMPL_NAME, //AW_CAV_TEMPL_MODEL, AW_CAV_CITIZEN, AW_CAV_DEFINITION, // new 70 //removed 70 //AW_CAV_TEMPLATE, //AW_CAV_TYPE, //AW_CAV_RATING, //AW_CAV_NAME, //AW_CAV_MODEL, //AW_CAV_KEYFRAME1SCALE, //AW_CAV_KEYFRAME2SCALE, //AW_CAV_HEIGHT, //AW_CAV_SKINCOLOR, //AW_CAV_HAIRCOLOR, 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, // ...new 53 AW_AVATAR_WORLD_INSTANCE, // new 58 AW_ATTRIB_SENDER_SESSION, // new 56 AW_ENTITY_MODEL_NUM, // new 58 AW_WORLD_V4_OBJECTS_RIGHT, // new 59 AW_CITIZEN_LAST_ADDRESS, // new 60 // new 64... 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, // ...new 64 AW_CITIZEN_TRIAL, // new 65 AW_UNIVERSE_CAV_PATH2, // new 65 // new 66 AW_WORLD_DISABLE_SHADOWS, AW_WORLD_ENABLE_CAMERA_COLLISION, AW_WORLD_SPECIAL_COMMANDS, // new 70 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, // new 37 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, // new 37 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, // new 37 AW_EVENT_TOOLBAR_CLICK, // new 37 AW_EVENT_USER_INFO, // new 37 AW_EVENT_VOIP_DATA, // new 41 AW_EVENT_NOISE, // new 53... 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, // ...new 53 AW_EVENT_AVATAR_RELOAD, // new 58 AW_EVENT_ENTITY_LINKS, // new 58 // new 64... AW_EVENT_HUD_CLICK, AW_EVENT_HUD_CREATE, AW_EVENT_HUD_DESTROY, AW_EVENT_HUD_CLEAR, // ...new 64 // new 70 AW_EVENT_CAV_DEFINITION_CHANGE, AW_EVENT_WORLD_CAV_DEFINITION_CHANGE, AW_MAX_EVENT ); type AW_CALLBACK = ( AW_CALLBACK_CREATE, // NEW 53! 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, // new 70 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, // new 37 AW_CALLBACK_USER_LIST, // new 37 AW_CALLBACK_BOTMENU_RESULT, // new 53 //AW_CALLBACK_CAV_TEMPLATE, // removed 70 //AW_CALLBACK_CAV_TEMPLATE_RESULT, // removed 70 AW_CALLBACK_CAV, // new 53 AW_CALLBACK_CAV_RESULT, // new 53 //AW_CALLBACK_ENTITY_RESULT, // ...new 53, removed 58 AW_CALLBACK_WORLD_INSTANCE, // new 58 AW_CALLBACK_HUD_RESULT, // NEW 64 AW_CALLBACK_AVATAR_LOCATION, //new 65 // new 70 AW_CALLBACK_OBJECT_QUERY, AW_CALLBACK_WORLD_CAV_RESULT, AW_CALLBACK_WORLD_CAV, AW_MAX_CALLBACK ); type AW_CHAT_TYPES = ( AW_CHAT_SAID, AW_CHAT_BROADCAST, AW_CHAT_WHISPER ) ; type AW_CONTACT_STATES = ( AW_CONTACT_OFFLINE, AW_CONTACT_ONLINE, AW_CONTACT_NOT_A_CITIZEN, AW_CONTACT_AFK, AW_CONTACT_UNKNOWN, AW_CONTACT_DELETE ) ; type AW_WORLD_STATES = ( AW_WORLDSTATUS_UNKNOWN, AW_WORLDSTATUS_PUBLIC, AW_WORLDSTATUS_PRIVATE, AW_WORLDSTATUS_STOPPED ) ; type AW_SERVER_STATES =( AW_SERVER_STOPPED, AW_SERVER_STARTING, AW_SERVER_START_WAIT, AW_SERVER_RUNNING ); type AW_CONNECTION_TYPES=( AW_CONNECTION_DIRECT, AW_CONNECTION_FIREWALL_NO_PROXY, AW_CONNECTION_PROXY_AUTO, AW_CONNECTION_PROXY_NO_AUTH, AW_CONNECTION_PROXY_BASIC, AW_CONNECTION_PROXY_AUTH_NTLM, AW_CONNECTION_MAX ); type AW_CONNECTION_STATES=( AW_CONNECTION_STATE_NOT_CONNECTED, AW_CONNECTION_STATE_CONNECTING_TO_PROXY, AW_CONNECTION_STATE_NEGOTIATING_WITH_PROXY, AW_CONNECTION_STATE_CONNECTING_TO_TUNNEL, AW_CONNECTION_STATE_CONNECTING_TO_UNIVERSE, AW_CONNECTION_STATE_CONNECTED, AW_CONNECTION_STATE_PASSWORD_REQUIRED ); type AW_EJECTION_TYPES=( AW_EJECT_BY_ADDRESS, AW_EJECT_BY_COMPUTER, AW_EJECT_BY_CITIZEN ); type AW_AVATAR_STATES = ( AW_AVATAR_STATE_WALKING, AW_AVATAR_STATE_RUNNING, AW_AVATAR_STATE_FLYING, AW_AVATAR_STATE_SWIMMING, AW_AVATAR_STATE_FALLING, AW_AVATAR_STATE_JUMPING, AW_AVATAR_STATE_WARPING, AW_AVATAR_STATE_RIDING, // new 53... AW_AVATAR_STATE_SLIDING1, AW_AVATAR_STATE_SLIDING2, AW_AVATAR_STATE_SLIDING3, AW_AVATAR_STATE_CLIMBING // ...new 53 ); type AW_ZONE_TYPES = ( AW_ZONE_TYPE_CUBE, AW_ZONE_TYPE_CYLINDER, AW_ZONE_TYPE_SPHERE ); type AW_PARTICLE_TYPES = ( AW_PARTICLE_TYPE_SPRITE, AW_PARTICLE_TYPE_FACER, AW_PARTICLE_TYPE_FLAT, AW_PARTICLE_TYPE_OBJECT ); type AW_PARTICLE_DRAW_STYLES = ( AW_PARTICLE_DRAW_NORMAL, AW_PARTICLE_DRAW_BRIGHT, AW_PARTICLE_DRAW_GLOW ); type AW_CAMERA_TYPES = ( AW_CAMERA_TRACK_DEFAULT, AW_CAMERA_TRACK_AVATAR, AW_CAMERA_TRACK_OBJECT, AW_CAMERA_TRACK_AHEAD ); type AW_REGISTER_METHODS=( AW_REGISTER_MONTHLY, AW_REGISTER_ANNUAL, AW_REGISTER_USER ); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++ type AW_AVATAR_SET_FLAGS = ( 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 ); type AW_ENTITY_TYPES = ( AW_ENTITY_AVATAR, // not used as such AW_ENTITY_MOVER ); type AW_MOVER_STATE_TYPES = ( AW_MOVER_STATE_IDLE, // never set by SDK AW_MOVER_STATE_START, AW_MOVER_STATE_MOVE, // never set by SDK AW_MOVER_STATE_PAUSE, AW_MOVER_STATE_CONTINUE, AW_MOVER_STATE_STOP, AW_MOVER_STATE_RESET ); type AW_MOVER_FLAG_TYPES = ( 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 ); type AW_MOVER_TYPES = ( AW_MOVER_TYPE_PASSIVE, AW_MOVER_TYPE_ACTIVE, AW_MOVER_TYPE_ITEM ); type AW_ZONE_FLAGS = ( 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_ZONE_FLAG_VOIP = $80 // new 71 ); type AW_PARTICLE_FLAGS = ( 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 ); type AW_CAMERA_FLAGS = ( AW_CAMERA_FLAG_TRACK_USER = 1 ); type AW_OBJECT_TYPES = ( AW_OBJECT_TYPE_V3 = 0, AW_OBJECT_TYPE_UNKNOWN, AW_OBJECT_TYPE_ZONE, AW_OBJECT_TYPE_PARTICLES, AW_OBJECT_TYPE_MOVER, AW_OBJECT_TYPE_CAMERA, AW_MAX_OBJECT_TYPES ); type AW_HUD_ORIGIN_TYPES = ( AW_HUD_ORIGIN_TOP_LEFT = 0, AW_HUD_ORIGIN_TOP, AW_HUD_ORIGIN_TOP_RIGHT, AW_HUD_ORIGIN_LEFT, AW_HUD_ORIGIN_CENTER, AW_HUD_ORIGIN_RIGHT, AW_HUD_ORIGIN_BOTTOM_LEFT, AW_HUD_ORIGIN_BOTTOM, AW_HUD_ORIGIN_BOTTOM_RIGHT ); type AW_HUD_TYPES = ( AW_HUD_TYPE_TEXT = 0, AW_HUD_TYPE_IMAGE, AW_HUD_TYPE_MODEL ); type AW_HUD_ELEMENT_FLAGS_ENUM = ( 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 ); type AW_PRIVACY_TYPES = ( AW_PRIVACY_BLOCK_TELEGRAMS = $0001 ); // AW_WORLD_ENABLE_CAV flags type AW_ENABLE_CAV_TYPES = ( 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 //----------------------------------------------------------------------------- //#ifdef LINUX //#pragma pack (push, aw_api, 1) // Store current structure packing alignment //#else //#pragma pack (push, aw_api) // Store current structure packing alignment //#endif //#pragma pack (1) //{$A1} << this is the same as #pragma pack (1), but can also use the "packed record" type instead // 3D vector aw_type_vector = packed record x,y,z: single; end; // 3D vector range, min and max 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 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, fog_max, footstep_len, // 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; voip_rights_len: UChar; reserved: array [0..10] 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_zone = ^aw_object_data_zone; // AW_OBJECT_TYPE_PARTICLES 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 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 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; aw_waypoint = packed record x,y,z,yaw,pitch,roll: Short; speed: UShort; pause: UChar; flag: UShort; end; p_aw_waypoint = ^aw_waypoint; // I added this def --Magine //#pragma pack (pop, aw_api) // Restore structure packing alignment //{$A8} //++++++++++++++++++++++++++++++++++++++++++++++++++++++++ type AWhInst = Pointer; PAWhInst = ^AWhInst; AWEventProc = procedure; cdecl; AWCallbackProc = procedure(rc : Integer); cdecl; type SectorSeqs = Array[0..2, 0..2] of Integer; Sector5Seqs = Array[0..4, 0..4] of Integer; //#ifdef LINUX //#pragma pack (pop) // Since no more push called, we can have the default popped back //#else //#pragma pack (pop, aw_api) // Restore structure packing alignment //#endif //----------------------------------------------------------------------------- // 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'; // new 61 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'; // new 70 //AWAPI int aw_cav_request (int citizen, int session); //AWAPI int aw_cav_change (); //AWAPI int aw_cav_delete (); //AWAPI int aw_world_cav_request (int citizen, int session); //AWAPI int aw_world_cav_change (); //AWAPI int aw_world_cav_delete (); function aw_cav_request (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_world_cav_request (citizen, session: integer): integer; cdecl; external 'aw.dll'; function aw_world_cav_change: integer; cdecl; external 'aw.dll'; function aw_world_cav_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'; //AWAPI int aw_object_query (void); // new 70 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'; // new 58 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'; // new 58 function aw_world_instance_get (citizen: integer): integer; cdecl; external 'aw.dll'; // new 58 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'; // new 53 function aw_world_attributes_send (session_id: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_camera_set (session_id: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_botmenu_send: integer; cdecl; external 'aw.dll'; // new 53 function aw_object_bump: integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_set_state (id,state,model_num: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_set_position (id,x,y,z,yaw,pitch,roll: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_rider_add (id,session,dist,angle,y_delta,yaw_delta,pitch_delta: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_rider_change (id,session,dist,angle,y_delta,yaw_delta,pitch_delta: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_rider_delete (id,session: integer): integer; cdecl; external 'aw.dll'; // new 53 function aw_mover_links (id: integer): integer; cdecl; external 'aw.dll'; // new 53 { // not used by SDK AWAPI int aw_contact_add (int citizen, unsigned int options); AWAPI int aw_contact_add_by_name (char* name, unsigned int options); AWAPI int aw_contact_change (int citizen, unsigned int options); AWAPI int aw_contact_confirm (int citizen, unsigned int options); } // 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,voip_rights: PChar): integer; cdecl; external 'aw.dll'; // new 53, changed 71 function aw_object_zone (var len: integer): p_aw_object_data_zone; cdecl; external 'aw.dll'; // new 53 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'; // new 53 function aw_object_particles (var len: integer): p_aw_object_data_particles; cdecl; external 'aw.dll'; // new 53 { function aw_object_camera_set (flags: UShort; zoom: single; name: PChar): integer; cdecl; external 'aw.dll'; // new 53 function aw_object_camera (len: integer): p_aw_object_data_camera; cdecl; external 'aw.dll'; // new 53 } function aw_object_mover_set (otype: UChar; flags: UShort; locked_pos_x,locked_pos_y,locked_pos_z,locked_pos_yaw,locked_pos_pitch: Short; glide_factor: char; speed_factor,friction_factor: UChar; accel_tilt_x,accel_tilt_z: char; tilt_factor,avatar_flag: UChar; name, seq, script, sound: PChar; waypoints_len: UShort; waypoints: pointer; bump_name: PChar): integer; cdecl; external 'aw.dll'; // new 53, changed 71 { short locked_pos_x, short locked_pos_y, short locked_pos_z, short locked_yaw, short locked_pitch, char glide_factor, unsigned char speed_factor, unsigned char friction_factor, char accel_tilt_x, char accel_tilt_z, unsigned char turn_factor, unsigned char avatar_tag, char* name, char* seq, char* script, char* sound, unsigned short waypoints_len, void* waypoints, char* bump_name); } function aw_object_mover (var len: integer): p_aw_object_data_mover; cdecl; external 'aw.dll'; // new 53 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // gui control functions (new 64) 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 below {$ifndef LINUX} function aw_tick: UInt; cdecl; external 'aw.dll'; {$else} //AWAPI uint64_t aw_tick (); function aw_tick: IInt64_t; cdecl; external 'aw.dll'; {$endif} // new 56 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'; // new 53 // new 70 //AWAPI int aw_zip (unsigned char* data_out, unsigned int* len_out, // unsigned char* data_in, unsigned int len_in); //AWAPI int aw_unzip (unsigned char* data_out, unsigned int* len_out, // unsigned char* data_in, unsigned int len_in); function aw_zip (data_out: PUChar; var len_out: UInt; data_in: PUChar; len_in: UInt): integer; cdecl; external 'aw.dll'; function aw_unzip (data_out: PUChar; var len_out: UInt; data_in: PUChar; len_in: UInt): 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.