PanteraPolnocy
aa95587aae
FIRE-36811 FS AO: "Always" state breaks on region TP or sitting on an object that provides animation
...
Signed-off-by: PanteraPolnocy <panterapolnocy@gmail.com >
2026-07-01 12:21:36 +02:00
PanteraPolnocy
6da9a924f5
Attempt to fix FS AO sets not loading after viewer update with cold inventory cache (or slow/lazy one in general)
...
FIRE-36340 split AOEngine::update() into discovery and setsToWrite work loops, but only new sets were queued for loading.
If a set was created before inventory finished fetching, later polls kept running yet never re-processed that incomplete set, leaving AO empty until hiting Reload button.
This one-liner re-queues incomplete existing sets into setsToWrite so they load on the next poll, restoring pre-refactor behaviour.
Also fixed a log message typo. ~
Signed-off-by: PanteraPolnocy <panterapolnocy@gmail.com >
2026-06-29 18:56:45 +02:00
Zi Ree
81f12403f9
Linux: fix build issues, for some reason, Always can not be used in an enum
2026-06-11 19:02:20 +02:00
PanteraPolnocy
48c057cfe6
Heavy FS AO system modifications
...
NEEDS TESTING. Despite my best efforts and deeming this beta-ready it may still contain some bugs.
- Independent tracks per animation state - multiple of these can be played at the same time
- Animation groups - again, at the same time, but only as grouped with selected animations
- "Always played" quasi-state that can be used for bento ears, tails etc.
- Context menus on the animations list
- Tried to keep it backwards compatible
Credits given where credits are due:
Poked Zi Ree few times for opinions, suggestions and ideas - thanks!
Signed-off-by: PanteraPolnocy <panterapolnocy@gmail.com >
2026-06-11 18:43:42 +02:00
Ansariel
fd05a50ff3
Can use std::string_view here
2026-06-04 21:41:57 +02:00
PanteraPolnocy
72dfe6431c
Add an option to clone AO set
...
Signed-off-by: PanteraPolnocy <panterapolnocy@gmail.com >
2026-06-04 18:02:46 +02:00
Ansariel
83e0643fd7
Small optimizations
2026-02-05 19:03:05 +01:00
Hecklezz
cfe7cef2b8
Fix incorrectly named variable from FS AO default set change
2026-02-05 18:59:59 +10:00
Hecklezz
d4876a1f77
[FIRE-36340] FS AO loads default set at login again unless no default is selected, then loads last sessions AO set
2026-02-05 18:38:48 +10:00
Ansariel
87c11699b8
Reset cycle timer of AO if manually switching pose + more refactoring
2026-01-23 21:15:57 +01:00
Ansariel
0fe67cddcc
Fix crash at logout
2025-12-02 00:48:54 +01:00
Ansariel
8da32f68dc
Make AO not only remember current set name, but also current animation for each state
2025-11-30 16:23:22 +01:00
Ansariel
762f6431ec
Remember selected AO set across sessions instead of constantly overriding it with either the default set or first set in list at login
2025-11-26 23:40:34 +01:00
chanayane
a2b59ce6f7
fix potential crashes in AO panel when double-clicking (should fix FIRE-35293)
2025-05-12 00:52:39 +02:00
chanayane
4cc13c102d
fix potential crash if item doesn't exist in inventory
2025-05-07 22:19:58 +02:00
Ansariel
f2244decff
Allow fractional cycle times for internal AO
2025-02-17 13:07:27 +01:00
chanayane
664f8178ac
fix crash when double-clicking animation in a different state than active state
2025-01-30 00:27:20 +01:00
chanayane
c5521b404a
aoengine.cpp: fix useless use of pointer
2025-01-29 22:00:45 +01:00
chanayane
656e910db8
Double click on animation in AO
2025-01-28 01:34:19 +01:00
Ansariel
088cc2ea35
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcommon/llpointer.h
# indra/llcommon/llqueuedthread.cpp
# indra/llfilesystem/llfilesystem.cpp
# indra/llui/llconsole.cpp
# indra/llui/llkeywords.cpp
# indra/llui/llstatgraph.cpp
# indra/llui/llvirtualtrackball.cpp
# indra/newview/llagentcamera.cpp
# indra/newview/llappviewer.cpp
# indra/newview/llfloateremojipicker.cpp
# indra/newview/llfloaterimnearbychathandler.cpp
# indra/newview/llfloatersettingsdebug.cpp
# indra/newview/llfloatersnapshot.cpp
# indra/newview/llglsandbox.cpp
# indra/newview/llnetmap.cpp
# indra/newview/llpanelface.cpp
# indra/newview/llpanelpermissions.cpp
# indra/newview/llpanelplaceprofile.cpp
# indra/newview/llstartup.cpp
# indra/newview/llviewermessage.cpp
# indra/newview/llvocache.cpp
# indra/newview/llworldmapview.cpp
2024-07-09 02:25:42 +02:00
Ansariel
a17fd2352a
Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcharacter/llkeyframemotion.cpp
# indra/llcharacter/llmotioncontroller.cpp
# indra/llcrashlogger/llcrashlogger.cpp
# indra/llimage/llimagetga.cpp
# indra/llmessage/llregionflags.h
# indra/llprimitive/lldaeloader.cpp
# indra/llprimitive/llmodel.cpp
# indra/llrender/llrendertarget.cpp
# indra/llui/llconsole.cpp
# indra/llui/llkeywords.cpp
# indra/llui/llscrolllistctrl.cpp
# indra/llui/lltextbase.cpp
# indra/llui/lltexteditor.cpp
# indra/llui/llurlentry.cpp
# indra/newview/llappearancemgr.cpp
# indra/newview/llappviewer.cpp
# indra/newview/llfloaterworldmap.cpp
# indra/newview/llgiveinventory.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llpanelpeople.cpp
# indra/newview/llpanelpermissions.cpp
# indra/newview/llpanelteleporthistory.cpp
# indra/newview/llvocache.cpp
2024-06-09 16:11:24 +02:00
Ansariel
0ecfbc3de9
Merge remote-tracking branch 'LGPL/master'
...
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llappearance/llwearable.cpp
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llgroupactions.cpp
# indra/newview/llimpanel.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpaneleditwearable.cpp
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewermenu.cpp
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
2024-05-16 14:10:55 +02:00
Ansariel
5f1a19af72
Merge remote-tracking branch 'LL/marchcat/x-ws-merge'
...
# Conflicts:
# autobuild.xml
# indra/linux_crash_logger/llcrashloggerlinux.cpp
# indra/newview/llappviewerlinux_api.h
# indra/newview/llappviewerlinux_api_dbus.cpp
# indra/newview/llappviewerlinux_api_dbus.h
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llcallbacklist.cpp
# indra/newview/llimpanel.h
2024-05-01 12:30:57 +02:00
Ansariel
b71c7f37ea
Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/llagent.cpp
# indra/newview/llagent.h
# indra/newview/llagentcamera.cpp
# indra/newview/llagentcamera.h
# indra/newview/llappviewer.cpp
# indra/newview/llappviewerlinux_api_dbus.cpp
# indra/newview/llappviewerwin32.cpp
# indra/newview/llattachmentsmgr.cpp
# indra/newview/llattachmentsmgr.h
# indra/newview/llavataractions.cpp
# indra/newview/llcallingcard.cpp
# indra/newview/llcompilequeue.cpp
# indra/newview/llcontrolavatar.h
# indra/newview/lldirpicker.cpp
# indra/newview/lldrawpoolalpha.cpp
# indra/newview/lldrawpoolalpha.h
# indra/newview/lldrawpoolavatar.h
# indra/newview/lldynamictexture.cpp
# indra/newview/llfasttimerview.cpp
# indra/newview/llfavoritesbar.cpp
# indra/newview/llfilepicker.cpp
# indra/newview/llfloateravatarpicker.cpp
# indra/newview/llfloaterbeacons.cpp
# indra/newview/llfloaterbvhpreview.cpp
# indra/newview/llfloatercamera.cpp
# indra/newview/llfloaterchangeitemthumbnail.cpp
# indra/newview/llfloaterdisplayname.cpp
# indra/newview/llfloatergotoline.cpp
# indra/newview/llfloaterimnearbychathandler.cpp
# indra/newview/llfloaterland.cpp
# indra/newview/llfloaterpreference.cpp
# indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
# indra/newview/llfloaterscriptdebug.cpp
# indra/newview/llfloatersettingsdebug.cpp
# indra/newview/llfloatersnapshot.cpp
# indra/newview/llfloatertools.cpp
# indra/newview/llfloatertools.h
# indra/newview/llfloateruipreview.cpp
# indra/newview/llfloaterworldmap.cpp
# indra/newview/llgesturemgr.cpp
# indra/newview/llgiveinventory.cpp
# indra/newview/llglsandbox.cpp
# indra/newview/llgroupactions.cpp
# indra/newview/llhudeffectlookat.cpp
# indra/newview/llhudeffectlookat.h
# indra/newview/llhudicon.cpp
# indra/newview/llhudmanager.cpp
# indra/newview/llhudtext.cpp
# indra/newview/llhudtext.h
# indra/newview/llimprocessing.cpp
# indra/newview/llimview.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventorymodel.cpp
# indra/newview/llinventorymodel.h
# indra/newview/llinventorypanel.cpp
# indra/newview/llinventorypanel.h
# indra/newview/lllocalbitmaps.cpp
# indra/newview/lllogininstance.cpp
# indra/newview/llmaniptranslate.cpp
# indra/newview/llmodelpreview.cpp
# indra/newview/llmodelpreview.h
# indra/newview/llmutelist.cpp
# indra/newview/llnavigationbar.cpp
# indra/newview/llnavigationbar.h
# indra/newview/llnetmap.cpp
# indra/newview/llnetmap.h
# indra/newview/llnotificationlistitem.cpp
# indra/newview/lloutputmonitorctrl.cpp
# indra/newview/llpanelcontents.cpp
# indra/newview/llpaneleditwearable.cpp
# indra/newview/llpanelexperiencepicker.cpp
# indra/newview/llpanelface.cpp
# indra/newview/llpanelgroup.cpp
# indra/newview/llpanelgroupnotices.cpp
# indra/newview/llpanelgrouproles.cpp
# indra/newview/llpanellandaudio.cpp
# indra/newview/llpanellandmarks.cpp
# indra/newview/llpanelmaininventory.cpp
# indra/newview/llpanelobject.cpp
# indra/newview/llpanelobject.h
# indra/newview/llpanelpeople.cpp
# indra/newview/llpanelpermissions.cpp
# indra/newview/llpanelplaces.cpp
# indra/newview/llpanelpresetspulldown.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofilepicks.cpp
# indra/newview/llpanelsnapshot.h
# indra/newview/llpanelvolume.cpp
# indra/newview/llpanelwearing.cpp
# indra/newview/llpreviewanim.cpp
# indra/newview/llpreviewgesture.cpp
# indra/newview/llpreviewnotecard.cpp
# indra/newview/llpreviewscript.cpp
# indra/newview/llpreviewscript.h
# indra/newview/llpreviewtexture.cpp
# indra/newview/llpreviewtexture.h
# indra/newview/llselectmgr.cpp
# indra/newview/llsidepaneliteminfo.cpp
# indra/newview/llsidepaneltaskinfo.cpp
# indra/newview/llsnapshotlivepreview.cpp
# indra/newview/llstartup.cpp
# indra/newview/llstatusbar.cpp
# indra/newview/llsurface.h
# indra/newview/llsurfacepatch.cpp
# indra/newview/lltexturecache.h
# indra/newview/lltexturectrl.cpp
# indra/newview/lltexturefetch.cpp
# indra/newview/lltoastimpanel.cpp
# indra/newview/lltoolbarview.cpp
# indra/newview/lltooldraganddrop.cpp
# indra/newview/lltoolface.cpp
# indra/newview/lltoolfocus.cpp
# indra/newview/lltoolgrab.cpp
# indra/newview/lltoolgun.cpp
# indra/newview/lltoolgun.h
# indra/newview/lltoolpie.cpp
# indra/newview/lltoolplacer.cpp
# indra/newview/lltoolselect.cpp
# indra/newview/lluploaddialog.cpp
# indra/newview/llviewerassetupload.cpp
# indra/newview/llvieweraudio.cpp
# indra/newview/llviewerdisplay.cpp
# indra/newview/llviewerfoldertype.cpp
# indra/newview/llviewerinput.cpp
# indra/newview/llviewermenu.cpp
# indra/newview/llviewermenu.h
# indra/newview/llviewermenufile.cpp
# indra/newview/llviewermessage.cpp
# indra/newview/llviewerobject.cpp
# indra/newview/llviewerobject.h
# indra/newview/llviewerobjectlist.cpp
# indra/newview/llviewerobjectlist.h
# indra/newview/llviewerparcelmgr.cpp
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewerregion.cpp
# indra/newview/llviewerregion.h
# indra/newview/llviewershadermgr.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexlayer.h
# indra/newview/llviewertexture.cpp
# indra/newview/llviewertexture.h
# indra/newview/llviewertexturelist.h
# indra/newview/llviewerwindow.cpp
# indra/newview/llviewerwindow.h
# indra/newview/llvoavatar.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvoavatarself.cpp
# indra/newview/llvoavatarself.h
# indra/newview/llvoiceclient.h
# indra/newview/llvosky.cpp
# indra/newview/llvosurfacepatch.cpp
# indra/newview/llvotree.cpp
# indra/newview/llvovolume.cpp
# indra/newview/llvovolume.h
# indra/newview/llvowater.cpp
# indra/newview/llworld.cpp
# indra/newview/llworldmapview.cpp
# indra/newview/llworldmipmap.cpp
# indra/newview/pipeline.cpp
2024-02-22 11:43:04 +01:00
Ansariel
9a044f4a52
Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llappearance/llavatarappearance.cpp
# indra/llappearance/llavatarappearance.h
# indra/llappearance/lldriverparam.h
# indra/llappearance/llviewervisualparam.cpp
# indra/llaudio/llaudiodecodemgr.cpp
# indra/llcharacter/llcharacter.cpp
# indra/llfilesystem/llfilesystem.cpp
# indra/newview/llagent.cpp
# indra/newview/llcallbacklist.cpp
# indra/newview/llfloaterpreference.cpp
# indra/newview/llpanelnearbymedia.cpp
# indra/newview/llpanelnearbymedia.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvovolume.cpp
# indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml
2024-02-13 00:54:24 +01:00
Zi Ree
bb69ff2e6a
Add nullptr check to AO as crash prevention
2024-01-12 04:20:53 +01:00
Zi Ree
58338af8c2
FIRE-33492 - FS AO does not allow to delete single animations
2023-12-10 02:14:09 +01:00
Zi Ree
a08e50354f
FIRE-33300 - FS AO doesn't load animations on login
2023-12-02 07:54:55 +01:00
Zi Ree
c801eb7678
FIRE-33414 - fix animation overrider not being able to add animations to empty states
2023-11-29 22:42:56 +01:00
Beq
2aa11e6383
FIRE-33384 - AO updates. Make pernickety compilers happy.
2023-11-23 18:50:49 +00:00
Zi Ree
f4fb4cdb75
FIRE-33384 - Fix notecard import for animation overrider
2023-11-23 00:25:06 +01:00
Ansariel
49e44d817b
Random changes just for our leecher friends :)
2023-11-02 21:54:18 +01:00
Ansariel
2180c2a443
Merge branch 'DRTVWR-567' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llui/llfolderviewitem.cpp
# indra/llui/llfolderviewitem.h
# indra/newview/app_settings/settings.xml
# indra/newview/llaisapi.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventorymodel.h
# indra/newview/llinventorymodelbackgroundfetch.cpp
# indra/newview/llinventorymodelbackgroundfetch.h
# indra/newview/llsidepanelinventory.cpp
# indra/newview/skins/default/xui/en/panel_main_inventory.xml
2023-03-20 18:15:38 +01:00
Ansariel
419a2bfe11
Some loop refactoring and index out of bounds protection
2022-08-15 18:05:16 +02:00
Zi Ree
d6b7227b2e
Better way to make the AO start up correctly, also fixes stuck transient animations since the last changes
2021-11-24 06:10:12 +01:00
Zi Ree
aba2fb35bc
Cleanup, animation variable was LLUUID::null in many places anyway so moved it further down and replaced all uses where it wasn't initialized yet with actual LLUUID:null objects to make reading clearer
2021-11-24 01:53:26 +01:00
Zi Ree
b272809fa1
Small cleanup, remove unnecessary variable
2021-11-24 01:36:22 +01:00
Zi Ree
b2bb14a008
Make AOEngine debug messages a bit easier to read.
2021-11-24 01:26:17 +01:00
Zi Ree
ea8bd610e5
FIRE-29712 - fix avatar position breaking on seats that use sit_ground when toggling AO enable
2021-11-21 19:37:49 +01:00
Zi Ree
d341c8fa92
FIRE-1213: make AO startup on login and on/off toggle more robust
2021-11-20 19:21:49 +01:00
Ansariel
6b6b116fd4
Merge branch 'master' of https://bitbucket.org/lindenlab/viewer
2021-03-03 00:20:02 +01:00
Zi Ree
57a1365eda
FIRE-24160 FIRE-9305 Show AO enabled/disabled messages in local chat where appropriate, don't allow scripts to enable the AO when it was disabled before, scripts can only pause the AO/AO stands, not disable them for good.
2021-02-07 00:55:12 +01:00
Ansariel
2a997d6edc
More possible crash fixes in internal AO plus additional refactoring
2020-10-25 14:00:40 +01:00
Ansariel
f9d8467d1e
Crash fixes for internal AO contributed by Rye Mutt plus some additional minor refactoring
2020-10-25 05:05:10 +01:00
Nicky Dasmijn
a4a88f66cc
Remove superfluous nullptr check.
2020-06-14 20:43:12 +02:00
Ansariel
22ac7edd6e
FIRE-20414 / FIRE-29342: Add option to protect folders from getting moved or deleted
2020-04-14 17:03:26 +02:00
ziree
01c69e2b20
Several AO fixes for sitting, smart sit and region crossing - FIRE-15059, FIRE-16230, FIRE-22471
2019-10-26 16:24:49 +02:00
ziree
756716d6c6
Fix typo that freezes the viewer on startup ... ouch ...
2019-10-20 18:03:40 +02:00
ziree
8a476035ec
Make linden water transition for FS AO more robust, add some safety checks for stuck animations - FIRE-6605 FIRE-15350 FIRE-21937 FIRE-8099 possibly FIRE-14925
2019-10-20 16:44:47 +02:00
ziree
5df66899c4
Make sure smart sit in animation overrider works for child prim seats, too
2019-07-04 01:43:34 +02:00