Skip to content

Fixes #434#435

Merged
UncraftedName merged 1 commit intoOutOfBoundsOffice:masterfrom
UncraftedName:fix_ent_prop_strings
Feb 27, 2026
Merged

Fixes #434#435
UncraftedName merged 1 commit intoOutOfBoundsOffice:masterfrom
UncraftedName:fix_ent_prop_strings

Conversation

@UncraftedName
Copy link
Contributor

@UncraftedName UncraftedName commented Nov 24, 2025

UntitledParser uses different send prop types for protocol versions 14 & below than for 15 & above. As far as I remember this corresponds with version 5135 (which is protocol 15) - that has a DPT_VectorXY field. This adjustment takes care of strings which previously showed up as "enable to parse" since they were treated as DPT_Array. Also, the cast for DPT_String was incorrect which fixes #434.

Tested spt_hud_ent_info 0,.* on portal 5135 & 3420.

@UncraftedName
Copy link
Contributor Author

Seems to be broken on 4104
image

@UncraftedName UncraftedName marked this pull request as draft December 6, 2025 17:51
- add ability to iterate through DPT_DataTable

- add spt_hud_ent_info_recurse to control recursing datatables
@UncraftedName
Copy link
Contributor Author

I finally dug into this a bit more.

In addition to the fix mentioned above, many of the mysteries of datatables are no longer as mysterious if you see that some of the properties have proxy functions. These proxy functions may:

  • grab only some bytes of the field (e.g. some props which are DPT_Int are ints, some are bools (RecvProxy_Int32ToInt8), etc)
  • adjust the data (e.g. m_flSimulationTime goes through RecvProxy_SimulationTime)
  • call functions on the entity and write directly to the entity field

Because of the last point, it's not possible to call these proxy functions to obtain the "actual" values, so some of them appear broken when displayed. There's also a lot of them, so it's not viable to write custom wrappers (like I tried to do in UntitledParser).

Anyways, I also added the ability to iterate through recursive datatables but disabled it by default because there's a lot of garbage properties. This can be enabled with spt_hud_ent_info_recurse 1.

With spt_hud_ent_info_recurse 0:
image

With spt_hud_ent_info_recurse 1:
image

The player's fields with recursion:
image

Tested on 3420, 4104, 5135, & steampipe.

@UncraftedName UncraftedName marked this pull request as ready for review February 19, 2026 01:31
@UncraftedName UncraftedName merged commit f5fa2dc into OutOfBoundsOffice:master Feb 27, 2026
8 checks passed
@UncraftedName UncraftedName deleted the fix_ent_prop_strings branch February 27, 2026 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spt_hud_ent_info 0,.* crashes on Portal 3420

1 participant