Skip to content

Conversation

@garrettjoecox
Copy link
Contributor

@garrettjoecox garrettjoecox commented Dec 10, 2025

Proof of concept to allow the player to play custom animations placed at __OTR__objects/gameplay_keep/gPlayerAnim_link_emote_0-9 using the animation o2r tool by pressing their associated numkey.

Anchor transmits limb information over the network, so other players would see the emote play without needing to download anything on their end.

Ideally we implement some sort of emote wheel UI for this, but just using numkeys works for the proof of concept.

Build Artifacts

@Jepvid
Copy link
Contributor

Jepvid commented Dec 12, 2025

Found slight issue where animations ported from mm is put on a emote slot it actually plays to fast.

Replacing the idle animation on with a mm animation plays it back on normal speed

Video with emote pack i made with mm animations
https://discordapp.com/channels/808039310850130000/1019674502596141176/1448969197496434748

Kamaro mask dance on a idle slot
https://discordapp.com/channels/808039310850130000/1019674502596141176/1448991531473305631

@briaguya0
Copy link
Contributor

if i'm understanding this correctly, with this implementation the only way to "configure" emotes is by changing the files in the mod o2r

i totally get that as a PoC, just trying to think through what we'd want for this to be ready to land

first things that come to my mind:

  • default to a set of built-in animations (so everyone can emote without installing mods)
  • add a way to configure which emotes go to which hotkey
  • ideally move away from using imgui key handling (this might be the thing that gets me to finally figure out what it'll take to allow assigning actions to chords in the input editor)

@garrettjoecox
Copy link
Contributor Author

Right, definitely this is just proving what's possible. I think ideally we have an ImGui configuration menu where you can choose any loaded animation (provided by a mod o2r or the games o2r) to be in a number of slots, then while you are in game we have a button binding that brings up a radial wheel and they can use their analog stick to chose which slot to play. How that button is bound is probably beyond the scope here, but I'm not in a rush to get this merged

@serprex serprex requested a review from briaguya0 December 30, 2025 22:27
@briaguya0
Copy link
Contributor

overall this is looking really cool and clean!

i played around with the build locally, noticed a few things

emotes added to the main settings menu

i think it looks decent there, but i don't want to set the precedent for adding more things there, we should find a better home for it

image

names aren't very user-friendly

i don't think this is a blocker, and i can definitely see how much worse it could be if GetAnimationDisplayName wasn't doing the cleanup it already is, but it'd be good to have even friendlier names. maybe it'd be possible to add a "user friendly name" somewhere in the o2r?

image

the "search animations" UX feels odd

i think this boils down to:

  • no feedback when searching
  • search impacts all of the dropdowns
  • things feel strange when you've picked something in a dropdown but it's filtered out by your search

@Malkierian
Copy link
Contributor

2ship has a function that makes stringified enums more user-readable, iirc. Could port that back here for this.

Also, I could have sworn I saw someone figured out integrated dropdown searching. If we could find out where that was, that could be implemented for these (and, if we can find that, I'd love them to be implemented in the audio editor too if possible).

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.

4 participants