View Issue Details

IDProjectCategoryView StatusLast Update
0000601Gameplay + OpenGL[All Projects] Featurepublic2017-04-30 19:24
ReporterXaser 
Assigned ToGraf Zahl 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionopen 
PlatformPCOSWindowsOS Version7
Summary0000601: A_SpriteOffset
DescriptionA_SpriteOffset is like A_WeaponOffset, except it applies offsets to the Actor's world sprite (relative to whatever offsets are set on the sprite lump itself, of course). 'Nuff said... ish.

- - -

I did some research a while back on if this is is reasonably doable in-engine (since sprite offsets are stored in the texture and I'm not sure if there's some easy+performant way of snagging an additional offset from the Actor as well), but my results were inconclusive. It came to mind again, so I figure it's worth posing the question to the experts to get a hard yes/no.

Side-note: My own use case is to oust the TEXTURES shenanigans I'm doing in DamNums [ https://forum.zdoom.org/viewtopic.php?f=46&t=55048 ] to get multi-digit numbers to work without futzing with aligning each digit in world-space, relative to the player, in a multiplayer-safe fashion. Yukko.

[BTW, I know we're in "feature freeze" mode; just getting a bead on if this is even engine-feasible before pursuing other avenues of exploration for DamNums.]
TagsNo tags attached.

Relationships

Activities

Graf Zahl

Graf Zahl

2017-04-19 04:26

administrator   ~0001458

This will be a bit tricky. The offset is a texture property so messing around with it can become a problem if textures are getting replaced and afterward the offsets no longer match.

Definitely not for 3.0.
Xaser

Xaser

2017-04-19 10:46

developer   ~0001461

"Tricky" is more promising than "Impossible". :P

[Pre-disclaimer for the below text: I could be misunderstanding how something works, since this part of the codebase is all pretty new to me.]

The troublesome bit conceptually is that it doesn't seem safe to actually modify the offsets on the texture -- if you've got two imps side-by-side displaying TROOA1 and one of them calls A_SpriteOffset, wouldn't it affect both actors? Seems more like the question would be "Can we pass this piece of actor data to the renderers?"

Looking into it a bit more, this at least seems easy to do in the software renderers (standard and SoftPoly) since the relevant functions both have AActor pointers handy for consumption. It's GL I'm worried about.

Issue History

Date Modified Username Field Change
2017-04-18 23:24 Xaser New Issue
2017-04-19 04:26 Graf Zahl Note Added: 0001458
2017-04-19 10:46 Xaser Note Added: 0001461
2017-04-20 07:20 Graf Zahl Assigned To => Graf Zahl
2017-04-20 07:20 Graf Zahl Status new => on hold
2017-04-30 19:24 Rachael Status on hold => closed