🆙 Added animations: Move, Wave, Talk, Sign, Respect, Blow, Laugh, Swim, Float.to default

This commit is contained in:
DuckieTM
2026-03-21 19:01:03 +01:00
parent cda331dbb9
commit 285c38ad17
3 changed files with 488 additions and 3 deletions
@@ -97,7 +97,7 @@ export class AvatarAssetDownloadManager
const downloadLibrary = new AvatarAssetDownloadLibrary(libraryName, revision, downloadUrl, this._assets);
for(const part of library.parts)
for(const part of (library.parts || []))
{
const id = (part.id as string);
const type = (part.type as string);
+17 -2
View File
@@ -24,6 +24,7 @@ export class AvatarImageCache
private _canvas: AvatarCanvas;
private _disposed: boolean;
private _geometryType: string;
private _defaultAction: string = 'std';
private _unionImages: ImageData[];
private _matrix: Matrix;
@@ -140,6 +141,7 @@ export class AvatarImageCache
{
this._geometryType = k;
this._canvas = null;
this._defaultAction = (k === GeometryType.HORIZONTAL) ? 'lay' : 'std';
return;
}
@@ -147,7 +149,8 @@ export class AvatarImageCache
this.disposeInactiveActions(0);
this._geometryType = k;
this._canvas = null;
this._canvas = null;
this._defaultAction = (k === GeometryType.HORIZONTAL) ? 'lay' : 'std';
}
public getImageContainer(key: string, frameNumber: number, forceRefresh: boolean = false): AvatarImageBodyPartContainer
@@ -330,7 +333,19 @@ export class AvatarImageCache
if(!asset)
{
assetName = (this._scale + '_std_' + partType + '_' + partId + '_' + assetDirection + '_0');
assetName = (this._scale + '_' + assetPartDefinition + '_' + partType + '_' + partId + '_' + assetDirection + '_0');
asset = this._assets.getAsset(assetName);
}
if(!asset)
{
assetName = (this._scale + '_' + this._defaultAction + '_' + partType + '_' + partId + '_' + assetDirection + '_' + frameNumber);
asset = this._assets.getAsset(assetName);
}
if(!asset)
{
assetName = (this._scale + '_' + this._defaultAction + '_' + partType + '_' + partId + '_' + assetDirection + '_0');
asset = this._assets.getAsset(assetName);
}
@@ -1,5 +1,475 @@
export const HabboAvatarAnimations = {
'animations': [
{
'id': 'Default',
'parts': [
{
'setType': 'bd',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'bds',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'lg',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'sh',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'ch',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'cc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'lc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'rc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'lh',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'lhs',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'rh',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'rhs',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'ls',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'rs',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'he',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
},
{
'setType': 'wa',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
}
]
},
{
'id': 'Sit',
'parts': [
{
'setType': 'bd',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'bds',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'lg',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'sh',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'ch',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'cc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'lc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'rc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'sit' },
{ 'number': 1, 'assetPartDefinition': 'sit' },
{ 'number': 2, 'assetPartDefinition': 'sit' },
{ 'number': 3, 'assetPartDefinition': 'sit' },
{ 'number': 4, 'assetPartDefinition': 'sit' },
{ 'number': 5, 'assetPartDefinition': 'sit' },
{ 'number': 6, 'assetPartDefinition': 'sit' },
{ 'number': 7, 'assetPartDefinition': 'sit' }
]
},
{
'setType': 'wa',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'std' },
{ 'number': 1, 'assetPartDefinition': 'std' },
{ 'number': 2, 'assetPartDefinition': 'std' },
{ 'number': 3, 'assetPartDefinition': 'std' },
{ 'number': 4, 'assetPartDefinition': 'std' },
{ 'number': 5, 'assetPartDefinition': 'std' },
{ 'number': 6, 'assetPartDefinition': 'std' },
{ 'number': 7, 'assetPartDefinition': 'std' }
]
}
]
},
{
'id': 'Lay',
'parts': [
{
'setType': 'bd',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'bds',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'lg',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'sh',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'ch',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'cc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'lc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'rc',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'wa',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
},
{
'setType': 'he',
'frames': [
{ 'number': 0, 'assetPartDefinition': 'lay' },
{ 'number': 1, 'assetPartDefinition': 'lay' },
{ 'number': 2, 'assetPartDefinition': 'lay' },
{ 'number': 3, 'assetPartDefinition': 'lay' },
{ 'number': 4, 'assetPartDefinition': 'lay' },
{ 'number': 5, 'assetPartDefinition': 'lay' },
{ 'number': 6, 'assetPartDefinition': 'lay' },
{ 'number': 7, 'assetPartDefinition': 'lay' }
]
}
]
},
{
'id': 'Move',
'parts': [