Releases: Zerthox/arcdps-rs
ArcDPS bindings v0.9.3
- Add new ArcDPS exports
add_event_combat
andlist_extension
- Add new EVTC
StateChange
variantsIdleEvent
andExtensionCombat
- Log error/warn level to both window & file by default
- Expose
d3d_version
anddxgi_swap_chain
- Add functions to check for presence of exports, for example
has_e3_log_file
- Fix missing nul byte in error string
- Documentation improvements
ArcDPS bindings v0.9.2
- Expose DirectX 11 device via
d3d11_device
- Add
EventKind
andAgentKind
enums
ArcDPS bindings v0.9.1
- Move EVTC types to separate crate
arcdps_evtc
- Add
to_owned
as alternative for owned conversion - Implement file/window log targets (#6, #10 thanks @belst)
- Add
add_extension
&free_extension
raw ArcDPS exports - Expose ArcDPS & Unofficial Extras handles
- Fix incorrect lifetimes in callbacks
- Documentation improvements
ArcDPS bindings v0.9.0
- Add
StateChange::LogNPCUpdate
andContentLocal
in ArcDPS API enums - Convert ArcDPS custom skill id enum to constants
CustomSkill::RESURRECT
,CustomSkill::BANDAGE
,CustomSkill::DODGE
(Enum variants have been deprecated and will be removed in the future) - Add
Specialization
toProfession
mapping viaSpecialization::profession
- Primitive support for plugin export
get_update_url
(#9) - Update extras
Control
enum - Add support for Unofficial Extras exports (#4)
- Fix account name prefix in extras
UserInfo
- Add
#[inline]
attribute to small export functions - Documentation improvements
ArcDPS bindings v0.8.1
- Add support for Unofficial Extras chat message callbacks
- Allow access to subgroup
0
color from ArcDPS - Documentation improvements
ArcDPS bindings v0.8.0
Besides internal changes some breaking changes and important additions were made to the the API.
The arcdps_export!
macro had its named shortened to only export!
. You can opt to either use arcdps::export!
or export!
directly now.
A handful of relevant enums have been added to the crate. All of them implement a variety of useful traits, for example to convert between them and their primitive numeric counterpart.
Agent
and CombatEvent
no longer implement Copy
in order to be in line with other structs and avoid accidental implicit duplication. You can still use Clone
as an explicit way to duplicate.
CombatEvent
now holds enums in its affinity
, is_activation
, is_buff_remove
and is_statechange
fields rather than primitive numeric values. The iff
(if friend/foe) field used in ArcDPS' API has been renamed to affinity
in order to avoid confusion with the commonly used term iff meaning "if and only if". RawCombatEvent
has been added for the raw API and still has the old numeric values.
Agent
& AgentOwned
have their _self
field renamed to is_self
as a more appropriate name.
Raw structs & types are no longer exported from the root of the crate. You may access them under arcdps::api
alongside the other structs.
Raw callbacks have been adjusted to use types from the windows crate.
ArcDPS' exports now have proper safe abstractions and are available under arcdps::exports
. You can find raw versions of them in arcdps::exports::raw
.
Unofficial Extras
Support for Unofficial Extras is hidden behind the extras
feature now. After enabling it, everything specific to Unofficial Extras is available in the arcdps::extras
module.
The names of the callbacks have been shortened from for example unofficial_extras_squad_update
to just extras_squad_update
.
The extras_init
function has had its signature changed. It now receives ExtrasAddonInfo
as a rough equivalent of the struct used in the raw Unofficial Extras API. The account name of the current player is passed separately as second parameter.
The bindings are updated to support more recent versions of Unofficial Extras and the added callbacks.
Logging
Logging is hidden behind the log
feature now. It will only log to ArcDPS' log window and no longer includes filename and line numbers in the messages. You can log messages to the arcdps.log
file using log_to_file
(or its corresponding raw version).