Skip to content

Releases: nosoop/SM-TFEconData

0.19.1.2

21 Apr 14:31
c9948fa
Compare
Choose a tag to compare

Fixed

  • Gamedata has been revised for TF2 version 8826692 (2024-04-18). (#24)

0.19.1.1

19 Apr 08:30
Compare
Choose a tag to compare

Fixed

  • Gamedata has been updated for TF2 version 8826692 (2024-04-18).

https://stackoverflow.com/a/45794912 (0.19.1)

03 Jun 19:23
Compare
Choose a tag to compare

Fixed

  • TF2Econ_TranslateWeaponEntForClass now correctly returns false if the underlying TranslateWeaponEntForClass call returns a nullptr in addition to the case where it does for an empty string. (#21)

nobody: (0.19.0)

23 Mar 16:15
Compare
Choose a tag to compare

Minor feature update. There is no urgent need to update if your plugins still work.

If coming from an older version of the plugin, you will need to update tf2.econ_data.txt.

Added

  • Native TF2Econ_GetAttributeList, which returns an ArrayList of valid attribute definition indices.
    • Why would you use this? I don't know. Probably for something I'm working on releasing in the near future I've released.
    • (But really, the TF2Attributes facilities are preferred for attributes on entities.)

Changed

  • Removed public visibility specifier on functions that do not need it.

barking up the right tree but it wasn't valid in the first place (0.18.3)

30 Jan 22:35
Compare
Choose a tag to compare

Bug fix update.

ℹ️ Users are advised to update if they work with the particle attribute list and use Windows.

Added

  • The project now has Github workflow integration for releases.

Fixed

  • TF2Econ_GetParticleAttributeList was not validating that the parent of the underlying CUtlRBTree was valid. This caused crashes on Windows systems. (#19)
  • The plugin changed a comparison used against the TFEconParticleSet to a constant NUM_ECON_PARTICLE_SETS, allowing it to now compile against 1.11 and newer. (#10)
    • This did not affect developers using the include file for their projects; it just allows the plugin itself to be compiled.
    • That said, the workflow still only targets and outputs code compatible with SourceMod 1.10, even though only 1.11 onward is officially built with SDK headers that are current with TF2 updates.

the two hard problems in computer science (0.18.2)

23 Feb 15:01
Compare
Choose a tag to compare

Bug fix update.

ℹ️ Users are recommended to update, full stop.

Fixed

  • The plugin no longer caches various pointers. This prevents bad memory accesses in cases when the schema gets updated between calls, which can happen after a map change for various reasons. (#14)

don't be surprised if you wake any bears while poking around memory with a large stick (0.18.1)

18 Nov 06:22
Compare
Choose a tag to compare

Bug fix update.

ℹ️ Users are recommended to update if they have plugins that rely on paintkit definition natives. If not, there is no need to.

Fixed

  • TF2Econ_GetPaintKitDefinitionList should no longer perform out-of-bounds reads within the object definition array. This resolves crashes observed on Windows servers as of the 2021-11-16 update. (#13)

send coffee pls

based on what? (0.18.0)

26 Oct 11:06
Compare
Choose a tag to compare

Relatively minor update with some new functionality. There is no urgent need to update.

If coming from an older version of the plugin, you will need to update tf2.econ_data.txt.

⚠️ Protobuf-related gamedata is reportedly broken as of the 2021-11-16 update. Everything else should be fine. (#13)

Added

  • Native TF2Econ_IsItemInBaseSet, which checks if the item is available to all players by default. (#12)
  • Native TF2Econ_GetMapDefinitionIndexByName, which returns a map definition index by its name. Primarily used if you intend to take advantage of the game's matchmaking level change system. Somehow. (#9)

Default dance

02 Nov 00:47
Compare
Choose a tag to compare

Relatively minor update with some new functionality and a couple of deprecations. There is no urgent need to update.

If coming from an older version of the plugin, you will need to update tf2.econ_data.txt.

If you are on Windows, you are highly recommended to update tf2.econ_data.txt, regardless of your currently installed plugin version (the gamedata should be backwards compatible with all previous releases).

Added

  • Native TF2Econ_GetItemDefaultLoadoutSlot, which returns the default loadout slot for player classes that don't quite support the item normally.

Fixed

  • TF2Econ_TranslateAttributeNameToDefinitionIndex now only reads off 16 bits of data instead of 32. Attribute indices only use 16 bits of storage. This resolves a seemingly extremely rare issue where there is data in the MSB.

Changed / Deprecated

  • The CEconItemDefinition::m_aiItemSlot offset entry was finally renamed to CTFItemDefinition::m_aiItemSlot. We're arguing words at this point, but this was bothering me for a while. The old name will remain functional for backwards compatibility for the time being.
  • Native TF2Econ_GetItemSlot was renamed to TF2Econ_GetItemLoadoutSlot. There is no change in behavior; this just emphasizes the "loadout slot" concept in an attempt to remove the confusion between weapon slots (used in generic Source game handling) and loadout slots (an exclusively TF2 item schema construct). The old name will still map to the native and will not be removed entirely; this just adds a warning if a plugin is compiled with the newest version of the include file using that function.

The eco(n)system grows

13 Feb 14:15
Compare
Choose a tag to compare

This is a minor update.

If coming from an older version of the plugin, you will need to update tf2.econ_data.txt.

Fixed

  • TF2Econ_GetItemDefinitionAddress correctly returning null instead of the address of the special "default" item definition on invalid item definitions. If you specifically want that definition, call it with TF_ITEMDEF_DEFAULT. (#5)
    • This also fixes TF2Econ_IsValidItemDefinition always returning true.

Changed

  • Natives TF2Econ_GetItemDefinitionString and TF2Econ_GetAttributeDefinitionString now return bool instead of void; the return value is true if the output buffer is not as empty string (if you specify a non-empty default value, this should always be true). This allows authors to inline ifs instead of having to do a buffer[0] check each time.
  • Dropped dependency of tf2_stocks from the plugin, and in turn, the TF2 extension. We never really needed those anyways. The plugin still requires SDKTools for calling game functions. However, the include file still pulls in tf2_stocks, as TF2Econ_GetItemSlot does require a TFClassType value.
  • TF2Econ_GetItemStaticAttributes was modified to require new gamedata sizeof(static_attrib_t), which is used internally when the function iterates over the attribute list in memory. This is not actually necessary for TF2, but combined with dropping the dependency on the TF2 extension, this allows a semi-unified codebase for other games to build off of.
  • Many parameter names have been changed from defindex to either itemdef or attrdef, to better contextualize what definition indices are associated with the native. This is a breaking compile-time change if you were using named parameters for those.