EasyUniversal / DocsДокументация · SDK 0.3Подписка Universal ↗
Easy Universal / Справочник SDK

Декларации API

AngelScript · native runtime · локальная сборка
// Editor reference only: not an executable package entrypoint.
// vec2 / vec3: x,y[,z], constructors, add/subtract/multiply/normalize/
// length/length_squared/dot/distance/lerp; vec3 also cross.
// matrix4: identity constructor, get/set(row,column), multiply, transpose.
// memory_buffer: size; bool read_u8/u16/u32/i32/u64/float/double(offset,out);
// bool slice(offset,count,string &out). These native types are declared by host.
namespace projection {
    bool project(const matrix4 &in matrix,const vec3 &in world,float width,float height,vec2 &out screen);
    bool perspective(const vec3 &in world,const vec3 &in camera,const vec3 &in forward,const vec3 &in right,const vec3 &in up,float horizontal_fov,float width,float height,vec2 &out screen);
    bool from_bytes(const string &in bytes,matrix4 &out matrix);
}
namespace buffer { memory_buffer@ from_bytes(const string &in bytes); }
namespace geometry {
    float distance3(float x,float y,float z,float x2,float y2,float z2);
    bool project(const string &in matrix64,float x,float y,float z,float &out sx,float &out sy);
}
namespace adapter {
    bool declared();
    string game();
    string source();
    bool has_capability(const string &in capability);
    bool source_available();
    string status();
    string last_error();
    bool set_status(const string &in state,const string &in message='');
    bool add_entity(uint64 id,const string &in label,float x,float y,float z,float health,uint team);
    uint entity_count();
    bool entity_position(uint index,float &out x,float &out y,float &out z);
    uint64 entity_id(uint index);
    string entity_label(uint index);
    float entity_health(uint index);
    uint entity_team(uint index);
}
namespace runtime { void log(const string &in text); }
namespace input {
    bool enabled();
    bool active();
    bool key_down(uint virtualKey);
    bool move_mouse(int dx,int dy);
    bool click_left();
    string last_error();
}
namespace http {
    uint post(const string &in url, const string &in body);
    bool enabled();
    uint get(const string &in url);
    string state(uint id);
    uint status(uint id);
    string body(uint id);
    string error(uint id);
    bool release(uint id);
}
namespace screen { float width(); float height(); }
namespace time { float seconds(); float delta(); }
namespace demo { float x(); float y(); }
namespace wt {
    bool enabled();
    bool available();
    bool read_number(const string &in endpoint,const string &in key,float &out value);
}
namespace process {
    // SDK 0.2, new permissions require manifest api="0.2".
    // thread_info: uint id,owner_pid; int priority; uint64 start_address; bool start_known.
    // handle_info: uint64 value; uint type_index,access,attributes.
    array<thread_info>@ enumerate_threads(uint pid);
    array<handle_info>@ enumerate_handles(uint pid);
    array<thread_info>@ find_orphan_threads(uint pid,const array<module_info> &in modules);
    bool write_enabled();
    bool write_u8(uint pid,uint64 address,uint8 value);
    bool write_u16(uint pid,uint64 address,uint16 value);
    bool write_u32(uint pid,uint64 address,uint value);
    bool write_u64(uint pid,uint64 address,uint64 value);
    bool write_f32(uint pid,uint64 address,float value);
    bool write_f64(uint pid,uint64 address,double value);
    bool write_bytes(uint pid,uint64 address,const string &in bytes);
    bool write_protected(uint pid,uint64 address,const string &in bytes,uint new_protect);
    uint64 find_pattern(uint pid,const string &in module,const string &in pattern,const string &in mask);
    array<uint64>@ find_all_patterns(uint pid,const string &in module,const string &in pattern,const string &in mask);
    uint64 resolve_rip_relative(uint pid,uint64 instruction,uint displacement_offset,uint instruction_length);
    bool save_profile(uint pid,const string &in filename);
    string diff_profiles(const string &in filename_a,const string &in filename_b);
    string diagnostics(uint pid);
    // module_info: uint64 base,size; string path.
    // module_difference: uint64 base,system_size,peb_size;
    // string kind,system_path,peb_path. Native host value types.
    array<module_info>@ enumerate_modules(uint pid,const string &in source);
    array<module_difference>@ diff_modules(uint pid);
    // memory_region: uint64 address,size; uint state,type,protection;
    // bool readable,writable,executable,guard. Native host value type.
    array<memory_region>@ enumerate_memory_regions(uint pid);
    bool attached();
    bool alive();
    uint pid();
    string name();
    uint64 module_base(const string &in name);
    string last_error();
    bool read_u32(uint64 address,uint &out value);
    bool read_u64(uint64 address,uint64 &out value);
    bool read_float(uint64 address,float &out value);
    bool read_bytes(uint64 address,uint count,string &out bytes);
    bool read_u8(uint64 address,uint8 &out value);
    bool read_u16(uint64 address,uint16 &out value);
    bool read_i32(uint64 address,int &out value);
    bool read_double(uint64 address,double &out value);
    memory_buffer@ read_buffer(uint64 address,uint count);
}
namespace render {
    void push_clip(float x,float y,float width,float height);
    void pop_clip();
    void text(float x,float y,const string &in value,uint color=0xffffffff);
    void line(float x,float y,float x2,float y2,uint color=0xffffffff,float thickness=1);
    void circle(float x,float y,float radius,uint color=0xffffffff);
    void filled_circle(float x,float y,float radius,uint color=0xffffffff);
    void rect(float x,float y,float width,float height,uint color=0xffffffff,bool filled=false);
}
namespace ui {
    void theme(uint background,uint panel,uint text,uint accent,uint border);
    uint keybind(const string &in id,const string &in label,uint code,float x,float y,float width,float height);
    float scroll(const string &in id,float offset,float content_height,float x,float y,float width,float height);
    void label(const string &in text);
    bool button(const string &in id,const string &in label,float x,float y,float width,float height);
    bool checkbox(const string &in id,const string &in label,bool value,float x,float y,float width,float height);
    float slider(const string &in id,const string &in label,float value,float min,float max,float step,float x,float y,float width,float height);
    uint cycle(const string &in id,const string &in label,uint index,uint count,float x,float y,float width,float height);
    string textbox(const string &in id,const string &in label,const string &in value,uint max_bytes,float x,float y,float width,float height);
}
namespace resources { string text(const string &in path); }
namespace gui {
    bool enabled();
    string get(const string &in key,const string &in fallback='');
    void set(const string &in key,const string &in value);
    bool contains(const string &in key);
    bool remove(const string &in key);
}
namespace config {
    bool enabled();
    bool contains(const string &in key);
    bool remove(const string &in key);
    bool get_bool(const string &in key,bool fallback=false);
    void set_bool(const string &in key,bool value);
    int get_int(const string &in key,int fallback=0);
    void set_int(const string &in key,int value);
    float get_float(const string &in key,float fallback=0);
    void set_float(const string &in key,float value);
    string get(const string &in key,const string &in fallback='');
    void set(const string &in key,const string &in value);
}
namespace jobs {
    uint submit(const string &in kind,const string &in payload);
    string state(uint id);
    string body(uint id);
    string error(uint id);
    bool release(uint id);
}
namespace json {
    bool valid(const string &in source);
    string get_string(const string &in source,const string &in key,const string &in fallback='');
}
namespace source {
    bool enabled();
    string kind();
    uint provider_pid();
    string status();
    string last_error();
    bool has_capability(const string &in name);
    string snapshot();
    bool update(const string &in key,const string &in jsonScalar);
    string update_status();
    bool read_number(const string &in key,double &out value);
    bool read_text(const string &in key,string &out value);
    bool read_bool(const string &in key,bool &out value);
}
Easy Universal — отдельный проект. Easy External не изменён.